Wiedza – linki do zagadnień

 

Dokąd prowadzi nasza droga? – Programowanie

Po przygodę!
Pies – drogi czy tani?
Programowanie to pasja, przygoda
– pies robot pilnuje Pompei
– 67 000 dolarów
– sprawdza podkopy, pilnuje czy ruiny są w dobrym stanie, stróżuje
– fantastyczna przyszłość przed nami / po to się przygotowujemy
– mnóstwo programowania / algorytmika
– pisząc programy, startując w Olimpiadzie przygotowujemy się do takich projektów
– szukać otwartych projektów
– zadania, challenge to jest ta droga
https://youtu.be/p8INEVvQjSw?t=55

Historia pewnego ucznia:

– rok po olimpiadzie
– czasami
– usprawnił pakowanie paczek
– znalazł algorytm który zmniejszał ilość paczek o 10%
– nasza przygoda będzie trwać – w Polsce, za granicę
– samochody, kilometry, centra dyspozycyjne – wszędzie nas potrzeba
– przed nami przszyłość – hackatony, challenge – firmy nas potrzebują
https://youtu.be/Ct7Fk6bExyI?t=69

Historia Alicji Kluczek – uczestniczki Olimpiad:
– teraz Alicja na Uniwersytecie Warszawskim rozwiązuje problem Komiwojażera
– trzeba rozwieść towary i wrócić do miejsca początkowego
– chciałby by ta trasa i czas była jak najkrótsze – paliwo, koszty, optymalizacja
– NP trudny, wykładniczy
– Alicja wraz z zespołem rozwiązała go nie deterministycznie
– poznaliśmy gąsienice, binary search – dające pewny, optymalny wynik
– algorytmy heurystyczne dają wynik z pewnym przybliżeniem, z pewnym prawdopodbieństwem
– zastosowała heury by znaleźć optymalną trasę wielu komiwojażerów, przy ograniczonej pojemności ciężarówek, przy zmieniającej się liczbie sklepów/punktów – dochodzą, zamykane
– algorytm musi się dostosowywać do życia
– realny problem
– fascynująca sprawa
– czy są firmy które by chciały zaimplementować ten algorytm
– jak o 10% skrócimy drogę ciężarówek w firmie która tysiące ciężarówek to dziennie będą setki tysiące oszczędności, rocznie miliony oszczędności
– również benefit dla nas
– wielka radość dla wszystkich
– po Olimpiadzie będzie nadal zajmować się rozwiązywaniem problemy
– nadal będziemy rozwiązywać problemy tylko już te realne
– używają tych samych metod lub innych
– już będziemy wiedzieli o co chodzi
– problem jest wykładniczy
– żeby znaleźć drogę dla 100 sklepów – 2^100 operacji
 – żeby znaleźć drogę dla 1000 sklepów – 2^1000 operacji
https://youtu.be/gEgsWnMbBNs?t=65
Pokazać! WOW! – przyspieszamy działanie komputera
Gigantyczne liczby, komputery by to liczyły miliony lat
– wtedy tak fantastyczne osoby jak Alicja jak my są potrzebne
– komputerze, tak tego nie będziemy robić bo nie mamy milionów lat, nie damy rady
– zobacz zrobimy to lepiej
https://youtu.be/gEgsWnMbBNs?t=252
WOW POKAZAĆ
Niech świat powie WOW!
I wtedy świat powie wow!
Jesteśmy czarodziejami!
– ten program liczył się tak długo a teraz liczy się ułamek sekundy!!!
– dziś też coś takiego zrobimy!
https://youtu.be/gEgsWnMbBNs?t=267
Sieć neuronowa

– twarz która nie istnieje
– tworzą obrazy, teksty, komentarze, obrazy
– tygrysek który zrobił mój uczeń
– w kolejnym roku będziemy generować takie rzeczy
– na kursie programowanie od podstaw lub dedykowanym kursie
– dlaczego niewyraźny obrazek tygrysa? – mała moc w jego komputerze
https://youtu.be/UtChFU2loWk?t=301

Przyszłość jest nasza!

– tworzenie sieci neuronowych nie jest trudne, daje fun, daje możliwości, pomaga
– jeśli kochamy programowanie, rozwiązywanie problemów przy pomocy komputera – zapraszam, wakacje, każda sekunda, sami poszukajmy, odkrywajmy
– od września będziemy się tym zajmować
– przyszłość jest nasza, mierzmy wysoko
https://youtu.be/UtChFU2loWk?t=379

Dlaczego warto programować?

Dlaczego warto umieć programować – quiz:
https://youtu.be/zN3CApegsSY?t=609
Mogę pomóc, automatyzuję, jestem lepszy w grach – MAM FUN!

Chciałbym byście uwierzyli, że możecie, że przyszłość jest Wasza!
– nieważne czy mieszkacie w Mławie, Wrocławie, Kudowie
– Ci gignaci są w Waszym zasięgu
– oni będa prosić
– każdego dnia mocniejsi
– nie porównujemy się do kolegi koleżanki
– porównujemy się do siebie wczoraj
– czy zrobiłem zadanie o 10% mocniejsze
– przyszłość będzie nasza
https://youtu.be/DI0lRjXoCGc?t=1127

Dlaczego warto rozwiązywać problemy przy pomocy komputera?

Film – lew który tańczy na dachu budynku
https://youtu.be/cAQh5a4uBDw?t=31
Dlaczego jesteśmy potrzebni – latające parasolki, algorytmika, drony – nasza przyszłość:
https://youtu.be/NAPLYSpHlNU?t=39
Roboty autonomiczne:
https://youtu.be/Z6sdLhpdC2s?t=156
Kareta prowadzona przez roboty:
https://youtu.be/CMasYTVhIjQ?t=173
Bijące serce – rzeczywistość 3D:
https://youtu.be/uCOAsvGsD2k?t=22
oraz
https://youtu.be/9ue1ALMk6aE?t=3
Czy tylko przygotowujemy się do Olimpiady Informatycznej?
Systemy rozmawiające z klientami – nasza przyszłość:
https://youtu.be/kH-_PQyAs9A?t=65

Dokąd prowadzi nasza droga? Co daje Olimpiada?

Jesteśmy magami czarodziejami!
Zamiast 30 000 lat ułamek sekundy?
Co gdy przychodzi mocna osoba?
Przychodzi mocna osoba!
– to my
– mówimy policzymy szybciej
– jak szybciej jak to się liczy tydzień, nie przerywaj
– a my mówimy – Twoja metoda to tysiące lat, człowieku nie doczekasz
– pozwalają – nasz algorytm liczy ułamek sekundy
– jesteśmy magami czarodziejami
– wielka radość, wielka satysfakcja, pomogliśmy
– wszystko czego się nauczyliśmy dzięki tej Olimpiadzie się przydało
– NWD – prosty algorytm który pokazuje moc algorytmiki, myślenia, pomysłu, popatrzenia na problem zanim go rozwiążemy
https://youtu.be/wQ-txOToh8g?t=137

Olimpiada to droga która będzie trwać!
– przyspieszamy działanie komputera milion razy!
– będziemy znajdować leki, strategie
https://youtu.be/Ct7Fk6bExyI?t=16

Pomoc dla osób starszych – choroby, starzenie.
Komputery są wolne, potrzeba naszych pomysłów, Olimpiady.
https://youtu.be/K7fZfJ8nN6A?t=109
Pasja, czas – to na co poświęcamy czas jest dla nas najciemniejsze.
Szacunek dla tych którzy mają ogień, którym się chce!
https://youtu.be/I_Dr_vEnt2A?t=9206

Dokąd prowadzi nasza droga – programowanie:
Programowanie to pomaganie! https://youtu.be/fHBNQyMf-Tc?t=13
– medycyna, kosmos
– zarobki
– senior / wnikanie / błędy
– olimpiady
Co możemy robić jako programiści? – tworzyć programy, automatyzować, pomagać, analizować dane:
https://youtu.be/b5qWOUnM-fk?t=07
Pisanie gier czy fajne – opinie uczestników
https://youtu.be/34qu4l2B5dI?t=3633
Jest sens programować!
Pierwsze zajęcia – ile kodu, pomagamy:
https://youtu.be/SfZS7r0ebGQ?t=9

Matematyka

Matematyka!
– Jaki jest dla nas wniosek?
– sieci neuronowe to czysta matematyka
– mieliśmy zbiór danych / znaleźliśmy równanie
– idealne połączenie matematyki i informatyki- równanie i znalezienie jego parametrów
– oczywiście wolimy mówić o neuronie / rozpływać się
– ale prawda jest taka, że jest to równanie matematyczne
https://youtu.be/UtChFU2loWk?t=5386

Sieci neuronowe

Dlaczego robimy sieci neuronowe?
O co chodzi w sieciach neuronowych?
Dlaczego nie napiszemy po prostu programu?
Czy możemy użyć  po prostu warunku if / jeżeli
– pokazać
– pytanie kaliny
– jeśli wysokość większa to ciężarówka a jeśli szerokość większa to ciężarówka
– ale wtedy naszą wiedz przeniesiemy na komputer
– ale my nie chcemy przenosić naszej wiedzy na komputer
– chcemy żeby sieć neuronowa sama się nauczyła
– dajemy jej ileś przykładów i ma się nauczyć a potem sama rozpoznawać
– dlaczego tak chcemy – przecież to proste – dla innych problemów, wielu znaków, dla problemów których nie znamy odpowiedzi, ona ma nam dać odpowiedź (rasy psów, zdolność kredytowa)
– ona ogarnie coś czego my nie zrobimy, przewidzi pewne wartości
– nie chcemy if-ów, nie chcemy przelać naszej wiedzy
– chcemy by do tej wiedzy doszła sama – na prostym przykładzie – na trudniejszych też dojdzie sama
– ona sama ma się nauczyć
https://youtu.be/UtChFU2loWk?t=1301

Challenge
Jak nauczyć się programować?
Żeby nauczyć się programować trzeba pisać programy!
– najważniejszy element to challenge
– żeby nauczyć się grać w piłkę trzeba w nią grać
– trzeba trenować zwody
– to co nauczyliśmy się trzeba sprawdzić w prawdziwym meczu – u nas challenge!
– to zadanie które sami zrobimy
– dziękuję za każde zadanie
– za każdą minutę nad pisaniem, debugowaniem, myśleniem
– dostaję maile zę nie działają programy
– duży nacisk kładziemy na to by wiedzieć co do nas mówimy kompilator, jak odczytać gdzie jest błąd
– jak nam pomaga znaleźć błąd
– piszmy programy

Challenge jest najważniejszy!
– sami robimy zadania
– popełniamy błędy
– najlepiej wykorzystany czas
– już drugi raz tą drogę nie pójdziemy
– jak najwięcej się mylić
– jeśli zrobimy te 4 zadania to najlepiej spędzony czas
– czy już widzimy postęp?
https://youtu.be/fHBNQyMf-Tc?t=132

Sukcesy Olimpijskiego Koła Informatycznego

Sukces OKI – 5 na 6 złotych medalistów brało udział w OKI!
– warto brać udział w zajęciach Mikołaja i Tomka
https://youtu.be/MF-R2qlOWRk?t=3405

Prace uczestników OKI
Film pokazujący gry stworzone przez uczestników OKI – gra Najeźdźcy z Kosmosu:
https://youtu.be/u1KqSeGaKic?t=23

Niesamowite rysunki w C++ stworzone przez uczestników OKI:
https://youtu.be/czZpBkzaFLw?t=78

Film pokazujący pierwszą grę stworzoną przez uczestników OKI – Bramkarz (uproszczona wersja ping pong):
https://youtu.be/fGYnmhlNkt8?t=49

Piękne animacje uczestników OKI:
https://youtu.be/9ja9sZV_2Vs?t=620


Jak się uczyć?
Zmieniać tematy których się uczymy! Nasz mózg NIGDY NIE może być w komforcie!
Jak przygotowywał się Mohamed Ali?
https://youtu.be/2RV8_naxzHE?t=9151

Myślimy nad zadaniami – bez względu czy wyjdzie czy nie.
Eksperymentujmy, popełniajmy błędy!
Odwagi w eksperymentowaniu!
https://youtu.be/dtJ55y8e5LI?t=5210

Błędy są super!
Są jak wycieczka rowerowa gdy wjechaliśmy w ślepą uliczkę ale znaleźliśmy piękne miejsce!
https://youtu.be/SfZS7r0ebGQ?t=2552
Obietnica!
3-4 zadania tygodniowo, 5 miesięcy i… będzie moc!
https://youtu.be/SfZS7r0ebGQ?t=2571

=================

Jak rozwiązywać zadania?

Wystarczy narysować!
– liczby są po kolei w wierszach / kolumnach
– kluczowa obserwacja zadania Sejf

 – zadanie można zrobić techniką na później
– każde pole jest definiowane jednoznacznie przez numer wiersza / kolumny
– zapamiętujemy które wiersze czy kolumny zostały zmienione
– zapamiętujemy nowa kolejność wierszy
– potem po kolei wypisujemy liczby
– symulacja – narysować
https://youtu.be/JJzOAD4SBpc?t=5886
Narysuj, obracaj, zobaczysz więcej!
– obydwa zadania Sejf / Piramida wymagały tylko pomysłu!
– być może Piramida kolejki monotonicznej, ale można też pomysłem
– Tomek narysował na kartce wiele przykładów
– wtedy zobaczył na kartce zależność, obrócił kartkę, zauważył, że teraz łatwo obliczyć kolejne wiersze, że większe zjadają mniejsze
– sejf – tu pomógł po prostu excel
https://youtu.be/JJzOAD4SBpc?t=6443
Zadanie: https://oki.org.pl/sejf
Zadanie: https://oki.org.pl/piramida
Jak ważny jest pomysł?

Liczy się pomysł!
– obydwa zadania Sejf / Piramida wymagały tylko pomysłu!
– być może Piramida kolejki monotonicznej, ale można też pomysłem
– Tomek narysował na kartce wiele przykładów
– wtedy zobaczył na kartce zależność, obrócił kartkę, zauważył, że teraz łatwo obliczyć kolejne wiersze, że większe zjadają mniejsze
– sejf – tu pomógł po prostu excel
https://youtu.be/JJzOAD4SBpc?t=6443
Zadanie: https://oki.org.pl/sejf
Zadanie: https://oki.org.pl/piramida

Zadania OKI – przykłady

CodingGame – nasza gra fantastycznie strzela:
https://youtu.be/34qu4l2B5dI?t=2912

Kahoot, quiz online i fragment kodu:
https://youtu.be/uCOAsvGsD2k?t=1849

Kahoot, quiz online, pytanie i wynik:
https://youtu.be/uCOAsvGsD2k?t=1778

Wykład Jowity Drozdowicz – przykład zajęć:
https://youtu.be/ZuXsLS8Gpls?t=2450

Wykład Mikołaja Bulge – przykład zajęć:
1: https://youtu.be/uTpHm5vhp90?t=1430
2: https://youtu.be/6tp_4dK4t3s?t=1512

Wspólnie piszemy kod – prowadzi Mikołaj Bulge:
https://youtu.be/uTpHm5vhp90?t=3512

Tomek Kwiatkowski pisze kod
https://youtu.be/Rz17jmhgoMM?t=2748

Zajęcia z USACO – przykład zajęć:
https://youtu.be/GUMHq8RmZj4?t=1436

Zajęcia z USACO – przykład zajęć:
https://youtu.be/I3woOiIWHjg?t=5178

Omawiamy zadania z I etapu OIJ – Olimpiady Informatycznej Juniorów:
https://youtu.be/AcWCajYtYoI?t=6775

=

Zajęcia OKI – Mamy radość!
Programowanie jest fantastyczne!
Pokazać Radość – krótkie – jedno zdanie
– pięknie nam wypisał 100 liczb!
– zgodzicie się ze to jest bardzo fajne
https://youtu.be/rZb8EsSnHU8?t=3744Wooooow! Dino grzeje do góry!
– Wielka RADOŚĆ
– JEEEEST! Skacze Jak skacze? On grzeje do góry jak szalony, w kosmos
–  To szaleństwo
– Jak rakieta NASA
– zmieniamy prędkość
https://youtu.be/VM_9vPIp3M4?t=6449
=
Challenge OKI – zadania do samodzielnego rozwiązania – przykłady
Przykład Challenge’a:
https://www.facebook.com/2247317372200511/posts/2883836845215224
Przykład Challenge’a:
https://www.facebook.com/2247317372200511/posts/2829967990602110
Przykład podpowiedzi do Challenge’a:
https://www.facebook.com/2247317372200511/posts/2828086734123569
Przykład podpowiedzi do Challenge’a:
https://www.facebook.com/2247317372200511/posts/2870482539883988=
Quizy Kahoot / Facebook
Mamy 100% poprawnych odpowiedzi w quizie Kahoot – fragment quizu na zajęciach youtube:
https://youtu.be/3E_EBxTygpo?t=770 
Mamy 100% poprawnych odpowiedzi w quizie Kahoot – post Facebook:
https://www.facebook.com/2247317372200511/posts/2874038772861698

Quiz – czy kod jest czysty?
https://www.facebook.com/2247317372200511/posts/2847660378832871

Statystyki Olimpijskiego Koła Informatycznego 2020/2021
https://youtu.be/eYtOcTMNdLg?t=1226

Sukcesy uczestników
https://oki.org.pl/oki/sukcesy-uczestnikow/

Tworzymy CV na podstawie rozwiązanych zadań
Tworzymy CV na podstawie rozwiązanego zadania USACO – Amerykańska Olimpiada Informatyczna.
W przyszłości (staż, projekt, uczelnia) pokazujemy moc, pracowitość, pomysłowość!!!
Nawet na imprezie!
https://youtu.be/UOei4vez6LM?t=7251

CV pomaga nam w zdobyciu dobrej szkoły, stażu – tak jak pan Krzysztof Maziarz z Microsoft który był naszym gościem:
https://youtu.be/yYn4AOQU4S4?t=8114

Pokazanie jak tworzymy CV – dla video, postów, maili:
https://youtu.be/AcWCajYtYoI?t=5458

CV uczestniczki OKI:
https://youtu.be/34qu4l2B5dI?t=4780

Codeforces

Zadanie z Codeforces! https://youtu.be/fk04apHH4SQ?t=16
Stwórz fantastyczne CV! https://youtu.be/Fe1SjCbc5iA?t=6439
Stwórz fantastyczne CV! https://youtu.be/fk04apHH4SQ?t=5649

Dlaczego warto robić zadania z Codeforces? https://youtu.be/Fe1SjCbc5iA?t=52
Najpopularniejsza, uczy programowania, daje doświadczenie w przyszłych zawodach, bankowość, historia, statystyki piłkarskie, pozwala stworzy CV, angielski

Zadanie z Codeforces! https://youtu.be/FPlhg6c1B6E?t=4985
Mikołaj opowiada o stresie na olimpiadzie, Codeforces pomaga, warto robić zadania pod presją czasową

Tworzymy własne CV! https://youtu.be/Fe1SjCbc5iA?t=6439
Radość z 100% – tworzymy własne CV na podstawie Codeforces!
Piękny wpis do CV! https://youtu.be/AcWCajYtYoI?t=5337

USACO

Zadanie z Amerykańskiej Olimpiady USACO! https://youtu.be/VvJhOAXIQOk?t=156
Pozwala stworzyć fantastyczne CV! https://youtu.be/XQcYAuPheVM?t=5642
Pozwala stworzyć fantastyczne CV! https://youtu.be/VvJhOAXIQOk?t=5449

Potyczki algorytmiczne

Potyczki algorytmiczne – opis:
Zadanie z Potyczek Algorytmicznych –  nieoficjalnych Mistrzostw Polski w programowaniu!
https://youtu.be/x9mQ4zs410g?t=60
Potyczki algorytmiczne – nieoficjalne Mistrzostwa Polski
Zadanie z Potyczek Algorytmicznych –  nieoficjalnych Mistrzostw Polski w programowaniu!
https://youtu.be/DsYaobsHhSk?t=1652

AtCoder

Dlaczego Tomek lubi AtCoder?
– krótkie treści!
https://youtu.be/evtnTwRKtkE?t=5829


Ilocamp – obozy organizowane przez ośrodek w Białymstoku
Zadanie z obozu Ilocamp! https://youtu.be/9pX9VAosgTY?t=2912


Platforma LeetCode
LeetCode czyli zadania z interview do Google’a Facebook’a, …
– zawiera zadania z interview Google’a, Facebook, Amazon, …
Zadanie z LeetCode – platformy z problemami z rozmów kwalifikacyjnych do Google, Facebook, Amazon: https://youtu.be/jOqGMOGJQ1s?t=17

Zadanie z OIJ – Olimpiady Informatycznej Juniorów!
https://youtu.be/oE1AWvTowJ4?t=255

Zadanie z CSES – ulubionej platforma naszego prowadzącego!
https://youtu.be/dfpERcmogNM?t=1512


Instrukcje
Jak umieścić kod w komentarzu? https://youtu.be/YWhVqyMjtjE?t=6768


Środowisko ideone – piszemy programy online:
https://youtu.be/SfZS7r0ebGQ?t=2750


Sortowanie
Sortowanie w C++:
https://youtu.be/sQ99vyC2lJ4?t=2832
Ile operacji potrzebuje sortowanie i co to jest logarytm:
https://youtu.be/sQ99vyC2lJ4?t=1810

Algorytm gąsienicy – zadanie Bierki

Omówienie zadania Bierki które wymaga algorytmu gąsienicy:
https://youtu.be/MJCkuBDezSE?t=976
Zadanie Bierki pochodzi z II etapu poprzednika Olimpiady Informatycznej Juniorów:
https://youtu.be/MJCkuBDezSE?t=895
Algorytm gąsienicy omówiony na podstawie zadania Bierki:
https://youtu.be/MJCkuBDezSE?t=2345
Złożoność algorytmu gąsienicy:
https://youtu.be/MJCkuBDezSE?t=3188

Strona z rozwiązaniem zadania Bierki – kod C++ który otrzymuje 100%:

Link do zadania Bierki:
https://szkopul.edu.pl/problemset/problem/KiEvCpZBaUNRCp6oTZx2oAQ4/site/
Link do wszystkich zadań II etapu OIG z którego pochodzi zadanie Bierki:
https://szkopul.edu.pl/portal/problemset/oig/1

Grafy

Co to jest graf? Po co nam grafy?
https://youtu.be/UOei4vez6LM?t=118
Grafy – co to jest?
https://youtu.be/OA8BeVFvaNU?t=1006

Czy Europa i Wielka Brytania są spójne?
https://youtu.be/OA8BeVFvaNU?t=1260
oraz
https://youtu.be/OA8BeVFvaNU?t=1386

Co to jest cykl? Czy drzewo ma cykl?
https://youtu.be/OA8BeVFvaNU?t=1329


Graf w C++ – jak trzymamy graf w komputerze:
https://youtu.be/UOei4vez6LM?t=4090

Do trzymania grafu wykorzystujemy wektor:
https://youtu.be/UOei4vez6LM?t=6053
a tak naprawdę tablicę wektorów:
https://youtu.be/UOei4vez6LM?t=6100

Jak trzymamy graf w pamięci?
https://youtu.be/OA8BeVFvaNU?t=2479


Kiedy zaczęła się nauka o grafach? (Quiz)
Od analizy problemów w Królewcu przez Eulera
https://youtu.be/iDPLi4XQN2w?t=376

Co to jest graf?
https://youtu.be/iDPLi4XQN2w?t=738
Przykład osób w klasie połączonych relacją czy ktoś kogoś lubi czy nie?
Po co nam grafy?
https://youtu.be/iDPLi4XQN2w?t=830
– kto mnie może poznać z inną osobą?
– komu powiedzieć informacje by szybko się rozniosła?
– jak szybko się rozniesie?
– ile osób zna się w danej społeczności – na przykład zainteresowanej kupnem samochodu
– ile osób dzieli dwie inne by przekazać wiadomość
– na świecie jest 7 miliardów ludzi, różne preferencje -> grafy są gigantyczne
– a google w ciągu 1/10 sekundy musi nam pokazać strony spośród miliardów stron – zanalizował gigantyczny graf
– podobnie facebook – pokazuje nam strony – analizuje graf
– gwiazdka – podpowiedzi prezentów biorą się z analizy grafu!

Grafy to jest dziedzina która potrzebuje nowych pomysłów – nas!
https://youtu.be/iDPLi4XQN2w?t=1197
– to my wymyślimy lepsze algorytmu które lepiej pokażą strony, podpowiedzi prezentów, …
– wszystko można przedstawić jako graf
– jeśli umiemy posługiwać się grafami – jesteśmy pożądani, magikami
– zamiast miliona lat, program wykona się w sekundę
– każda sekunda poświęcona na grafy, to najlepiej spędzony czas
– mamy moc by te rozwiązać najtrudniejsze problemy!
– fascynują przygoda przed nami

Przykład, że grafem można zobrazować wszystko.
Budowa domu – harmonogram działań
https://youtu.be/iDPLi4XQN2w?t=1346
Dom jest prosty, ale bez gafu nie zrobimy:
– kompleks fabryk, osiedle, rakieta kosmiczna, rozkład zadań w fabryce

Samochód – produkcja – harmonogram zadań
https://youtu.be/iDPLi4XQN2w?t=1426
– fabryka dostaje plan na następny tydzień bo tydzień czasu jest graf analizowany
– znając grafy, możemy to poprawić, zwiększyć zyski fabryki

Klasyczne problemy grafu:
https://youtu.be/iDPLi4XQN2w?t=1522
– najkrótsza droga
– problem chińskiego listonosza – obejść wszystkie domy i wrócić do bazy

Przykład z ciężarówkami – redukujemy koszty o 10% – skracając drogę ciężarówek – gigantyczny zysk dla nas i dla firmy!
https://youtu.be/iDPLi4XQN2w?t=1546

Jesteśmy w stanie pomóc jeśli znamy algorytmikę!
https://youtu.be/iDPLi4XQN2w?t=1772
– jeśli umiemy przedstawić problem jako graf to przyspieszymy jego rozwiązanie!
– i wielki FUN!

DFS – Depth First SearchAlgorytm, który chodzi po grafie “W głąb”

Chodzimy po grafie – Co to jest DFS?
https://youtu.be/UOei4vez6LM?t=884

Jak chodzić po grafie / drzewie:
https://youtu.be/OA8BeVFvaNU?t=3933

Algorytm DFS:
https://youtu.be/OA8BeVFvaNU?t=4025

DFS – implementacja i wyjaśnienie:
https://youtu.be/UOei4vez6LM?t=5326

Implementacja DFS:
https://youtu.be/OA8BeVFvaNU?t=5623

PreOrder i PostOrder:
https://youtu.be/-6XSy1IUlgg?t=1998

 

Drzewa przedziałowe

Pełne wytłumaczenie drzew przedziałowych – Tomek Kwiatkowski – 2022/23:
https://youtu.be/vg_g0zTxUVo?t=2364

Wytłumaczenie idei drzew przedziałowych!
– bez żadnej matematyki, numerów, przedziałów
 – max na przedziale
– odpowiedzi na pytania o max na poszczególnych przedziałach
– za co odpowiadają wierzchołki
https://youtu.be/vg_g0zTxUVo?t=2364
Drzewo z korzeniem na dole
Piękne drzewo Tomka!
Drzewa informatyczne
Drzewa które podobają się informatykom
– nasze drzewa mają korzeń na górze
– korzeń i liście
 – dobrze że nie jesteśmy ogrodnikami – klientowi by się nie podobały
– nawet te drzewa będa sie podobały
https://youtu.be/vg_g0zTxUVo?t=2694
Dokładne omówienie drzewa przedziałowego
Budujemy drzewo przedziałowe!
– jaką ma strukturę, jak działa, dlaczego działa, jaką ma strukturę, jak się zachowuje
– zapytania o poszczególne przedziały
– numerowanie
https://youtu.be/vg_g0zTxUVo?t=2814
Numerowanie wierzchołków
– prawy syn / lewy syn – quiz
– nie trzeba znać całości!
– domyślnie dzielenie w C++ bez części całkowitej – pomaga
https://youtu.be/vg_g0zTxUVo?t=3504Przykład numerowania ojca i syna gdzieś w środku drzewa:
– quiz
https://youtu.be/vg_g0zTxUVo?t=3697

Drzewo przedziałowe w akcji
– pytamy o max na skomplikowanym przedziale
https://youtu.be/vg_g0zTxUVo?t=3975

Drzewo przedziałowe w akcji #2
– pytamy o max na skomplikowanym przedziale
– odpowiada chat
https://youtu.be/vg_g0zTxUVo?t=4688

Piszemy psuedokod drzewa przedziałowego:
https://youtu.be/vg_g0zTxUVo?t=4951

Złożoność drzew przedziałowych:
– rozmiar drzewa przedziałowego
– głębokość drzewa
– ilość elementów
https://youtu.be/vg_g0zTxUVo?t=6651

Omówienie kodu drzewa przedziałowego!
https://youtu.be/vg_g0zTxUVo?t=7053

 

C++ – pierwszy program

Jak wypisujemy tekst w języku C++?
Czym kończy się każde polecenie w C++?
https://youtu.be/zN3CApegsSY?t=2388

ZADANIE SERCE – pierwszy program wypisujący piękne serce na ekranie
Początek omówienia zadania Serce:
https://youtu.be/zN3CApegsSY?t=1682
Omówienie, kod link do zadania Serce:
https://oki.org.pl/serce/

Piszemy pierwszy program w języku C++
Rysowanie choinki z kodów ASCII
https://youtu.be/xF5wlR-xX8g?t=2072
Link do kodu, omówienia zadania:
https://oki.org.pl/choinka/

Zadanie czekoladki dało nam nową wiedzę w C++
Wczytywanie danych w C++:
https://youtu.be/CMasYTVhIjQ?t=1393

Zmienne w programowaniu / C++ czyli szufladki w których komputer przechowuje nam wartości
https://youtu.be/CMasYTVhIjQ?t=1422
W naszym kodzie były to liczby całkowite typu int o wielkości -2 147 483 648 do 2 147 483 647

Komentarz w C++ czyli coś co C++ zupełnie nie interesuje:
https://youtu.be/CMasYTVhIjQ?t=1608

Wczytywanie z klawiatury i przechowywanie w zmiennych:
https://youtu.be/CMasYTVhIjQ?t=1796

Jak nazywać zmienne?

Piszmy kod, byśmy zawsze wiedzieli co on robi:
https://youtu.be/CMasYTVhIjQ?t=2212

Wykonujemy działania arytmetyczne w C++:
https://youtu.be/CMasYTVhIjQ?t=2271

Wszystkie zmienne deklarujemy w C++:
https://youtu.be/CMasYTVhIjQ?t=2397

Deklarujmy zmienne na początku:
https://youtu.be/CMasYTVhIjQ?t=2488

JavaScript

>Narysowanie kółka na canvas / html – skrótowe wytłumaczenie – quiz kahoot:
https://youtu.be/wrkLDPqZ1Js?t=7173
Płótno / canvas – umieszczamy na stronie www – dokładne wytłumaczenie:
https://youtu.be/wrkLDPqZ1Js?t=2143
Rysowanie kółka na płótnie – dokładne wyłtumaczenie:
https://youtu.be/wrkLDPqZ1Js?t=3024

Złożoność
Zadanie Park
Pokazało Moc algorytmik!
Wolny algorytm rozwiązuje zadanie w 3 godziny.
Szybki algorytm robi to w mniej niż w sekundę.
Powiedzieliśmy sobie czym jest operacja algorytmu:
I że nie ma znaczenia z ilu mniejszych elementów się składa:
Na Olimpiadzie nasz program wykonać 10^6 – 10^8 operacji:
Powiedzieliśmy sobie też czym jest złożoność:
Nasz program dla n danych wykonywał n*n operacji.
Pamiętamy o magicznych linijkach które przyspieszają wczytywanie danych i wypisywanie danych:
QUIZY 
Mieliśmy też życiowe pytanie:
Czy 5 zł ma znaczenie wobec miliona złotych? Szczególnie gdy uciekamy.
To pytanie zadaje sobie tez komputer!
Bo przecież jeśli ma wykonać milion operacji
Zadaliśmy sobie też pytanie – bardzo ciekawe.
Na ile sposobów można ustawić 30 osób w klasie:
Odpowiedź zaskakująca!
I wreszcie puenta.
Ile czasu zajmie NAJSZYBSZEMU KOMPUTEROWI na świecie sprawdzenie wszystkich ustawień klasy w rzędzie?
Ale jakie ma to znaczenie.
A gdybyśmy chcieli znaleźć ekologiczny proszek, rozkładający się plastik,… który składa się z 30 elementów – jak uczniowie w klasie…
To już ma znaczenie!
Przygoda /Olimpiada
Dlaczego warto brać udział w Olimpiadzie Informatycznej?

Piękny tekst dlaczego warto brać udział w Olimpiadzie?
https://youtu.be/kTFfZY-Pn44?t=20

Rozwiązujemy problemy – tego nauczy nas Olimpiada.
Każdego dnia mocniejsi.
Nie chodzi o punkty, rywalizacje – chodzi o fun i piękną przygodę.
Chodzi by pomyśleć – zadania są też bardzo proste z małymi limitami – pokazanie zadania
https://youtu.be/ZkewY7oUw0Y?t=181

Nad każdym zadaniem pomyśl! https://youtu.be/2RV8_naxzHE?t=9257

Olimpijskie Koło Informatyczne #2 zaczęliśmy od nietypowej karety:
https://youtu.be/CMasYTVhIjQ?t=154
Dlaczego? Przyszłość jest nasza! Świat nas potrzebuje!!!
Potrzeba bardzo dużo programistów, osób które wymyślają
Jest mnóstwo problemów które trzeba rozwiązać – świat czeka na nas!

Czy Olimpiada Informatyczna Juniorów jest dla początkujących czy zaawansowanych?

I dla takich i dla takich!
https://youtu.be/CMasYTVhIjQ?t=4800

O co chodzi w Olimpiadzie?
https://youtu.be/CMasYTVhIjQ?t=4885
* Żeby się poznawać algorytmy, programować
* Pretekst do rozwijania się
* Żebyśmy pod koniec roku byli dużo mocniejsi

Chcesz poczuć się jak uczestnik European Junior Olympiad in Informatics?
Zobacz, że dałbyś radę!
Dyskusja liczby punktów, trudności zadań:
https://youtu.be/-6XSy1IUlgg?t=6838
Algorytmika – znajduje rozwiązanie problemów – świat nasz potrzebuje:
https://youtu.be/zN3CApegsSY?t=1205
OKI1 – przygotowanie OD ZERA do Olimpiady i do pięknej przyszłości!
Dlaczego jest Olimpiada. Dlaczego świat nas potrzebuje?
Czas!
Komputery są wolne i dlatego świat nas potrzebuje!
My wymyślamy a komputer liczy!
Co jest najważniejsze?
CZAS!!!

Wolny algorytm rozwiązuje zadanie w 3 godziny.
Szybki algorytm robi to w mniej niż w sekundę.
Zamiast 3 godzin nasz program działał ułamek sekund.
Zamiast złożoności O(n^2) WYMYŚLILIŚMY rozwiązanie O(n).
To jest jedyny powód dla którego jest olimpiada i algorytmika
CZAS!!!
Komputer jest wolny!
Dlatego świat potrzebuje Ciebie.
My musimy powiedzieć komputerowi jak znaleźć optymalny proszek, ułożenie elementów na taśmie, drogę ciężarówek – by zaoszczędzić prąd, zwiększyć zysk.

By mieć ciekawe życie, fun, godne życie.

Jak mam to osiągnąć – rozwiązywać problemy z Olimpiady?
https://youtu.be/qVgwgwmozcs?t=4647
Przygotowuj się do Olimpiady.
Rozwiązuj zadania.
Po pół roku zobaczy moc – to jest obietnica.
Przykład ucznia który zrobił algorytm do pakowania paczek.
Przykład ucznia który otrzymał duże pieniądze za optymalizację ryzyka.
Będziemy pożądanymi ludźmi na rynku.

Programujemy, rozwiązujemy problemy.
Dziś motywuje nas Olimpiada. W przyszłości znajdziemy lek na raka, przyjazny plastik, sygnał dalekiej cywilizacji
https://youtu.be/zN3CApegsSY?t=32

Olimpiada motywuje nas do nauki programowania i algorytmiki.
By w przyszłości pisać programy i znaleźć lek na raka:
https://youtu.be/zN3CApegsSY?t=32

Olimpiada prowadzi nas do pięknej przygody by zmieniać, negować, wymyślać.
Jesteśmy odkrywcami, tymi którzy negują, tymi którzy w przyszłości mają wymyślać w Google’u, start-upach, na uczelniach:
https://youtu.be/2RV8_naxzHE

Przez programowanie, Olimpiadę do pięknej przygody!
https://youtu.be/xF5wlR-xX8g?t=953

Dlaczego olimpiada?

Chodzi o rozwiązanie problemów świata
Oki #1 2019/2020
https://youtu.be/xF5wlR-xX8g?t=953

Ilość operacji. Szczegółowe wyjaśnienie:
https://youtu.be/LryJ-4lrXts?t=8663

Komputer kwantowy nie rozwiąże problemów.
Problemy są o złożoności 2^n
Musimy czekać miliony lat na rozwiązanie tych problemów.
Dlatego świat potrzebuje Ciebie – Twoich pomysłów, by komputer zdążył policzyć.
Świat czeka być dużo nauczył się w Olimpiadzie!!!
https://youtu.be/MJCkuBDezSE?t=120

Sztuczna inteligencja jest potrzebna bo komputery są wolne – startup który zarobił 2.1 mld.
Dlatego startujemy w Olimpiadzie – negujemy, wymyślamy.
https://youtu.be/Je9Bfy6lu3Y?t=237

Quizy, samodzielne poszukiwania nas rozwijają

Był tez quiz który dał wielka radość
Quiz z rysowanie znaków ASCII:
https://youtu.be/CMasYTVhIjQ?t=4050

Ale też eksperymentowaliśmy!
https://youtu.be/CMasYTVhIjQ?t=2867
I zmusiliśmy komputer do błędu:
https://youtu.be/CMasYTVhIjQ?t=3328
2147483647 + 1 dało liczbę ujemną!
A dlaczego?
Bo każde pudełko kiedyś pęka!

Jeśli czegoś nie rozumiemy – to normalne!
Zawsze można wrócić do treści!
Ale trochę czasu – i będziemy śmigać
https://youtu.be/CMasYTVhIjQ?t=4658

Zadanie przed zajęciami są jawne.
Myśląc nad zadaniem więcej korzystamy z zajęć!
https://youtu.be/OC_xrHSMYlA?t=4190

Robiąc research jesteśmy naukowcami, poszukiwaczami, odkrywcami nowych lądów!
https://youtu.be/eCSjwO9wu0I?t=10111

Być odkrywcą! Wszystko się zaczyna od pytania dlaczego? Jest wiele do odkrycia!
https://youtu.be/Q3j6LNU_LRM?t=937

Zawsze zadajemy pytanie dlaczego, kiedy? Wówczas jesteśmy odkrywcami, tymi którzy wymyślą nową rzecz, założą start-up. Historia DD
https://youtu.be/Q3j6LNU_LRM?t=415

Nie ma znaczenia czy umiem programować, czy nie – czy znam algorytmikę czy nie – wystarczy poświęcić się pasji, wystarczy trud, wystarczy liczyć zadania – historia Mikołaja:
https://youtu.be/SUnVGr8lWw4?t=1111

Dlaczego zadania są znane przed zajęciami? Bo nasze pomysły przed zajęciami są najważniejsze:
https://youtu.be/2RV8_naxzHE?t=4530

Nasze pomysły są najważniejsze! Żebyśmy myśleli inaczej niż wszyscy!
https://youtu.be/2RV8_naxzHE?t=5872

Nasza droga która czymś więcej niż programowanie – to wymyślanie!
https://youtu.be/OC_xrHSMYlA?t=254

=================

Programowanie, algorytmika

Po co nam to programowanie?
https://youtu.be/zN3CApegsSY?t=952
By komputer robił nudne, powtarzające się czynności.
By ułatwiał życie – przykłady problemów:
https://youtu.be/zN3CApegsSY?t=1372

Na czym polega programowanie?
Pokazaliśmy to na przykładzie oddzielania grochu od maku
https://youtu.be/zN3CApegsSY?t=1006
zobaczyliśmy, że programowanie to powtarzanie (pętla) i decyzja (warunek)
https://youtu.be/zN3CApegsSY?t=1079
Może ciut więcej

Wielu z nas myśli – ale ja nic nie umiem…
Spokojnie – będzie moc!
https://youtu.be/zN3CApegsSY?t=1092

Nie tylko będziesz pisał programy ale rozwiązywał problemy!
Algorytmika – piękna część informatyki
Dlaczego nikt nie znalazł leku na raku?
Bo komputer jest wolny.
Potrzebujemy algorytmiki – by programy się szybko kończyły
https://youtu.be/zN3CApegsSY?t=1190

Przykład problemów algorytmicznych

https://youtu.be/zN3CApegsSY?t=1382

Zapraszam na zajęcia z algorytmiki.
Problem źle rozwiązany komputer liczy długo, problem dobrze rozwiązany – komputer liczy ułamek sekundy,
https://youtu.be/zN3CApegsSY?t=1311

Czym jest język programowanie a czym algorytmika

https://youtu.be/iDPLi4XQN2w?t=6944

Co to jest programowanie – quiz:
https://youtu.be/zN3CApegsSY?t=450

Jaki musi być program komputerowy?
https://youtu.be/zN3CApegsSY?t=812
Poprawny – a czasem też z szybki!

 

=====================

OKI- na czym polegają nasze zajęcia?
Na czym polegają nasze spotkania
Wtorki: Programowanie – ładny, czytelny kod.
Środa: Algorytmika – rozwiązujemy problemy, Olimpiada, przyszłość FUN!!!
Poniedziałek: Zaawansowana algorytmika
Na czym polegają zajęcia OKI?
https://youtu.be/zN3CApegsSY?t=1484
* Spotkania – problemy znamy wcześniej by samodzielnie pomyśleć
Nasze pomysły są bardzo ważne
* Quizy
* Challenge

Co jest najważniejsze z tej trójki?
https://youtu.be/zN3CApegsSY?t=1580
Challenge – nasze własne rozwiązania zadań!
To one pchają nas do przodu
Myślimy 4h sami – nawet jak nie zrobimy – najlepiej spędzony czas
Potem szukamy pomocy – Pitagoras nie doszedł tego momentu

Pamiętajmy co jest kluczem do sukcesu
3-6 zadań tygodniowo:
https://youtu.be/zN3CApegsSY?t=1602

Jak wrzucać/dodawać własne rozwiązanie do challenge / pracy domowej?
https://youtu.be/zN3CApegsSY?t=3972
Lista zadań w Challenge’u:
https://oki.org.pl/lista-zadan.php
Ranking:
https://oki.org.pl/ranking-z-ostatniego-tygodnia.php

Zachęcam do samodzielnego rozwiązywania zadań – wtedy się rozwijasz!
https://youtu.be/zN3CApegsSY?t=4210
Jak najwięcej samemu!

Przed każdymi zajęciami nasze zadanie jest publicznie dostępne:
Bo liczy się NASZ pomysł!
Zachęcam by zapisać się na newsletter
Otrzymujemy komplet informacji o zajęciach
=
Prowadzący zajęcia Olimpijskiego Koła Informatycznego
Tomasz Kwiatkowski

Tomek to uczeń III klasy w liceum Stanisława Staszica w Warszawie. Jest brązowym medalistą Olimpiady Informatycznej Gimnazjalistów (poprzednika OIJ), drużynowym zwycięzcą tejże Olimpiady oraz finalistą z wyróżnieniem Olimpiady Informatycznej Licealistów.
Historia Tomka Kwiatkowskiego: https://youtu.be/xZCGtGh2he0?t=5584
Jak się przygotowywał, doszedł do sukcesów (wypowiedź Tomka): https://youtu.be/YWhVqyMjtjE?t=1872
Wypowiedź Tomka z zajęć końcowych OKI: https://youtu.be/eYtOcTMNdLg?t=4508
Podsumowanie OKI 20/21: https://youtu.be/eYtOcTMNdLg?t=4663
Osiągnięcia w Olimpiadzie Informatycznej: https://www.oi.edu.pl/contestants/Tomasz%20Kwiatkowski/
Post zapowiadający pierwsze zajęcia Olimpiada Informatyczna OD PODSTAW prowadzonego przez Tomka Kwiatkowskiego: https://www.facebook.com/2247317372200511/posts/2958010761131165
=
Lista algorytmów i osób które wymyśliły te algorytmy: https://www.ics.uci.edu/~eppstein/161/people.html
Lista pionierów w “ComputerScience”: https://en.wikipedia.org/wiki/List_of_pioneers_in_computer_science 

Zastosowanie grafów: https://www.sunjackson.com/post/7060/

Quizy C++:
https://www.premiumexam.net/cpa-programming-essentials-in-c/

Sieć neuronowa -wagi, wartości na placach: https://www.sztucznainteligencja.org.pl/kurs/sztuczna-inteligencja-dla-poczatkujacych/sztuczne-sieci-neuronowe/
Jak uzyskać specjalizację w danej grupie programistycznej?
https://roadmap.sh/