Zagadnienia poruszane na zajęciach Olimpijskiego Koła Informatycznego

Lista zagadnień poruszanych na zajęciach Olimpijskiego Koła Informatycznego

Olimpiada OD PODSTAW 2024.03.06
Jak podoba Ci się Olimpiada?
Olimpiada i emocje?
Emocje na Olimpiadzie
😀 Olimpiada i emocje!
– fajnie
https://youtu.be/BsTqXVbjTko?t=129  

Dwuwymiarowe żabki – omówienie zadania:
https://youtu.be/BsTqXVbjTko?t=496 

Za tydzień grafy!
🌐 Grafy!
https://youtu.be/BsTqXVbjTko?t=1918 

Gratulacje!
– Euklides dobrze poszedł
https://youtu.be/BsTqXVbjTko?t=2091 

😈 Oszukiwanie? Hashe!
– wyłącza myślenie
https://youtu.be/BsTqXVbjTko?t=2384 

 

Sztuczna Inteligencja 2024.03.07
– #1 Tworzymy wydarzenie – pierwszy dzień wiosny

Pomoc w codziennych czynnościach
Mail / inne
https://youtu.be/TzpBmvapE5k?t=69

Wykorzystać i zrozumieć:
 – bawimy / cieszymy
 – odkrywamy
https://youtu.be/TzpBmvapE5k?t=102 

😊 Bawimy się!
😊 To  my się bawimy!
https://youtu.be/TzpBmvapE5k?t=128 

Jak zadać pytanie do AI?
– niech ona powie sama jakie ma być pytanie?
https://youtu.be/TzpBmvapE5k?t=638

#prompt_engineer #sztuczna_inteligencja #pokazac #top
🤔 Jak?
📝 Przepis na prompt enginnera
Jak powinno być zbudowane pytanie?
https://youtu.be/TzpBmvapE5k?t=1157

#pokazac #top #brawa #radosc #zajecia_oki_super #sztuczna_inteligencja
💡
100 pomysłów!
https://youtu.be/TzpBmvapE5k?t=1857 

#oki_zajecia_info #sztuczna_inteligencja
➕ Więcej…

Nasza strona!
https://youtu.be/TzpBmvapE5k?t=2953

Zapowiedź kolejnych zajęć
https://youtu.be/TzpBmvapE5k?t=3310 

 

Sztuczna Inteligencja OD PODSTAW – 21.12
Świetczen obrazki – Leonardo.AI

Sztuczna Inteligencja i Święta:
– podpowiedzieć prezent
– bezpłatny upominek
– inspiracje
– żart, temat do rozmów
– pomysły na czas, wspólny czas
– grafikę na Święta
– zapytać tradycje, potrawy, ilość
– czego nie wypada w te Święta
https://youtu.be/_P32nz5ml5Q?t=18

Strona naszych zajęć:
– wszystko o zajęciach / quizach
– piszcie o pomysłach, promptach w komentarzu
https://youtu.be/_P32nz5ml5Q?t=122

Mistrz Programowania 2024:
– wystartował
– konkurs programistyczny
– Joanna Śmigielska / Tomek Kwiatkowski
– mało zadań / mało rywalizacji / motywacji do bycia coraz lepszym w programowani / rozwiązywaniu problemów
– już edycja numer 3
– były fajne ciekawe, żartobliwe, inpsirujące, pokazujące życie zadania
– powód do kodowania, jest rywalizacja
– bawimy się, rozwiązujemy problemy, stajemy się mocniejsi
– udostępnij post,
w których możemy poćwiczyć programowanie / Olimpiadę

https://youtu.be/_P32nz5ml5Q?t=205

Generujemy obrazy!
Jak założyć konto?
– Leonardo.ai
– aplikacja internetowa
– jak założyć konto?
– confirmation code
https://youtu.be/_P32nz5ml5Q?t=335

Początek obsługi Leonrdo
– generujemy pierwszy obrazek
– gdzie prompt
– pierwszy prompt
– prompty angielsku
– prompt choinki
Picture a Christmas tree, decorated with sparkling lights and shiny baubles, surrounded by 2 grandchildren and grandparents, everyone is filled with joy and wonder as they bask in the warm glow of the tree.
co oznacza:
Bożonarodzeniowa choinka z lampkami i bombkami z babcią, dziadkiem oraz wnuczkiem i wnuczką .
a dokładnie:
Choinka, przystrojona migoczącymi światłami i błyszczącymi bombkami, wokół której są dwójka wnuków i dziadkowie, wszyscy są przepełnieni radością i zachwytem, gdy rozkoszują się ciepłym blaskiem drzewa.
https://youtu.be/_P32nz5ml5Q?t=921

Uwaga na kredyty!
– dziennie 150 kredytów
– gdzie widać kredyty które zużywamy
– kredyty się zerują o północy
– ile rysunków się wygeneruje i kredyty
https://youtu.be/_P32nz5ml5Q?t=1038

Pierwsze uruchomienie
– podanie informacji o sobie
https://youtu.be/_P32nz5ml5Q?t=1088

pokazac
Piekne zdjęcia!
– Daria, Oksana
– piękne pocztówkowe zdjęcia
https://youtu.be/_P32nz5ml5Q?t=1223

Alchemy, duże rozdzielczości zjada więcej kredytów:
– nowy model
– nie dużo daje
– uwaga na rozdzielczości
https://youtu.be/_P32nz5ml5Q?t=1235

Add element:
– określony styl
– książka do kolorowania
– ilustracje
– moja ulubiona
https://youtu.be/_P32nz5ml5Q?t=1289

Kredyty
– codziennie się zerują
– 150 kredytów
– zerują się o północy
– można przejść na płatny
https://youtu.be/_P32nz5ml5Q?t=1328

pokazac pocztowka
Jak mi się pięknie wygenerowało!
– pokazanie ilustracji
– dwójka dzieci
– dziadek, mama, dwójka dzieci, kominek
– śliczne
– gotowa pocztówka
https://youtu.be/_P32nz5ml5Q?t=1343

Jak usunąć tło z obrazka?

https://youtu.be/_P32nz5ml5Q?t=1385

Rysunek Maksyma
– piękny!
https://youtu.be/_P32nz5ml5Q?t=1419

Quiz / Konkurs na facebooku
– maksym ma gotowe
– na naszej stronie będzie info

https://youtu.be/_P32nz5ml5Q?t=1438

Można stosować kilka stylów / elementów:
– dwa maksymalnie
– uwaga na kredyty
https://youtu.be/_P32nz5ml5Q?t=1471

pokazac
Co teraz będzie się działo?
– jakie piękne
– cudownie bajkowo
https://youtu.be/_P32nz5ml5Q?t=1508

Jak wygenerować własny prompt?
– po polsku
– proponuje kilka promptów angielskich
– generator promptów
https://youtu.be/_P32nz5ml5Q?t=1543

Szczegółowe omówienie kredytów:
– generate zjeżdża
– dziennie 150 kredytów
– ilość zdjęć
– optimum 3
– alchemy zjada dużo kredytów
https://youtu.be/_P32nz5ml5Q?t=1760

Alchemy vs zwykłe
– alchemy żywsze kolory
https://youtu.be/_P32nz5ml5Q?t=1827

Zmiana rozdzielczości / proporcji:
https://youtu.be/_P32nz5ml5Q?t=1856

Wybór modelu:
– niezależnie od stylu
– domyślnie Leonardo Difusion XL
– można wybrać dowolny model / styl
– przegląd
https://youtu.be/_P32nz5ml5Q?t=1931

pokazac
Piękny rysunek Ignacego!
– brawo!
– pięknie!
https://youtu.be/_P32nz5ml5Q?t=2093

#pokazac
Rysunek Maksyma:
– twarze słabe
– moze model slaby
– trzeba jeszcze raz
https://youtu.be/_P32nz5ml5Q?t=2141

Polepszanie promptu:
https://youtu.be/_P32nz5ml5Q?t=2171

Losowy prompt:
– nie mamy pomysłu
– wygeneruj mi losowy obrazek
– poszło coś nam z energią
https://youtu.be/_P32nz5ml5Q?t=2219

Jak się inspirować?
Obrazki innych
– kopiowanie promptów
– słonik
– kopiowanie stylu
https://youtu.be/_P32nz5ml5Q?t=2276

pokazac
Jest słonik!
– jaki słodziutki słonik
– wrzucam prompt
https://youtu.be/_P32nz5ml5Q?t=2340

Generowanie rysunków na podstawie własnych rysunków:
– Real time canvas
– coś niesamowitego
– umieszczamy prompt z choinką
– rysujemy choinkę a ona z prawej strony pięknie powstaje
– zmieniam kolor – chodzi o coś innego

https://youtu.be/_P32nz5ml5Q?t=2493

pokazac
Zrób pocztówkę na Święta!
– image generation
– real time canvas
– narzędzie niesamowite
– super zabawa
https://youtu.be/_P32nz5ml5Q?t=2792

Zapowiedź zajęć:
– chatgpt
– początek serii geerowania sieci
https://youtu.be/_P32nz5ml5Q?t=3072

Świąteczne życzenia:
– z rodziną, spaceru, rozmowy
– może ChatGPT zainspriuje się gdzie na spacer, w jaką grę planszowa zagreąć
– co zrobić wspólnie
– coś co jednoczy rodzinę
– my też zróbmy pocztówkę z leonardo, wydrukowana, przesłana
– jak Maksym, IGnacy
– dołożone słowa Kocham Cię
– dużo bardziej wzruszy ucieszy Rodziców niż materialne
– pomyśleliśmy
– pozytywnie wykorzystajmy do inspiracji sztuczną inteligencję
https://youtu.be/_P32nz5ml5Q?t=3225

 

 

Programowanie OD PODSTAW, poniedziałek 18 grudnia
Quiz sortowanie

Czy Święta kojarzą się z programowaniem?
– pocztówka świąteczna – index – bombka jako strona www
– automatyzacja wysyłania maili
– lampki na choince
– programowanie to piękno!
– patrząc na choinkę i mieniące się lampki możemy pomyśleć – co ten programista tam wymyślił?
https://youtu.be/mNmnYWDJn1g?t=18

Najlepsze życzenia świąteczne:
– czas dla rodziny
– wyłączyć komórki programowanie
– przytulić się do rodziców
– spacer, zapytać się co jest dla nich ważne
– tego życzę
https://youtu.be/mNmnYWDJn1g?t=90

Życzę fantastycznych Świąt!
– odpoczynku, pojedzenia, poleniuchowania, rozmowy, spaceru
– wszystkiego najlepszego na święta
– dziękuję za ten rok, za Wasz wysiłek, każdą linijkę kodu
– życzę Wam OGNIA takiego jak macie
– byście się oddali swojej pasji
– by ona Was niosła
– byście widzieli jak stajecie się mocniejsi
– żeby to była długoterminowa podróż
– coś co jest na długo, pali się ogień, wy mu dostarcacie paliwo
– on się coraz mocniej pali
– znacie kolejne triki
– Wszystkiego Dobrego!
– Do zobaczeniea 8 stycznia
https://youtu.be/mNmnYWDJn1g?t=4229

Jeżeli Święta , zima to Mistrz Programowania!
https://youtu.be/mNmnYWDJn1g?t=128

Mistrz Programowania:
– gdzie rejestracja
– harmonogram
– kiedy runda próbna – małe emocje
– punktowe, ukryta
– co jest najważniejsze w konkursie
– nagrody
– uczestnicy: zabawa, umiejętności
– udostępnijcie post!
– nagrody dla najlepszych
– nagrody dla każdego – zrobią choć jedno zadanie
https://youtu.be/mNmnYWDJn1g?t=155

Co można powiedzieć o Mistrzu Programowania?
– zabawa, fun, każdego dnia mocniejsi
– porysować, pokminić
– ma zadania które każdy zrobi
– są też zadania które trzeba pomyśleć – Olimpiada
– i fun, ma nas uczynić mocniejszym
– by w przyszłości być lepszymi czy to w programowaniu czy rozwiązywaniu problemów
– każde zadanie nawet najtrudniejsze wbić nawet na parę punktów
– nawet jeśli zaczynamy
– a potem poprawiać, poprawiać, poprawiać, każdego dnia mocniejsi
– nie większej radości niż wbić na 5 a potem poprawić na 10!
https://youtu.be/mNmnYWDJn1g?t=367

Zagraj w długą grę!
Ważne są rzeczy długoterminowe:
– by nie być słomianym ogniem
– dać moc, czas temu co lubimy
– nie zniechęcać się
– jeśli lubi piłkę mogę czasem pogracć
– a moge trenować 4h rano wieczorem
– cieszyć się z nowym trików
– zachęcam do oddania się pasji, mieć ogień, niech będzie długoterminowa
https://youtu.be/mNmnYWDJn1g?t=503

Mistrz Programowania – działajmy!
– nie chodzi o 100
– zrobić poprawiać, zrobić poprawiać – tak się bawimy!
– o to chodzi!
https://youtu.be/mNmnYWDJn1g?t=4198

OIJ – statystkyki testu wiedzy
– każdy punkt to moc! – emocje
https://youtu.be/mNmnYWDJn1g?t=555

Dziękuję za USACO!
– trudne
– Bronze – finał OIJ
– każde zielone pole to info że masz moc, że to co robisz ma sens
– dziekuję zawysiłek, za czas, za ogień który macie
– jestem pod wrażeniem
– masz OGIEŃ – głośno!
– jeśli chociać jedno pole zielone, to znaczy, że warto, warto, warto
– warto walczyć o olimpiadę
– gigantyczne szanse by zawalczyć o finał, zawalczyć na II etapie
– do 8 stycznia I etap
https://youtu.be/mNmnYWDJn1g?t=4103

Co to jest mediana?
– dokładne omówienie
– często lepsza niż średnia
– pokazanie na zarobkach
https://youtu.be/mNmnYWDJn1g?t=634

Podziękowanie dla Pawła Kawy
Podziękowanie za USACO:
https://youtu.be/mNmnYWDJn1g?t=720

Opis Challenge!
– Deski z OIJ
– olimpiada do 8 stycznia
– proste!
– fantastyczny quiz
https://youtu.be/mNmnYWDJn1g?t=750

Podziękowanie za Challenge:
https://youtu.be/mNmnYWDJn1g?t=4011

Zapowiedź zajęć 8 stycznia:
– czy tablice są dobre
– czy jest coś lepszego?
https://youtu.be/mNmnYWDJn1g?t=831

Pokazac
Programowanie przez fun
– Na wejścciu nazwy zwierzaków
– Od czego skróty: pajk zab kic za
– pokazanie fajnych odpowiedzi uczestników
https://youtu.be/mNmnYWDJn1g?t=927

Opis programu który czytuje i wypisuje tablicę stringów
– dokładne wytłumaczenie
– dowolna ilość zwierząt
– przykład wczytania wejścia: 4 nazwy zwierząt
– pokazanie pamięci
– pokazanie szczegółowe w ideone
https://youtu.be/mNmnYWDJn1g?t=1061

Szczegółowe omówienie sortowania:
– co to jest sortowanie alfabetyczne / leksykograficzne
– funkcja sort
– pierwszy sortowany / pierwszy niesortowany
– pokazanie w pamięci oraz w kodzie
– algorithm
https://youtu.be/mNmnYWDJn1g?t=1393

pokazac radosc
Sortowanie to radość
– kic paj za zab
https://youtu.be/mNmnYWDJn1g?t=1655

Co to znaczy leksykograficznie?
– jak w słowniku
– kod ASCII
– alfabetycznie
https://youtu.be/mNmnYWDJn1g?t=1742

Sortowanie w środku tablicy
– dokładne wytłumaczenie
– od zwierzeta+1 do zwierzeta+3 – przy 4 elementach
https://youtu.be/mNmnYWDJn1g?t=1900

#emocje #pokazac
Troszeczkę nerwów….
– będzie dobrze czy nie będzie dobrze?
– zab kic paj za
– BRAWO
– jest tak jak chclieśmy!
– sortuje Ci odtąd dotąd
– +1 +3
– proszę o małe brawa – ikonkę
– dziękuję Paweł – super!
https://youtu.be/mNmnYWDJn1g?t=1957

#pokazac zajęcia mają sens, uczniowie się uczą, korzystają
Michał zrozumiał!
– bardzo się cieszę
– udało się zrozumieć sotowanie
– po to jest QUIZ
– serduszka
– że nie odpuszczasz, do końca walczysz
– za wysiłek kminę
https://youtu.be/mNmnYWDJn1g?t=2062

To się posortuje – to zostanie tak jak było!
– czy C++ się słucha?
– lekkie nerwy
– paj zab kic za
– brawa dla C++ bo jest grzeczny!
– brawa brawa
https://youtu.be/mNmnYWDJn1g?t=2213

#pokazac fun z zajec
hakowanie, dym z komputera
Dokładne wytłumaczenie sortowania poza zakresem
– hakowanie
– czy zrobimy dym z komputera
– czy nic nie będzie
– trochę się denerwuję
– błąd wykonania
– jesteśmy unicestwieni
– piszemy po kodzie
https://youtu.be/mNmnYWDJn1g?t=2425

Czym grozi sortowanie po nie swojej pamięci?
– możemy zamazać kod
https://youtu.be/mNmnYWDJn1g?t=2621

Złożoność sortowania:
– jedna komenda sort ma wiele operacji PORÓWNANIA pod spodem
– złożonośc nlongn
– dokładne wytłumaczenie logarytm / potęga dwójki
– przykład dla tablicy 1000 elementów
– dla stringów porównanie to długośc stringu
https://youtu.be/mNmnYWDJn1g?t=2726

Początek
Magiczna liczba 24:
https://youtu.be/mNmnYWDJn1g?t=3672

Magiczna liczba 24:
– jaka magiczna liczba
https://youtu.be/mNmnYWDJn1g?t=3762

Gdzie jeszcze mamy 24 oprócz tego, że to magiczna data w grudniu?
– śmieszne odpwoiedzi, miesiące, doba
https://youtu.be/mNmnYWDJn1g?t=3826

 

Olimpiada Poziom II, wtorek 23 listopada Mateusz Wojaczek
Zadania z Olimpiad
Trevelling Merchant: https://youtu.be/WLepbwOBEAs?t=104

Olimpiada OD PODSTAW 13.12
Co ma Babcia Bajtazara do darmowego kebaba?

Co ma babcia Bajtazara do darmowego kebaba v1?
Dlaczego taki temat?
– Programowanie dynamiczne
– wymagające zadanie
– dla nas proste
– na progu olimpiady
https://youtu.be/DE7FjzgV0_w?t=135

Co ma babcia Bajtazara do darmowego kebaba v2?
Początek omówienia zadania!
– babar!
https://youtu.be/DE7FjzgV0_w?t=216

Nie ma bata, że…
– jest takie słowo!
https://youtu.be/DE7FjzgV0_w?t=338

Ula – Czym jest programowanie dynamiczne?
– podzielić problem na mniejsze podroblemy
– je rozwiązać
– uzyskać większe rozwiązanie
https://youtu.be/DE7FjzgV0_w?t=600

Można tylko wynik! Też 100!
https://youtu.be/DE7FjzgV0_w?t=2329

Och Ach Jak mogłem?
– kahoot przygotowany przez współuczestnika!
– czy się spodoba? nie ma wątpliwości!
– nagrodzimy brawami
– zdradzę dopier po kahoocie!
– wydawało mi się, że robię dobre kahooty
– ale jak zobaczyłem ten to wtedy zobaczyłem gdzie była poprzeczka

https://youtu.be/DE7FjzgV0_w?t=2438

Zapowiedź zajęć za tydzień:
– pytania, wątpliwości, gotowego zadanie, napiszcie na maila, na szkopule
– zadanie taksówki
https://youtu.be/DE7FjzgV0_w?t=3019

 

Olimpiada poziom II 12.12.2023 Jan Myszka
Zadania Find And Union

Zadanie Szatnia – II etap 19 OI:
https://youtu.be/PAxw2y7IsfM?t=184

Link do zadania:
https://szkopul.edu.pl/problemset/problem/E_UP8if3dQ6IUlFNsD1CQOdy/site

Zadanie Vlad and the Mountains:
https://youtu.be/PAxw2y7IsfM?t=791
Link do zadania Vlad and the Mountains:
https://codeforces.com/problemset/problem/1851/G

Cat Exercise – finał JOI:
https://youtu.be/PAxw2y7IsfM?t=1640
Treść zadania Cat Exercise
https://oj.uz/problem/view/JOI23_ho_t4

Ball Collector:
https://youtu.be/PAxw2y7IsfM?t=2491
Link do zadania Ball collector:
https://atcoder.jp/contests/abc302/tasks/abc302_h

Zadanie MST on Line++
https://youtu.be/PAxw2y7IsfM?t=3495
Treść zadania MST on Line++
https://atcoder.jp/contests/arc167/tasks/arc167_c

Czy podoba Ci się to zadanie?
https://youtu.be/PAxw2y7IsfM?t=5057

Zapowiedź zajęć:
– Digit DP
https://youtu.be/PAxw2y7IsfM?t=5095

Programowanie OD PODSTAW 11.12.2023
Sortowanie / Cow College USACO Amerykańska Olimpiada

Czy można dotykać?
Nie dotykaj!
To ma sens!
Nie ruszaj mojego telefonu
10 mln pobrań!
Pomysły na aplikacje
Najdziwniejsza aplikacja!
– nie ruszaj mojego telefonu!
– ktoś dotknie, raban, auto na sygnale
– wyłączamy prostym guzikiem
– ponad 10 mln pobrań
Dlaczego o tym mówię
– programowanie to jest coś pieknego
– programowanie to jest fun!
– ile jest pomysłów na aplikacje
– i potrzebne – ludzie ściągnęli
– chcą wiedzieć że ktoś rusza telefon
– jak warto zajmować się programowaniem
– jak warto mieć pasję
– aplikacja prosta – chyba jedna osoba
– a ile satysfakcji że używana
– zachęcam do programowania! do funu! do radości!
https://youtu.be/E9U425oXjiM?t=4

Zachęcam do programowania! do funu! do radości!
– Witodos instaluje
– zachęcam by ćwiczyć
– jak ćwiczyć?
– Challenge / USACO
https://youtu.be/E9U425oXjiM?t=134

15 – 18 grudnia – pierwszy contest USACO
– brązowy, silver, gold, platinium
– 15K osób w poprzednim roku
– ponad 11K przynajmniej jedno zadania
– weź udział
– dołącz do międzynarodowej społeczności
– każde zadanie dokumentujmy – screen, link, kod
– przepustka do firm, college, do fajnych wakacji, staży
– amerykańska olimpiada to jest coś co cały świat zna
– grupa brązowa programistyczna
– silvrd OIJ / gold OI / platinium IOI
https://youtu.be/E9U425oXjiM?t=183

Weź udział w USACO
– zarejstruj się

https://youtu.be/E9U425oXjiM?t=4282

Zaproponuj zadanie, problem:
– może poprowadzić?
https://youtu.be/E9U425oXjiM?t=374

Zapowiedź zajęć 18 grudnia:
https://youtu.be/E9U425oXjiM?t=484

Opis Challenge:
– jak zrobisz jesteś mistrzem sortowania!
https://youtu.be/E9U425oXjiM?t=4242

Baw się!
Challenge daje moc
Challenge napędza
Zróbmy Challenge!
– Powoduje że w przyszłości będziemy biegłymi programistami!
– Będziemy pisać fajne aplikacje – kto zabrał telefon, bankowe
– Że rozumiemy
– Starajcie się samemu
– To jest zabawa
– Nie ważne czy 10 czy 80
– Punkty które samemu zdobyłem są najważniejsze
– Ja się rozwijam!
– ja się bawię
– ja kminię
– ja debuguję
– o to chodzi!
https://youtu.be/E9U425oXjiM?t=4500

pokazac biezaco
Bardzo prosty bardzo fajny challenge:
– jak zrobicie jesteście mistrzami sortowania
– jeśli nie umiemy zajrzyjmy do kodu ale potem zamknijmy i samemu
https://youtu.be/E9U425oXjiM?t=4259

#pokazac
Sortowanie i pizza!
– początek
– wieczór
– aplikacja dla kinomanów
– ile kto zjadł kawałków pizzy
https://youtu.be/E9U425oXjiM?t=522

Początek omawiana kodu
– ideone
– omówienie kodu
https://youtu.be/E9U425oXjiM?t=592

Początek omawiania tablicy osoby[4]
– ile kawałków pizzy zjadła dana osoba w kinie
– na twardo 4 osoby
– pokazanie w pamięci
https://youtu.be/E9U425oXjiM?t=654

Wczytanie danych do tablicy oraz wypisywanie:
https://youtu.be/E9U425oXjiM?t=802

Dokładne wytłumaczenie, że w tablicy 4-elemtnowej 4 element już nie jest nasz:
– indeksowanie od 0 do 3 – bo 4 elementy
– pokazanie kodu oraz pamięci w komputerze
https://youtu.be/E9U425oXjiM?t=915 

#pokazac
Kto jest najmniejszym obżarciuchem?
Sortowanie – początek omawiania:
– od najmniejszy obżarciuchów do największych
– głośno: weź uporządkuj rosnąco!
– czyli posortował
– komenda sort / algorithm
– pierwszy sortowany, pierszy NIESORTOWANY
– pokazanie na wykresie pamięci
https://youtu.be/E9U425oXjiM?t=1089

#pokazac
Wszyscy genialni!
Wszyscy genialni a obżartuchy?
Wszyscy genialni a pizza posortowana!
Mamy prawo być obżartuchem
Tomek ciekawy i bardzo się cieszę!
– wielki okrzyk brawo!
– dla C++ który dobrze posortował
– najmniejszy obżartuch 1, kolejny 2
– brawa dla C++!
– wymienienie wszystkich
– macie prawo dziś być wielkim obżartuchem i zjeść 8 kawałków pizzy
– wszyscy dobrze odgadli posortowanie genialnie
– Tomek ciekawy i bardzo się cieszę!
https://youtu.be/E9U425oXjiM?t=1365

A teraz wracam do Tomka!
Który jest ciekawy!
Sortowanie od największych!
– czy wypisze od największego obżąrtucha czy od najmniejszego
– Głośne brawa znowu!
– Znów dobrze C++ wypisał
– 8 kawałków pizzy w trakcie sensu kinowego

https://youtu.be/E9U425oXjiM?t=1453

Sortowanie między dowolnymi indeksami:
tab+1 do tab+nie_koniec
https://youtu.be/E9U425oXjiM?t=1609

Jak zrobić zadanie Magazyn 1a z Challenge?
– wczytać 3 liczby i posortować.
https://youtu.be/E9U425oXjiM?t=1855

Treść zadania Magazyn 1a:
https://szkopul.edu.pl/problemset/problem/m1a/site

Sortowanie poza zakresem:
– mamy 4 elementy a sortujemy włącznie z piątym
– zbrodnia!
https://youtu.be/E9U425oXjiM?t=1925

Czy pierwszy element tablicy to tab, czy tab+0?
– nie ma znaczenia:
https://youtu.be/E9U425oXjiM?t=1964

Podsumowanie sortowania:
– biblioteka algorithm
– pierwszy sortowany, pierwszy NIEsortowany
https://youtu.be/E9U425oXjiM?t=2098

Złożoność sortowania:
– n * potęga dwójki która daje n – na przykładzie 1000
https://youtu.be/E9U425oXjiM?t=2180

Omówienie Cow College – USACO!
– omówienie treści
https://youtu.be/E9U425oXjiM?t=2283

Treść zadania Cow College:
https://szkopul.edu.pl/problemset/problem/Y4hN0Tf3if7Ft6vythvYSUQr/site

Rozwiązanie zadania Cow College:
https://youtu.be/E9U425oXjiM?t=2746

Omówienie kodu Cow College:
https://youtu.be/E9U425oXjiM?t=3183

Zmienne po angielsku!
– jak zrobiłem zadanie to dobrze by czysty kod i zmienny po agnielsku!
https://youtu.be/E9U425oXjiM?t=3212

Podsumowanie rozwiązania Cow College
https://youtu.be/E9U425oXjiM?t=3901

Uczymy się wtedy gdy piszemy samemu!
– przejrzeć przeanalizować
– a potem piszemy samemu
https://youtu.be/E9U425oXjiM?t=3924

 

Sztuczna Inteligencja OD PODSTAW –  6 grudnia 
QUIZ – Perceptron – tworzenie – nauka

Co szybciej?
Drukarka czy obraz?
Szybciej wygenerować rysunek niż podłączyć drukarkę!
– drukarka ponad godzinę
– rysunek 15 sekund
– trochę problemów
– sztuczna inteligencja ma problem z dłońmi
https://youtu.be/VzoAUBpdDV8?t=4

Gdzie jest AI?
Sztuczna inteligencja jest wszędzie:
– posty w mediach społecznościowych podpowiada AI
– podobne zakupy w sklepach internetowych
– translacja głosu na tekst – SMS
– zrobienie zdjęcie – fokus na twarz
– diagnostyka w medycynie
– udzielania porad / lekarz / empatie / doświadczenie klientów są pozytywne
https://youtu.be/VzoAUBpdDV8?t=93

O czym są nasze zajęcia
– zrozumieć jak działa
– zaprojektować
– rozwiązywać przy pomocy AI problemy
https://youtu.be/VzoAUBpdDV8?t=204

Zapowiedź zajęć 21 grudnia:
– porozmawiamy z ChatGPT o świętach
– jak wykorzystać
– prezenty, jak się zachować, historia
– to też jest wiedza, jak wykorzystać boty, prompt engineering
https://youtu.be/VzoAUBpdDV8?t=231

Opis quizu ChatGPT i Święta:
https://youtu.be/VzoAUBpdDV8?t=278

Chcemy Kubę Kaszyckiego:
https://youtu.be/VzoAUBpdDV8?t=473

#pokazac #dzialanie_neuronu_czlowieka
Jak działa neuron?
– dobre omówienie
– aksony/dendryty / kiedy się wzbudzają?
https://youtu.be/VzoAUBpdDV8?t=690

Ile mamy komórek:
– uśmiech – 10^18 pomocny dzik
– 100 miliardów naprawdę

https://youtu.be/VzoAUBpdDV8?t=774

#pokazac #sztuczna_inteligencja
Inspiracja czy podkradanie?
Człowiek podkrada pomysły naturze!
– ciepło / zimno – wagi by się zbudzić odpowiednio
– inspiracja czy podkradanie pomysłów naturze?
– tu sieci neuronowe a proszę biologia
https://youtu.be/VzoAUBpdDV8?t=866

Jak zostać prowadzącym?
– jeśli jest wiedza, pomysł, zadanie, coś gdzie jesteśmy mocni
– nie mogę obiecać – jest flow
https://youtu.be/VzoAUBpdDV8?t=918

Jak działa komputerowy neuron – perceptron:
– w pigułce
– wejście, wyjście, suma
– decyduje kanapa/fotel
https://youtu.be/VzoAUBpdDV8?t=959

Programowanie vs AI
Różnica między programowanie a AI:
– sam się uczy wag
– w programowaniu my mu mówimy że kiedy kanapa / fotel dla określonych danych wejściowych
https://youtu.be/VzoAUBpdDV8?t=1037

Co to znaczy że perceptron się uczy?
– dobranie odpowiednich wag?
https://youtu.be/VzoAUBpdDV8?t=1251

#pokazac #jak_dziala_perceptron
Perceptron na przykładzie:
– narysowanie / obliczenie perceptronu
– dla konkretnych wag
– pokazanie lepszych i gorszych wag
https://youtu.be/VzoAUBpdDV8?t=1291

Jedyna rzecz która robi perceptron to liczy sumę
– klucz to wagi
– kluczem są wagi
– tylko one decydują
– on ma się ich nauczyć
– jak? przez naukę
https://youtu.be/VzoAUBpdDV8?t=1456

Gratulacje stypendium!
https://youtu.be/VzoAUBpdDV8?t=1515

Mistrz Yoda?
Czy kojarzycie Mistrza Yodę?
https://youtu.be/VzoAUBpdDV8?t=1674

Sieć sama dochodzi do wag na danych treningowych:
– zmienia wagi
– aż dojdzie do poprawnych dowolnych
– sam zmienia
https://youtu.be/VzoAUBpdDV8?t=1946

Dane treningowe vs testowe:
– generalizacja
– sprawdzić dla innych
https://youtu.be/VzoAUBpdDV8?t=2033

Olimpiada OD PODSTAW –  6 grudnia 
Programowanie Dynamiczne

Programowanie dynamiczne vs inne:
https://youtu.be/WOPHyfONbq4?t=97

Zadanie Króliczek Mareczek:
https://youtu.be/WOPHyfONbq4?t=276

Diamenty!
Zadanie Diamenty:
https://youtu.be/WOPHyfONbq4?t=1841

Challenge:
https://youtu.be/WOPHyfONbq4?t=2766

Zapowiedź zajęć:
https://youtu.be/WOPHyfONbq4?t=3125

Olimpiada Poziom II 5 grudnia Jan Myszka
Zaawansowany Find And Union

Find And Union – wytłumaczenie:
https://youtu.be/es2jX9qHUUs?t=201

Co pokonało prowadzącego?
Zadanie które pokonało Janka – Ciężarówki 2:
– warto robić zadania
https://youtu.be/es2jX9qHUUs?t=910

Czy Ciężarówki 2 pokonały każdego?
– nie każdego
– Staś Lada zrobił
– Karol Żeleźnik – Dijkstra potężna – dużo punktów – 54
https://youtu.be/es2jX9qHUUs?t=987

Omówienie zadania Ciężarówki 2:
https://youtu.be/es2jX9qHUUs?t=1219

Zadanie Ciężarówki 2:
https://szkopul.edu.pl/problemset/problem/JwEKCYXo1NEJxjHOpsrKOKRm/site

Warto robić zadania!
Skrót omówienia:
– jak ktoś widział ten typ zadania to jest banalne
– omówienie triku / typu zadania
https://youtu.be/es2jX9qHUUs?t=1502 

MST – najbardziej znane zastosowanie Find And Union:
– Minimalne Drzewo Rozpinające
– omówienie
– FAU czyli Kruskal czyli zachłan
https://youtu.be/es2jX9qHUUs?t=2189

Algorytm Kruskala:
https://youtu.be/es2jX9qHUUs?t=2376

Dowód algorytmu Kruskala:
https://youtu.be/es2jX9qHUUs?t=2648

Xor-MST Proste zadanie z intencją trudnego!
– intended Borówka, Kruskal
– da się banalnie – tak zrobimy
https://youtu.be/es2jX9qHUUs?t=3238

Omówienie zadania Xor-MST:
https://youtu.be/es2jX9qHUUs?t=3302

Link do treści zadania:
https://codeforces.com/problemset/problem/888/G

Zadania na XOR mega ładne!
– XOR jest KOKS!
https://youtu.be/es2jX9qHUUs?t=3532

Zaproszenie do Challenge:
https://youtu.be/es2jX9qHUUs?t=4554

Olimpiada zaawansowana 5 grudnia
Układanie kart

Sentyment Szymona:
– wpadł w ostatnim momencie na pomysł
– wysłał pocztą
https://youtu.be/piPQNp6LcT4?t=221

Omówienie zadania Układanie Kart:
https://youtu.be/piPQNp6LcT4?t=243
Treść zadania:
https://szkopul.edu.pl/problemset/problem/K5Ias1qqQ4YUqHd8dj6GMPFl/site

Najtrudniejsze zadanie!
To najtrudniejsze zadanie I etapu!
– tak jak tegoroczne satelity!
https://youtu.be/piPQNp6LcT4?t=434

Programowanie OD PODSTAW – 4 grudnia
Stringi 

Czym jest programowanie?
– mówienie komputerowi co ma robić
– konkretnie
– aplikację bankową – przelej
– aplikacja szkolna, sumowanie ocen, nauczyciel może wstawić ocenę
– gra – ruch postaci, co może zrobić gracz
– to my mówimy
– dajemy całą inteligencję
– wszystkie pomysły
– jak fascynując jest programowanie
– ile jest aplikacji
– gdziekolwiek się nie dotkniemy
– w każdym elemencie
– samochód – ile aplikacji – droga, spalanie – programowanie
– cały czas ludzie wymyślają jak programowanie może pomóc
– jak jeszcze można wykorzystać komputer
– by ludziom było przyjemniej, wygodniej
https://youtu.be/9Ttr_S6U-mM?t=89

Napisy:
– podstawowy element komputera
– nie chcemy czytać liczby 128, 57
– chcemy czytać napisy
– komputer przetwarza napisy
– w każdej aplikacji
– dziennik elektroniczny, imię nazwisko ucznia, nauczyciela, opisy, komunikacja nauczyciel rodzice
– bank, za co do kogo
– chatgpt – komunikuje się tekstem
– w grach – fabuła, teksty, rozmowy, komunikaty
https://youtu.be/9Ttr_S6U-mM?t=181

Zakończył sie I etap OI:
– gratulacje dla każdego kto nawet na zero spróbował zrobić zadanie
– spróbował zrobić choć jedno zadania
– jak wielka sprawa
– uczestnicy olimpiad to najbardziej poszukiwane osoby
– mają myślenie, kminę,
– chęć stawiania czoła trudnym problemom
– każda firma zawsze będzie chciała olimpijczyków

https://youtu.be/9Ttr_S6U-mM?t=299

Olimpiada jest motywacją:
– by odkrywać, rozwijać się
https://youtu.be/9Ttr_S6U-mM?t=343

To co robimy musi mieć radość, sens:
– musi nam sprawiać radość, lubić – sanki, rower, góry, praca w ogródku
– musi mieć sens
– jak kopiemy w ogródku to nie kopiemy i zasypujemy tylko by roślinkom było dobrze.
– potem jesteśmy w stanie każdej firmie rozwiązać problemy
– przyspieszać bazę, za dużo prądu aplikacja
– może ta aplikacja robić mniej operacji
– uczestnicy olimpiady to twórcy chatgpt, twórcy start-upów
– olimpiada jest trudniejsza niż życiowe problemy
– za chwilę wyniki, ale to nie ma znaczenia
– napiszcie w CV uczestnictwo w Olimpiadzie
– to jest Wasz sukces – zrozumienie, próba zakodowania
– absolwenci OKI – dziś tworzą gry, są najważniejszymi osobami w firmach
– dzięki Olimpiadzie
https://youtu.be/9Ttr_S6U-mM?t=352

SP:
– trwa I etap
– nie wahajcie się
– warto zainwestować każdą minutę
– w drodze do szkoły, przed snem, autobus, nudnych zajęciach
– rysujcie piszcie
– najlepiej zainwestowany czas
https://youtu.be/9Ttr_S6U-mM?t=484

Weź udział w Amerykańskiej Olimpiadzie:
– za 2 tygodnie pierwszy etap
– super wpis do CV / linkedin
– każde zadanie które zrobicie to sukces
– trwa 4h w sposób ciągły
– od brązowej  – programistyczna z małą algorytmiką
– mierzymy się z całym światem
https://youtu.be/9Ttr_S6U-mM?t=531

Quiz
Za tydzień zadanie USACO:
– jakie?
– quiz!
https://youtu.be/9Ttr_S6U-mM?t=592

18 grudnia – QUIZ!
– zapraszam
https://youtu.be/9Ttr_S6U-mM?t=634

Otwieramy ideone:
– kadłubek programu:
https://youtu.be/9Ttr_S6U-mM?t=739

Początek wytłumaczenia napisów:
– string – dowolny tekst – imię Karol
https://youtu.be/9Ttr_S6U-mM?t=952

Łączenie stringów:
https://youtu.be/9Ttr_S6U-mM?t=1072

Właściwości string:
– dynamicznie się rozszerza
– w tablicy było statycznie
https://youtu.be/9Ttr_S6U-mM?t=1180

Różnica + w string i w int:
– w tekstach + to łączenie stringów
– w int to dodawanie
https://youtu.be/9Ttr_S6U-mM?t=1291

Czy musimy dołączać klasę string?
– część dołącza domyślnie
https://youtu.be/9Ttr_S6U-mM?t=1467

String – tablica znaków
– Podsumowanie typu string:
– typ string / napis
– Dostęp do liter / elementów stringu
– wypisanie osoba[0] / osoba[4]
– pokazanie numerów indeksu
https://youtu.be/9Ttr_S6U-mM?t=1520

Wyjście poza napis:
– osoba[16] dla 15-literowego strinu
https://youtu.be/9Ttr_S6U-mM?t=1814

Jak wypisać ostatni znak napisu:
– osoba[osoba.size()-1];
– lepiej nie liczyć samemu
https://youtu.be/9Ttr_S6U-mM?t=1881

Wytłumaczenie size() dla stringu:
https://youtu.be/9Ttr_S6U-mM?t=1943

Zamiana literek w stringu:
– pojedynczy element stringu to char
https://youtu.be/9Ttr_S6U-mM?t=2219

Zamiana pierwszej litery na dużą:
https://youtu.be/9Ttr_S6U-mM?t=2486
Rozwiązanie zadania A. Word Capitalization / Codeforces (wdc):
https://szkopul.edu.pl/problemset/problem/5nDwyIdroL4fyDXNAiLgtxDx/site

Emocje! Krzyk
– Karol był z małej litery – zrobił się z dużej!
– Bartek / Karol i małej litery
https://youtu.be/9Ttr_S6U-mM?t=3033

Podsumowanie rozwiązania zadania Word Capitalization
– wymienione explicite
– podsumowanie:
https://youtu.be/9Ttr_S6U-mM?t=3114

Wypisujemy wszystkie literki w stringu:
Początek rozwiązania zadania A. Anton and Danik
https://youtu.be/9Ttr_S6U-mM?t=3209

Zadanie A. Anton and Danik:
https://szkopul.edu.pl/problemset/problem/fWf08sKUGP8B9QOnugLZ9N8a/site

Zliczanie literek w stringu:
Właściwe rozwiązanie zadania A. Anton and Danik:
https://youtu.be/9Ttr_S6U-mM?t=3340

Podsumowanie rozwiązania zadania A. Anton and Danik::
https://youtu.be/9Ttr_S6U-mM?t=3501

Opis Challenge:
– zadania z Codeforces!
https://youtu.be/9Ttr_S6U-mM?t=3670

Zadania z Codeforces!
– gotowy wpis do CV
– inne postrzeganie
– daje moc
– startujemy do szkoły / kursu / wakacyjny projekt
https://youtu.be/9Ttr_S6U-mM?t=3688

za krótkie do pokazania
Najważniejsza Challenge!
Jedyna rzecz którą proszę
– nie robić zadania a chodzić na lekcje
– robić zadanie nie chodzić na lekcje
https://youtu.be/9Ttr_S6U-mM?t=4048 

 

Sztuczna Inteligencja OD PODSTAW – 30 listopada
Uczymy neuron 

Sieci neuronowe są fascynujące:
-rozpoznają obrazy, spam, przewidują ceny
https://youtu.be/2nDcjH2YxM8?t=3

ChatGPT – pierwsze urodziny!
– najbardziej znany element sieci neuronowych
– nadal jest bohaterem
– na razie tylko losuje
– ale są prace by rozumiał, rozwiązywał prace z matematyki
– by poprawił wnioskować x=y, to też y=x
https://youtu.be/2nDcjH2YxM8?t=19

Wchodzimy w sieci neuronowej
– Świat sieci neuronowych jest niesamowity, fascynujący:
– chatgpt jak wykorzystać
– stworzyliśmy najprostszą sieć neuronową, jeden komputerowy neuronu, perceptron
– rozpoznaje kanapę od fotela / długość / wysokość
– dziś chcemy go nauczyć
– mając dane ma się nauczyć – mógł rozpoznawać nowe fotele / kanapy

https://youtu.be/2nDcjH2YxM8?t=81

Zapowiedź kolejnych zajęć – QUIZ:
– podsumowanie
https://youtu.be/2nDcjH2YxM8?t=168

Pokazać
Co na kolejnych zajęciach
– większe sieci neuronowe, jakie mają parametry
– rozwiązywanie problemów
– zabawa + chatgpt
https://youtu.be/2nDcjH2YxM8?t=178

Podsumowanie zajęć:
– komputerowy neuron / perceptron
– rozróżnianie kanapy od fotela
https://youtu.be/2nDcjH2YxM8?t=294

Jak działa neuron?
– skrót
– przykład  – wagi 1/ – 1
– wchodzi fotel 5/3 – kanapa
– potem kanapa
– emocje – rozmowa z publicznością
– dobre do podsumowania jak działa neuron
https://youtu.be/2nDcjH2YxM8?t=479

Pokazać / Emocje
– neuron odpowiada dobrze
https://youtu.be/2nDcjH2YxM8?t=637

Pokazać / emocje
Neuron wytrenowany
– dobra część dalsza część
https://youtu.be/2nDcjH2YxM8?t=702

Emocje pokazać
Chcemy by neuron nauczył się sam!
– chcemy by sam się nauczył
– tak jak my się uczymy wiersza
– rozmowa – emocje – z widzami jakich wierszy się uczą.
– chcemy by sam doszedł do poprawnych wag
– tak jak my się uczymy wiersza na pamieć
– jedyna rzecz damy mu dane treningowe
– co fotel / co kanapa
– musi nauczyć się rozpoznować tych elementów które daliśmy
– ale też nowych – których nie widział – generalizacja
https://youtu.be/2nDcjH2YxM8?t=731

Emocje – pokazać:
Wiersz
https://youtu.be/2nDcjH2YxM8?t=740

Jak uczymy neuron?
– 1. Dane treningowe
– w programowaniu warunek
– w sieciach neuronowych musi mieć dane treningowe i jest proces uczenia
https://youtu.be/2nDcjH2YxM8?t=861

#pokazać #mocje
Karzemy komputerowy neuron
– 2. Jak źle będziemy go karać
– modyfikować wagi – to kara
– jak uczymy się wiersza to jak nie umiemy to powtarzamy (rodzaj kary)
– podanie własnego przykładu
– jak nie pomyliłem to poprawiam dobrze
– szlachetne zdrowie dowie – powtarzam szlachetne zdrowie nikt się nie dowie
– są też takie sieci że dobre odpowiedzi są wzmacniane
https://youtu.be/2nDcjH2YxM8?t=899

Uczymy epokami:
– musi się nauczyć coś w rodzaju wiersza
– wymiar a fotel, wymiary b kanapa
– przejście raz po danych treningowych to epoka
– tak jak my raz powiemy wiersz
– epoki powtarzamy aż się nauczy rozróżniać czyli nauczy się wiersza
– potem sprawdzamy na danych testowych innych niż treningowe
– czy generalizuje – dobrze odpowiada też na innych
https://youtu.be/2nDcjH2YxM8?t=998

Zaczynamy od losowych wag
– zaczynamy od losowych
– my zaczynamy od złych wag
– by zobaczyć jak się uczy i że dojdzie do dobrych wag.
https://youtu.be/2nDcjH2YxM8?t=1169

Jak modyfikujemy wagi?
– jak ujemnie a miało być dodatnio, dodajemy do wag wartość wejścia * szybkość uczenia
– podanie przykładu
https://youtu.be/2nDcjH2YxM8?t=1246

W ten sposób nasze wagi są bardziej dodatnie!
– obliczenie nowych wag
– zła waga -1 dla długości staje się bardziej dodatnia tak jak chcieliśmy
– nasze neuron daje bardziej dodatnie wartości – obydwie wagi przeszły w stronę dodatnich wartości
https://youtu.be/2nDcjH2YxM8?t=1448

Dlaczego szybkość uczenia się jest 0.4?
– jako Data Scientist to właśnie naszym zadaniem jest dobranie szybkości uczenia
– za duża to będą wachlowane wyniki
https://youtu.be/2nDcjH2YxM8?t=1539 

Jak modyfikujemy wagi?
– miał być fotel a jest kanapa
– miało być ujemnie jest dodatnio
– odejmujemy – bardziej ujemne – zmniejszamy – idziemy w stronę fotela
– wejście * szybkość uczenia – tyle odejmujemy
https://youtu.be/2nDcjH2YxM8?t=1577

Czy to może działać?
– czy w ten sposób robiąc dojdziemy do dobrych wag
https://youtu.be/2nDcjH2YxM8?t=1797

Na czym polega nauka neuronu?
– mając losowe wagi
– musimy dojść do wag które dobrze oddzielają fotele od kanap
– startując od dowolnych wag
– jak źle modyfikujemy w stronę dobrych
– jak nie to nic nie robimy
https://youtu.be/2nDcjH2YxM8?t=1810

Emocje pokazac
Jeśli tu jesteśmy tak!
– tak działają wszystkie sieci neuronowe
– każda sieć neuronowa działa właśnie tak samo
– tam nie ma nic innego
– nauka sieci neuronowych to jest clue!
– konstrukcja to neuron
– nauka to by dobrał dobre wagi
https://youtu.be/2nDcjH2YxM8?t=1846

śmiech pokazać
ukłony spoceniec
Dlaczego to może działać?
– obie wagi zwiększamy w stronę dodatnich
– bardziej zwiększy się waga długość – bo większa wartość
– waga która ma być bardziej dodatnia pójdzie bardziej w stronę dodatnich
– mamy niekorzystny zestaw
– będziemy zwiększać obie wagi
– ale mnożymy razy wejście
– ta która ma być dodatnia pójdzie bardziej w stronę dodatnich bo dla niej jest większe wejście
https://youtu.be/2nDcjH2YxM8?t=1919

Bardzo dziękuję
Jeśli to ogarniacie to jesteście mistrzami świata
– to jest bardzo trudne
– ukłony
– to jest dla wszystkich ,ursach data scientist
– jeśli wy to ogarniacie to ukłony, respect
– sieci neuronowe macie jak potea
https://youtu.be/2nDcjH2YxM8?t=2048

Uczymy sieć na przykładzie:
– skrajnie niekorzystne wagi
– szybkość uczenia
– ręcznie zmieniamy wagi
https://youtu.be/2nDcjH2YxM8?t=2127

Zapowiedź zajęć:
https://youtu.be/2nDcjH2YxM8?t=4320

 

Olimpiada OD PODSTAW – 29 listopada
Zadania z zachłanów

Fajny początek
– będzie kahoot
– mignął
– specjalny kahoot
– przygotował leno / uczestnik
https://youtu.be/At54lJX-0fw?t=37

Podziękowanie – zrobione zadanie Apteka:
– 13 osób
– szacunek
– zaawansowane zadania
– imponujące wyniki
https://youtu.be/At54lJX-0fw?t=146

Zabawa + samemu!
Zabawa i samodzielne zadania:
– chodzi by się bawić
– mają sens tylko zadania które robimy samemu
https://youtu.be/At54lJX-0fw?t=231

Zadanie Kosmiczny pościg:
https://youtu.be/At54lJX-0fw?t=254

Zadanie Pionki:
https://youtu.be/At54lJX-0fw?t=2212

Zapowiedź zajęć
Programowanie oszczędne:
Programowanie dynamiczne
– mało kodu
https://youtu.be/At54lJX-0fw?t=2976

Oklaski dla Leno!
– kahoot
https://youtu.be/At54lJX-0fw?t=3469

 

Olimpiada POZIOM II, czwartek 30 listopada
Jak radzić sobie z przedziałami? – Kinomani Eliminacje EJOI / Prawnicy OI

Zadanie Kinomani:
https://youtu.be/PLP535MxOc8?t=237
Link do zadania:
https://szkopul.edu.pl/problemset/problem/oqqeraT6_Ae_iZBWLQiXOwuG/site

Zadanie Prawnicy:
https://youtu.be/PLP535MxOc8?t=1339
Link do zadania:
https://szkopul.edu.pl/problemset/problem/KkN5UonnNGIG3AuMqoI6xr62/site

Challenge:
https://youtu.be/PLP535MxOc8?t=2031

Co robić z przedziałami?
Jak radzić sobie z przedziałami?
– posortować
– stosy, kolejki by utrzymywać coś co najważniejsze
https://youtu.be/PLP535MxOc8?t=2071

 

Olimpiada POZIOM II, wtorek 28 listopada
Wycinek – eliminacje EJOI

Zadanie Wycinek:
– gąsienica (Dodatnie)
– binary search
– map
https://youtu.be/dsuJ7rV1h_k?t=93
Treść zadania Wycinek:
https://szkopul.edu.pl/problemset/problem/pAy3KzzMQ8Gh-LFsyL0tZts6/site

Zadanie Szarlotka:
https://youtu.be/dsuJ7rV1h_k?t=1297
Treść zadania Szarlotka:
https://szkopul.edu.pl/problemset/problem/u7ZSOecKyX7NXVxrGSiyHAqd/site

Co ciekawego można robić z setem?
– mamy set i multiset
– dodać do zbioru
– usunąć
– sprawdzić czy istnieje
https://youtu.be/dsuJ7rV1h_k?t=2312

Sztuczka -drzewo i set:
– trzymanie informacji na ścieżce DFS
https://youtu.be/dsuJ7rV1h_k?t=2585

Programowanie OD PODSTAW, poniedziałek 27 listopada
Znaki / char / zadanie codeforces
Podwójna pętla
https://youtu.be/_JRoBLwRC84?t=125

Liczby czy znaki?
Komputer i człowiek – jak się dopasować?
Jak to jest że komputer trzyma liczby a my widzimy strony www?
– widzimy znaki
– ma typ integer / dodawaliśmy
– jak to się dzieje że ma tylko liczby a my widzimy znaki
– jak ludzie byli w stanie zmusić komputer by pokazywał znaki
– on woli liczby, my znaki
– byliśmy w stanie się dopasować
https://youtu.be/_JRoBLwRC84?t=125

Gdzie są znaki?
– teksty – szyfrowanie, kompresja
– będzie za tydzień
– pojedyncze znaki też mają zastosowanie
– kierunki NSEW
– nuty
– kategorie produktów
https://youtu.be/_JRoBLwRC84?t=180

Dlaczego używamy pojedynczych znaków?
– kategorie produktów
– szybsze operacja dla komputera
– zajmują mniej miejsca
– na przykład mamy metkę elektroniczną – łatwiej na pojedynczych znakach
https://youtu.be/_JRoBLwRC84?t=235

Dziękuję za Challenge!
– 45 osób ma wszystkie zadania
– 96 osób wrzuciło przynajmniej jedno zadanie
– od rana przybyło dwukrotnie
– ja cały czas sprawdzam
– czy jesteście każdego dnia mocniejci
– czy odkrywacie
– zajęcia nie sa wystarczające
– musice debugować, sami odkrywać
– za to dziękuję!
https://youtu.be/_JRoBLwRC84?t=269

Co dziś?
– pojedyncze znaki
– podwójna pętla
https://youtu.be/_JRoBLwRC84?t=332

Co w tym tygodniu?
https://youtu.be/_JRoBLwRC84?t=353

Muzyka i informatyka są blisko siebie
– informatyka steruje muzyką
– kuźnia i Pitagoras
https://youtu.be/_JRoBLwRC84?t=492

Opis cpp.sh / funkcji main
– Główna część spotkania
https://youtu.be/_JRoBLwRC84?t=530

Typ integer
– wstawienie
– wypisanie
– wytłumaczenie komórki w pamięci
https://youtu.be/_JRoBLwRC84?t=575

radosc – wersja dłusza
Co wypisze nasz program?
https://youtu.be/_JRoBLwRC84?t=631

radosc – wersja krótsza
Co wypisze nasz program?
– kazdy sukces cieszy
https://youtu.be/_JRoBLwRC84?t=643

Znaki – początek omówienia:
– typ char / character
– komórka w pamięci
– wstawienie elementu i wypisanie
https://youtu.be/_JRoBLwRC84?t=707

Literki w pojedynczych ciapkach:
https://youtu.be/_JRoBLwRC84?t=857

pokazać emocje:
– co Ty robisz?
– złe podstawienie znaków
https://youtu.be/_JRoBLwRC84?t=870

pokazać emocje
Hakowanie!
– czy lubimy hakować
– próba wpisania dwóch znaków
– wziął ostatni
– obsztorcowanie cpp. sh
– sporo emocji w trakcie
https://youtu.be/_JRoBLwRC84?t=959

Komputer przechowuje liczby a nie znaki:
– dokładne omówienie że znaki to liczby
– super wytłumaczenie
https://youtu.be/_JRoBLwRC84?t=1089

Podsumowanie typu char:
– znak
– (int) wypisuje kod znaku
https://youtu.be/_JRoBLwRC84?t=1321

Kody ASCII
– dokładne omówienie
– dlaczego akurat N to jest 78?
https://youtu.be/_JRoBLwRC84?t=1366

Wczytywanie znaku i  wypisywanie kod ASCII:
https://youtu.be/_JRoBLwRC84?t=1446

Kod – rozwiązanie naszego zadania z Challenge Lekcja Informatyki:
https://youtu.be/_JRoBLwRC84?t=1507 

Pokazanie znaku który ma dany kod ASCII:
– dokładne wytłumaczenie
– pokazanie co jest w pamięci
– komputerowi mówimy jak ma traktować 72 – czy jako liczbę czy jako znak
https://youtu.be/_JRoBLwRC84?t=1629

Radosć gigantyczna – pokazać!
– pokazał kod ASCII 72
– rzutowanie liczby na char
– traktuj komórkę nie jak liczbę 72
https://youtu.be/_JRoBLwRC84?t=1680

Ile liter między dwoma znakami char/ASCII (między c oraz e):
– dokładne wytłumaczenie
– rzutowanie
– wypisanie kodów ASCII
– odejmowanie kodów ASCII
https://youtu.be/_JRoBLwRC84?t=1918

Zwiększamy znak o 1:
– mamy kolejny znak
– dokładne wytłumaczenie
– kolejny kod ASCII
https://youtu.be/_JRoBLwRC84?t=2251

Brain’s Photos:
– omówienie zadania
https://youtu.be/_JRoBLwRC84?t=2506

Treść zadania Brain’s Photos:
https://szkopul.edu.pl/problemset/problem/q79lSNoSXbIFLYLh1GBIvJXv/site

Wytłumaczenie dwóch pętli:
– idziemy po y
– dla każdego y idziemy po x
https://youtu.be/_JRoBLwRC84?t=3023

emocje
Walczymy o setkę!
– głośne

https://youtu.be/_JRoBLwRC84?t=3560

emocje pokazać
Wyślij
– mała modlitwa o setkę
– jest (krzyk)
– stuwencja
– na zielone wszystkie testy
– Fantastycznie
https://youtu.be/_JRoBLwRC84?t=3579

Podsumowanie zadania Brains Photos:
https://youtu.be/_JRoBLwRC84?t=3643

Co w naszym Challenge?
– Poznaliśmy tablicę / pętlę w pętli
https://youtu.be/_JRoBLwRC84?t=3806

Napisz samemu:
– obejrzyj ile chcesz
– ale bardzo bardzo proszę
– a potem napisz samemu
– debuguj
– kod jest prosty
– jak wielki krok zrobisz do przodu!
– Codeforces!
https://youtu.be/_JRoBLwRC84?t=3838

Zachęcam do kolejnych zajęć!
https://youtu.be/_JRoBLwRC84?t=3918

Nie wrzucam kodu:
– napiszmy samemu
– kod można przepisać z zajęć
– ale wtedy się nie rozwijamy
– nie móżdżymy się
– obejrzyj ile razy chcesz
– a potem napisz samemu
– nie gniewajcie się ze udostępniam kodu
– źle się czuję
– wierzę że w ten sposób zachęcę Was do napisania samemu
– prosty kod
– 20 linijek / 15 linijek
– jeśli samemu to krok do przodu będzie.
– szczęście będzie
– napiszcie maila!
– największy prezent / radość dla mnie największy
– mnóstwo bm oddał za nasz krok do przodu
https://youtu.be/_JRoBLwRC84?t=3961

Chce byście robili krok do przodu
– jeśli ktoś zrobił zadanie na 20/30/50
– chce mu się ukłonić
– za wysiłek, trud, myślenie, debugowanie
https://youtu.be/_JRoBLwRC84?t=4290

Zobaczmy ile już umiemy!
– jak już jesteście mocniejsi
– po 2 miesiącach
– za 4 miesiące te zadania będą dla was śmieszne
https://youtu.be/_JRoBLwRC84?t=4327

Unosić się!
Zadania dzielą się na 2 kategorie:
– proste i trudne
– proste – te które umiemy rozwiązać
– trudne – których jeszcze nie umiemy
– chciałbym by każdego dnia było coraz więcej prostych
– bo to jest krok do przodu
– bo wczoraj było trudne a dziś się śmieje
– i wtedy idę do góry unoszę się, czuje się że to ma sens
– że to mnie bawi
– wczoraj przepłynąłem 10m w basenie a dziś 20, 40
– za miesiąc 10 – to śmieszne – każdy umie
https://youtu.be/_JRoBLwRC84?t=4349

Sztuczna Inteligencja OD PODSTAW, czwartek 23 listopada
Tworzymy perceptron – komputerowy neuron

Gdzie sztuczna inteligencja?
https://youtu.be/IUWtkvurd0o?t=3

Statut szkoły? Sztuczna inteligencja:
https://youtu.be/IUWtkvurd0o?t=44
– klauzule w kredytach
– będziemy to robić (statut)

Jaką ma moc roczne dziecko?
Pamiętasz jak miałeś rok czasu?
Co robi roczne dziecko?
https://youtu.be/IUWtkvurd0o?t=1570

Stworzyliśmy perceptron – komputerowy neuron:
https://youtu.be/IUWtkvurd0o?t=2836

O co chodzi z Quizem? – Samemu – Najważniejsze! Challenge:
https://youtu.be/IUWtkvurd0o?t=2848

Zapowiedź zajęć: https://youtu.be/IUWtkvurd0o?t=3303

 

Olimpiada Poziom II, czwartek 23 listopada (Full) Mateusz Wojaczek
Równoległy Binary Search

Zadanie: New Road Queries:
https://youtu.be/hPKYwnUnke0?t=91

Rozwiązanie Find And Union:
– brutalne
https://youtu.be/hPKYwnUnke0?t=393

Równoległy Binary Search:
https://youtu.be/hPKYwnUnke0?t=619

JOI Wiosenny trening:
Two currencies:
https://youtu.be/hPKYwnUnke0?t=2394

Równoległy Binary Search – przyspiesza!
– fajne zadanie
https://youtu.be/hPKYwnUnke0?t=4528

Kod zadania Two currencies:
https://youtu.be/hPKYwnUnke0?t=4615

 

Olimpiada Poziom II, wtorek 21 listopada (Full) Jan Myszka
Wrażenia po OI-u!
https://youtu.be/z2-S4YA-lFQ?t=87

Problem plecakowy:
– omówienie
https://youtu.be/z2-S4YA-lFQ?t=454

Zadanie Drwale:
https://youtu.be/z2-S4YA-lFQ?t=1287

Podsumowanie rozwiązania zadania Drwale:
https://youtu.be/z2-S4YA-lFQ?t=2871

Zadanie “Maksymalne rzędy permutacji”
https://youtu.be/z2-S4YA-lFQ?t=3076

Permutacje jako punkty:
https://youtu.be/z2-S4YA-lFQ?t=3088

 

Olimpiada OD PODSTAW, środa 16 listopada (Full)
Zachłany
https://youtu.be/JGf9iZjtGzY?t=32

Zagadki, zachłany, łamigłówki, obserwacje, myślenie rozmowa!
https://youtu.be/JGf9iZjtGzY?t=32

Zachłan to szerokie podejście:
https://youtu.be/JGf9iZjtGzY?t=160

Zachłan na przykładzie:
https://youtu.be/JGf9iZjtGzY?t=160

Zadanie Apteka:
https://youtu.be/JGf9iZjtGzY?t=224

Kiedy zachłan nie działa?
Kwadrat magiczny:
– ile maksymalnie liczb można zebrać w prostokącie – tylko prawo i dół
– tu zahcłanne programowanie nie dział
https://youtu.be/JGf9iZjtGzY?t=2099

Opis challenge:
https://youtu.be/JGf9iZjtGzY?t=2369

Dlaczego Apteka to programowanie zachłanne?
https://youtu.be/JGf9iZjtGzY?t=2398

Finał OIJ jest prosty!
– pionki – finał OIJ sprzed 2 lat!
– proste zadanie
https://youtu.be/JGf9iZjtGzY?t=3058

Olimpiada zaawansowana, wtorek 15 listopada
Zadanie “Railway Trip 2”

Zadanie “Railway Trip 2”:
https://youtu.be/fRoDSev_pYg?t=131
Treść zadania “Railway Trip 2”:
https://oj.uz/problem/view/JOI22_ho_t4

Dobijajmy zadania!
– warto
– fajne zadania
https://youtu.be/fRoDSev_pYg?t=2983

Sztuczna Inteligencja OD PODSTAW, środa 16 listopada
ChatGPT – jak używać

Wyluzowana sztuczna inteligencja: https://youtu.be/MhUuIXq0cqI?t=2205
Co odkryjesz? https://youtu.be/MhUuIXq0cqI?t=116
Tworzymy zaproszenie! https://youtu.be/MhUuIXq0cqI?t=967
Ciekawość! https://youtu.be/MhUuIXq0cqI?t=3433
Kto umie się uczyć? https://youtu.be/MhUuIXq0cqI?t=78
Fascynacja! https://youtu.be/MhUuIXq0cqI?t=4
Halucynacje: https://youtu.be/MhUuIXq0cqI?t=2839
23 listopada: https://youtu.be/MhUuIXq0cqI?t=2985

 

 

Programowanie OD PODSTAW, poniedziałek 20 listopada
Quiz tablice

Kłaniam się nisko i gratuluję!
– pokazaliście gigantyczną moc
– programowanie to warunki i pętle
– ale tez tablice
– całość to już zaawansowane programowania
– jeśli to ogarniacie to jest moc
– czym się różni indeks od wartości jak się poruszać po indeksach
– w challenge jest ponad 100 osób
– niesamowity wysiłek
– robicie to dla radości, nie musicie, macie pasję
– za to chcę podziękować
– coś co na kursach zajmuje kilka miesięcy pół roku
– w zrobiliście w 2 miesiące
– jesteście swobodni w programowaniu
– patrzę ile zadań robionych, rozmowy na discordzie
– jestem pod wrażeniem i ciesz się!
https://youtu.be/cLkKPIlGs8E?t=13

To musi być radość!
– jest zima spadł śnieg
– ile dzieci zjeżdża na saneczkach
– nie mają żadnego konkretnego celu
– zjeżdżają bo lubią, przyjemność, fun, radość
– nam też programowanie sprawia radość
– wiemy, że jest piękna przyszłość
– to jest coś co ma sens
– że będziemy mogli pomagać, szacunek, pomagać, godne życie, przygoda, radość
– ale dziś radośc jest z tego że po prostu jedziemy na saneczkach
– widzę tą radość
– i kłaniam się nisko
https://youtu.be/cLkKPIlGs8E?t=119

Tablice są ważne!
– dlatego dziś quiz
– pewni, że rozumiemy
– jeszcze raz dotknąć
– ktoś to rozumie tablice rozumie pętle, warunki
https://youtu.be/cLkKPIlGs8E?t=181

Najtrudniejsze za nami!
– jeśli to ogarniacie reszta prosta!
– wszystko najtrudniejsze za nami
– dalej tylko przyjemność
– tylko radość z programowania
https://youtu.be/cLkKPIlGs8E?t=208

Dziękuję za wsparcie
– Discord
– Rozumiemy tych co zaczynają
– Chcemy pomóc
– Za 200/300 lat to co pomogliśmy dziś zostanie
– Każdą rzecz którą pomogłeś zostanie
– Materialne nie zostaną a Twój gest zostanie
– Niezależnie sami się bardziej rozwijamy
https://youtu.be/cLkKPIlGs8E?t=222

Realizujemy marzenia
– pokazujemy hard ducha
– wytrwałość
– trzeba mieć marzenia
– ale też robimy krok w stronę naszych marzenia
– mamy odwagę odrzucić gry, oglądanie filmików
– bo to nie ma sens
https://youtu.be/cLkKPIlGs8E?t=395

Jaką podjąć decyzję
Co robić
Co gdy nie wiemy robić?
– jesteś 5 lat starszy – co doradzisz sobie?
– czy zagrać w grę czy npisać greż
– moja historia szachy i toaleta
– nie wchodzę na filimi portale
– każdy ma pokusy
https://youtu.be/cLkKPIlGs8E?t=433

Deklaracja tablicy o 4 elementach int:
– pokazanie indeksów 0 do 3 – rysunek
– nazwa tablicy – dokładne indeksy
– parabola – tablica to hotel z pokojami dla int
– wpisanie do komórki dla o indeksie 2 i wypisanie wartości
https://youtu.be/cLkKPIlGs8E?t=623

Po deklaracji tablica ma losowe elementy:
https://youtu.be/cLkKPIlGs8E?t=911
– dokładne wytłumaczenie
– dopiero po wpisaniu wartości wiemy co jest

Po deklaracji tablica ma losowe elementy:
https://youtu.be/cLkKPIlGs8E?t=1119
– pokazanie, ze wartość jest losowa po wypisaniu bez naszego wpisania wartości
– wypisujemy wartość bezpośrednio po deklaracji

Różnica między deklarację globalną a lokalną w kontekście wartości w komórkach
https://youtu.be/cLkKPIlGs8E?t=1218
– lokalnie nie czyści
– deklaracja przed main – globalnie czyści

Dokładne wytłumaczenie indeksowania tablic na przykładzie tablicy int 28 elementów – od 0 do 27 oraz od 0 do ile_stopni:
https://youtu.be/cLkKPIlGs8E?t=1279 
– wypisanie ostatnie komórki ile_stopni-1

Mamy sami pomyśleć ma kahoocie
– by zrozumieć
https://youtu.be/cLkKPIlGs8E?t=1685

Dokładne wytłumaczenie wypisywania wszystkich elementów tablicy:
https://youtu.be/cLkKPIlGs8E?t=1707 
– liczba komórek 3
– pokazanie wpisywania do komórek – statyczne liczb
– pokazania wypisywania komórek w pętli

Pokazanie wyjścia poza tablicę
https://youtu.be/cLkKPIlGs8E?t=1894
– dokładne wytłumaczenie
– indeksujemy od 0 do ile_elementow
– ile_elementow to komorka poza tablica

Pokazanie wypisywania różnych elementów tablicy:
https://youtu.be/cLkKPIlGs8E?t=2270
– od indeksu 1, do indeksu przedostatniego

Trudne czy średnie rzeczy nas rozwijają!
– wypisujmy wartości, testujmy, zróbmy prostą tablicę
https://youtu.be/cLkKPIlGs8E?t=2465

Wczytanie elementów do tablicy z wejścia
https://youtu.be/cLkKPIlGs8E?t=2626
– dokładne wytłumaczenie
– wczytujemy zarówno ile jestem elementów w tablicy jak i wartości
– wypisujemy przykładowy element tablicy

Przykład wypisania explicite komórki poza przydzieloną pamięcią
https://youtu.be/cLkKPIlGs8E?t=3006
– wyjście poza pamięć

Zapraszam do Challenge!
https://youtu.be/cLkKPIlGs8E?t=3464

27 listopada – bawimy się znakami
– czy rozumie, przecież pamięta tylko liczby:
https://youtu.be/cLkKPIlGs8E?t=3511

Kary nie Kary
– chary ale nie kary
– ASCII chary!
https://youtu.be/cLkKPIlGs8E?t=3581

Challenge jest najważniejszy!
– spotykamy się z grupą twarzą w twarz
– kto nie robi zadań – spotkania nic nie dają
– jeżeli sami robimy zajęcia mniej ważne
– najważniejsze co sami robimy
– challenge najważniejszy
– możemy mieć milion korepetycji, zajęć
– jak nie będziemy sami robić – nic z tego nie będzie
– możemy nie mieć zajęć zewnętrznych, spotkań, korepetycji
– ale jak będziemy robić zadania będziemy każdego dnia iść do przodu
– challenge rzeczywiści jest najważniejszy
– dziękuję
https://youtu.be/cLkKPIlGs8E?t=3721

Programowanie Zaawansowane, piątek 17 listopada
Szybkie wypisywanie

Kuba Kaszycki – przedstawienie
https://youtu.be/ApdH43xBvBw?t=64

Dziś szybkie wypisywanie!
https://youtu.be/ApdH43xBvBw?t=64

Wypisujemy rekurencję linową:
https://youtu.be/ApdH43xBvBw?t=122

Wypisywanie 50mln wyrazów trwa dłużej niż 5mln!
https://youtu.be/ApdH43xBvBw?t=309

GB to dużo!
– porządna gra komputerowa
https://youtu.be/ApdH43xBvBw?t=318

Kompresja:
– 1GB po kompresji 3MB
– powtarzalne dane!
https://youtu.be/ApdH43xBvBw?t=342

Jakie są korzyści z trzymania funkcji w namespace:
https://youtu.be/ApdH43xBvBw?t=1542 

Program 3 razy szybszy!
https://youtu.be/ApdH43xBvBw?t=3539

Preprocesing w czasie kompilacji:
– kompilator myśli za nas
https://youtu.be/ApdH43xBvBw?t=4059

Procesory Intela – cienkokońcówkowe:
https://youtu.be/ApdH43xBvBw?t=4113

10 razy szybciej na Olimpiadzie!
https://youtu.be/ApdH43xBvBw?t=5417

Python nadaje się tylko jako kalkulator!
https://youtu.be/ApdH43xBvBw?t=5465

Jak zrobić szybciej?
https://youtu.be/ApdH43xBvBw?t=5478

Gdzie aż tak szybki od?
– nie olimpiada
– program naukowy

https://youtu.be/ApdH43xBvBw?t=5657

Można być bardziej crazy!
https://youtu.be/ApdH43xBvBw?t=5778

Olimpiada Zaawansowana, wtorek 12 listopada
Dwa długie lizaki

Odkrywamy co zakryte!
– nieoczywiste interpretacje
https://youtu.be/POfKJZDpXyw?t=59

Dwa długie lizaki:
https://youtu.be/POfKJZDpXyw?t=126

Szok dla umysłów:
https://youtu.be/POfKJZDpXyw?t=1443

Wyrażamy applause!
– najlepsze zadanie!
– warte zaklepana
https://youtu.be/POfKJZDpXyw?t=2916

Zadanie Bary – AMPZZ:
https://youtu.be/POfKJZDpXyw?t=3018

Jak pokochałem otoczkę wypukłą?
– prof. Lech Duraj
– nie boję się otoczki wypukłej
https://youtu.be/POfKJZDpXyw?t=4923

Olimpiada Poziom II, wtorek 12 listopada
Jump Pointery zadania

Jump Pointery i plecaki:
https://youtu.be/o1JDMQp8vN4?t=291

Zadanie Cut:
https://youtu.be/o1JDMQp8vN4?t=473

Jump Pointery mogą być na OI-u:
https://youtu.be/o1JDMQp8vN4?t=2840

Zadanie ORO Tree:
https://youtu.be/o1JDMQp8vN4?t=2972

Problem plecakowy:
https://youtu.be/o1JDMQp8vN4?t=3916

Zadanie Knapsack:
https://youtu.be/o1JDMQp8vN4?t=4041

Challenge:
https://youtu.be/o1JDMQp8vN4?t=4337

 

Olimpiada Poziom II, czwartek 14 listopada
Zadanie wycieczki

Wycieczki są ciekawe!
– zrobimy na 2 sposoby
– Eliminacje EJOI są łatwe!
https://youtu.be/3L47Mfss-mo?t=11

Zadanie Wycieczki – początek omówienia:
https://youtu.be/3L47Mfss-mo?t=148

 

Olimpiada OD PODSTAW, środa 15 listopada
Gąsienica zadania

Zaczynamy o 18:00!
https://youtu.be/AuiL3X0DrZw?t=55

Zadanie Leniwi Złodzieje:
https://youtu.be/AuiL3X0DrZw?t=242 

Zadanie Trójpak:
https://youtu.be/AuiL3X0DrZw?t=1214

I etap OIJ – wrażenia:
https://youtu.be/AuiL3X0DrZw?t=3110

Co za tydzień?
– Zachałny
– 18:00
https://youtu.be/AuiL3X0DrZw?t=3293

 

Programowanie OD PODSTAW, poniedziałek 13 listopada

#dlaczego_programowanie  #pokazac
Gdzie tablice?
Gdzie potrzeba tablic?
– Przechowujemy mnóstwo informacji
– temperatury z każdego dnia
– temperatury, gracze, przeszkody, ekran, badania, dna, oceny
https://youtu.be/q92kykzx1Vw?t=45

Wchodzimy w  profesjonalne programowanie!
– tablice tego używają profesjonalni
– gigantyczny krok by w wakacje dołączyć do grupy programistycznej
https://youtu.be/q92kykzx1Vw?t=148

Zachęcam do informatyki!
– dziś fascynująca rzecz
– poprosimy komputer o całą pamięć
– dostaniemy, zrozumiemy jak działa komputer
https://youtu.be/q92kykzx1Vw?t=175

Inwestuj w swoją pasję
– Osób które mają pasję i są pracowici jest niedużo
– być ciekawym
– w klasie, w grupie programistycznej,
https://youtu.be/q92kykzx1Vw?t=192

#pokazac #motywacja #kazdego_dnia_mocniejsi
Iga Świątek
– nie oglądaj się na nic innego
– skupić się na swojej pasji
– ćwicz swój mózg
– Iga Świątek – najlepsze rzeczy wpadły do niej wtedy kiedy przestała o nie zabiegać
– przestałą myśleć że musi je zdobyć
– skupiła się na treningu by każdego dnia być mocniejszym
– przestała myśleć czy jest od kogoś lepsza czy gorsza
– skupiła się na tym by trenować, by cieszyć się graniem
– trudne zagranie wytrenować – to po tym wyszła na korcie
– zachęcam do Olimpiady
– ale nie myślcie o wynikach!
– cieszcie się zadaniami, odkrywajcie
– a reszta sama przyjdzie
https://youtu.be/q92kykzx1Vw?t=237

#pokazac #jak_sie_uczyc
Zachęcam do strategii cięższych rękawic!
– trening koszykarzy, trudniej bo przywiązania sznurami do siebie
– ale jak zdjęli to mieli moc!
– jeśli przygotowujesz się do II etapu OIJ to rób zadania z III etapu
– rób zawsze trochę trudniejsze zadania niż to do czego się przygotowujesz
– jak zdejmiesz rękawice będzie Ci łatwiej
– tak jak bokser po zdjęciu rękawic, czy koszykarze – będzie im łatwiej
https://youtu.be/q92kykzx1Vw?t=300

#pokazac #motywacja #kazdego_dnia_mocniejsi
Samemu odkrywać jak najwięcej!
– nie myślimy czy ktoś mocniejszy czy słabszy
– ja unoszę ręce bo zrobiłem coś czego wczoraj nie umiałem, a przedwczoraj nawet nie marzyłem
– to jest sukces!
– zobaczycie jak daleko zaprowadzi!
https://youtu.be/q92kykzx1Vw?t=353

#tablice
Początek wyjaśnienia tablic:
https://youtu.be/q92kykzx1Vw?t=847

Właściwe wyjaśnienie deklaracji tablicy temperatury[3]:
https://youtu.be/q92kykzx1Vw?t=955

Wyjście poza tablicę:
– dokładne wyjaśnienie wyjścia poza tablicę
– najwyższa kara
– błąd
– nie wolno
https://youtu.be/q92kykzx1Vw?t=1318

C++ pozwala pisać nie po swojej pamięci:
– Python nie,
– dlaczego C++ pozwala pisać poza pamięcią?
– sterowniki, dostęp do całej pamięci w kontrolerze rakiety.
https://youtu.be/q92kykzx1Vw?t=1723

Wczytywanie dowolnej liczby komórek
Tablica o dowolnej liczbie elementów:
https://youtu.be/q92kykzx1Vw?t=1808

Omówienie zadania temperatury:
https://youtu.be/q92kykzx1Vw?t=2684

#pokazac #jak_sie_uczyc
Napisz samemu kod!
– jak najwięcej samemu
– nie przepisujmy
– nawet jak nowa rzecz
– lepiej jak samemu
– jak nie daliśmy radę to obejrzyjmy ile chcemy ale potem samemu
https://youtu.be/q92kykzx1Vw?t=3215

#pokazac #brawa
Nerwy nerwy nerwy:
– jest stówa!
– lubię popatrzeć na czasy!
– czy jesteśmy w rankingu
https://youtu.be/q92kykzx1Vw?t=3382

#pokazac #wnikanie #jak_sie_uczyc
Jak nie wszystko zrozumiałe – nic nie szkodzi
– za pierwszym razem może być ciężko
– będa kolejne zajęcia
– warto zrozumieć – tablice serce komputera
– potestować, posprawdzać, pozadawać sobie pytania
– debugować
– posiedzieć kilka godzin
– zrozumieć do końca
https://youtu.be/q92kykzx1Vw?t=3448

Podsumowanie kodu zadania Temperatury:
https://youtu.be/q92kykzx1Vw?t=3503

Jak oceniamy trudność tablic?
– sporo nowych osób w tablicach – jeszcze trudne!
– samemu poćwiczyć
https://youtu.be/q92kykzx1Vw?t=3646

#pokazac #jak_sie_uczyc #challenge
Challenge to jest najważniejsza rzecz!
– za czterdziestki, osiemdziesiątki
– to jest najcenniejsza rzecz
– za setki – że jest moc
– za każdy wysiłek, każde pojedyncze zadanie
https://youtu.be/q92kykzx1Vw?t=3718

#pokazac #uklony_uczestnicy
Brawa dla nas!
– To my jesteśmy mocni
– Tablice to są zaawansowane rzeczy
– Brawa dla nas wszystkich!
https://youtu.be/q92kykzx1Vw?t=4140

Zapowiedź zajęć!
– Kahoot
– przekraczamy granicę
https://youtu.be/q92kykzx1Vw?t=500

Challenge!
https://youtu.be/q92kykzx1Vw?t=3979

AI – podcast
Czy licealista może zajmować się AI?
Jak ważna jest matematyka dla sztucznej inteligencji?
– pochodne potrzebne
– może być programowanie?
https://youtu.be/04wpdCNucnw?t=490

Czy w AI można nie lubić programować?
– podstawa – dobrze się poruszać w Pythonie
– z czasem coraz mniej programowanie będzie ważne
– warstwa programistyczna będzie przesłonięta
– ale musimy wiedzieć co się dzieje pod spodem
https://youtu.be/04wpdCNucnw?t=600

Co trzeba umieć by działać w Machine Learning?
– matematyka
– statystyka
– programowanie
– analityczne, krytyczne myślenie, dążenie do rozwiązania problemu
– komunikacja, działanie w zespole, porozumienwanie
– prezentacja wyników – inni by zrozumieli
– ciekawość, dążenie do rozwoju, wszystko się zmienia
– ludzki mózg nie tylko czyta, ale inspiruje się, łączy kropki
https://youtu.be/04wpdCNucnw?t=1252

Kiedy się uczymy?
– nie gdy słuchamy wykładu, czytamy, oglądamy
– ale gdy odpoczywamy, śpimy
– ludzie przemyśleli to wiedzieli mimo że na wykładzie nie słyszeli
– pamiętam z wczoraj
– słuchanie nie jest świadome
– przyswajanie wiedzy jest świadome
https://youtu.be/04wpdCNucnw?t=1409

Barbara Oakley
– jak się uczyć?
– Coursera
– jak przyswajamy wiedze
– jak się nauczyć matematyki jak się nie lubi
– potrafi zrobić dużo z ludźmi którzy są oporni
https://youtu.be/04wpdCNucnw?t=1533

Jak zacząć uczyć się AI?
– Deep Learning AI / Andrew NG / Coursera
– https://www.andrewng.org/
– trzeba znać podstawy matematyczne
– super układa w głowie układa
– dobrze zrobić doktorat – badawczość – now rzeczy – nie implementujemy gotowe
– jest kreatywność
– czytanie publikacji, na bieżąco,
https://youtu.be/04wpdCNucnw?t=1609

Olimpiada Zaawansowana, wtorek 7 listopada

Zadanie
https://youtu.be/Cj6Gq0S3kC4?t=191

Co to jest to jest fajny ciąg:
https://youtu.be/Cj6Gq0S3kC4?t=207

Ciąg musi się zaczynać od jedynki – tak jak baśń musi zaczyna się od dawno dawno temu:
– od czego musi zaczynać się baśń?
https://youtu.be/Cj6Gq0S3kC4?t=219

Jak idzie na OI?
https://youtu.be/Cj6Gq0S3kC4?t=5030

Olimpiada Poziom II, czwartek 9 listopada

Planet Queries II:
https://youtu.be/x3pf0aiWgnI?t=211

Olimpiada Poziom II, wtorek 7 listopada

Zadanie Synchronizacja:
https://youtu.be/ub1E2lSuafc?t=341

Zadanie Railway Trip 2:
https://youtu.be/ub1E2lSuafc?t=2147

Codeforces? AtCodery Tak!
– Janek pisze!
– AtCodery
https://youtu.be/ub1E2lSuafc?t=3056

Olimpiada OD PODSTAW, środa 8 listopada
Dlaczego Gąsienica
– Temat: Gąsienica:
– fajny algorytm, nieoczywisty
– warto poćwiczyć
– można się nauczyć kodowa
https://youtu.be/4j3BqAJvPrQ?t=146

Challenge:
– fajne zadanie na gąsienice
https://youtu.be/4j3BqAJvPrQ?t=149

Gąsienica – jak działa:
– suma liczb równa 10 – najdłuższy przedział
https://youtu.be/4j3BqAJvPrQ?t=501

Chodziliśmy jak gąsienica!
– jak zachowuje się gąsienica?
https://youtu.be/4j3BqAJvPrQ?t=515

Właściwe wytłumaczenie gąsienicy:
https://youtu.be/4j3BqAJvPrQ?t=712

 

Programowanie OD PODSTAW, poniedziałek 6 listopada

Pilotujemy samolot
– co będzie na zajęciach:
https://youtu.be/jxjG2ezmHD0?t=3

#pokazac #symulacja
Symulacja działania:
https://youtu.be/jxjG2ezmHD0?t=2118

#pokazac #jak_sie_pokazac
Załóż konto na CodinGame:
https://youtu.be/jxjG2ezmHD0?t=2287

Zadanie Chińczyk:
https://youtu.be/jxjG2ezmHD0?t=2575

Wrzucamy kod na szkopuł – do początku
– Dlaczego nie mamy 100
– pokazanie że czas będzie powyżej połowy bez linijek przyspieszających
https://youtu.be/jxjG2ezmHD0?t=2827

Omówienie że mamy ponad połowę czasu
– kara za przekroczenie połowy czasu:
– w konkursach jest kara
– bez konkursu jest 100
– pokazanie tego
https://youtu.be/jxjG2ezmHD0?t=2875

Pokazanie że na szkopule za czas 0.07/0.10 dostajemy 92%:
– przekraczamy połowę czasu
https://youtu.be/jxjG2ezmHD0?t=2990

Omówienie linijek przyspieszających:
– linijki przyspieszające
– dokładne wytłumaczenie
https://youtu.be/jxjG2ezmHD0?t=3047

#pokazac #radosc
Gigantyczna radość – mamy 100 punktów!
– coś pięknego fantastycznego
https://youtu.be/jxjG2ezmHD0?t=3119

Jak działają linijki przyspieszające:
– wyjaśnienie
https://youtu.be/jxjG2ezmHD0?t=3162

Zapowiedź zajęć:
https://youtu.be/jxjG2ezmHD0?t=3654

Opis challenge:
https://youtu.be/jxjG2ezmHD0?t=3510

Mamy Codeforces: https://youtu.be/jxjG2ezmHD0?t=3534

Równanie liniowe – podpowiedź:
https://youtu.be/jxjG2ezmHD0?t=3552

Olimpiada POZIOM II Jan Myszka, czwartek 2 listopada

Zajęcia w skrócie:
https://youtu.be/C06oqAXs5sg?t=84

Zadanie Agenci:
https://youtu.be/C06oqAXs5sg?t=551

Dlaczego warto zrobić Agentów?
– daje finał
– inne proste każdy robił na 100
– Agentów zrobiło mało
– 150 dało finał
https://youtu.be/C06oqAXs5sg?t=2333

Zadanie Travel Plan:
https://youtu.be/C06oqAXs5sg?t=2438

Zapowiedź wtorku
– Jump Pointery:
– ORO Tree

https://youtu.be/C06oqAXs5sg?t=3766

 

Olimpiada POZIOM II Samuel Maj, wtorek 30 października

Zadanie Planets Queries I:
– Jump pointery
https://youtu.be/IRMdwFMJ_NI?t=61
Treść zadania
https://cses.fi/problemset/task/1750/

Zadanie Żabka i kamyczki:
https://youtu.be/IRMdwFMJ_NI?t=2027

Treść zadania Żabka i kamyczki:
https://szkopul.edu.pl/problemset/problem/woPRccmrKT8Nc6qLphCUZl5M/site/

Co warto zapamiętać?
https://youtu.be/IRMdwFMJ_NI?t=3363

Opis challenge:
https://youtu.be/IRMdwFMJ_NI?t=3415

 

 

Olimpiada ZAAWANSOWANA 31.10

Dla kogo Olimpiada Zaawansowana
– finał OI
– nowe algorytmy
– ciekawe zadania
https://youtu.be/OgvfmyFC15w?t=24

Kto bierze udział w Olimpiadzie?
– pierwsze zadania zrobione
https://youtu.be/OgvfmyFC15w?t=153

5 zadań z OI-a – 5 obrazków
– I etap trwa
– jest trochę wolnego
– można przysiąść do Olimpiady
– pomyśleć, potestować, wbić
– zachęcam!
– sporo czasu
https://youtu.be/OgvfmyFC15w?t=186

Jak zacząć udział w Olimpiadzie?
– oi.edu.pl – zakładka jak zacząć
– przeczytać, zarejestrować się
https://youtu.be/OgvfmyFC15w?t=255

Ciężkie zadania w Challenge!
– dobrze
– najszybciej się rozwijamy
– jeśli wychodzimy ze strefy komfortu to wtedy się uczymy
https://youtu.be/OgvfmyFC15w?t=321

Zadanie Oceny – finał XXIV Olimpiady Informatycznej:
https://youtu.be/OgvfmyFC15w?t=392

Złożoność rozwiązania:
https://youtu.be/OgvfmyFC15w?t=2831

Challenge:
https://youtu.be/OgvfmyFC15w?t=2874

 

Zostawił pracę w Google dla Polski | Marek Cygan
Kawecki z Cyganem – rozmowa

Dokąd prowadzi nasza droga?
– rozpoznawanie przedmiotów i chwytania
– problem różnego rozmiaru, materiału
https://youtu.be/LVUxO1kpc2E?t=197

Co daje zwycięstwo w Olimpiadzie
– jest zwycięzcą w konkursie Google’owym?
– przygotowanie do konkursów ważna dla MArka
– to jeden z konkursów
– jest wiele osób które mogą wygrać
– dyspozycja dnia, wykorzystanie szansy, szybcy, czy zadania nam podpasują
– nie przywiązywał wagi do zwycięstwa
– potwierdzenie, że ścieżka jest dobra
– że może osiągnąć sukces
– lubi rozwiązywać problemy, programować więc radość
– to otwiera drzwi do stażu do pracy
https://youtu.be/LVUxO1kpc2E?t=1499

Po sukcesie:
– staż w Google
– 3 miesiące, wakacje
– nie został bo studia, doktorat
– nie pasjonowała go praca w dużej w firmie – miał doświadczenie w innych korpor
– woli mniejsze zespoły – większy wpływ na to co się dzieje
– kilka tysięcy osób – zadanie masz, ale wpływ na całość znikomy

https://youtu.be/LVUxO1kpc2E?t=1615

Czy zachęca do startu w konkursach?
– rób co Cię pasjonuje
– konkurs to porównywanie
– daje info czy idziemy w dobrą stronę, czy się rozwijamy
–  jest element rywalizacji który lubi
– żeby osiągnąć poziom w czymkolwiek musimy być gotowi na poświecenie się tej dziedzinie
– programowanie, gra na pianinie – poświęcenie
https://youtu.be/LVUxO1kpc2E?t=1750

Programowanie OD PODSTAW 30.10 – QUIZ pętla FOR

Nie odkładaj pasji!
– czas – najcenniejszy zasób
– nie odkładaj na jutro
– jeżeli lubimy programować – zostaw inne rzeczy z których nie nic nie ma
– programowanie, tworzenie jest bardziej fascynujące niż gry
– rozumienie, świadomość, że wiem jak to działa – programowanie, komputer – daje radość
– nie tylko radość
– dziś gdy dużo rzeczy za nas miże zrobić AI
– 16 listopada zajęcia z AI
– tym bardziej liczy się wnikanie
– oferty pracy dla programistów C++
– Dużo Senior mało Junior / Młodszy programista
– Dlaczego dużo senioró mało juniorów
– Potrzeba osób które rozumieją
– Proste rzeczy zrobi, to żrobi AI
– to bedzie na zajęciach – jak działa, jak wykorzystywać
– na rynku pracy potrzeba osób które rozumieją
– to co robicie ma sens – wnikanie ma sens
https://youtu.be/mwUQ32BTkXY?t=5

Wnikaj!
Przykład Tomka który wnika:
– korespondowałem
– problem z kodem Olimpiady / Python
– 10 maili wymienili
– widział jak chciał jak wnika
– nie odpuszcza
– nie chciał gotowego rozwiązania, sam wnikał
– python czyta do końca linii (input), cin c++ do spacji – wczytywały mu się spacje i całość źle sortowała
– jak nie będzie rozumieć, wiedzieć,
– byle jaki kod dostaniemy od pomocnika, AI – nie będzie wiedzieć co z tym zrobić, rozumieć
– dlatego świat potrzebuje tych co rozumieją, specjalistów
– umie zaprojektować, wie dlaczego coś źle działa, umie wniknąć i znaleźć info
– takie dzisiejsze zajęcia!
– głębokie wnikanie i rozumienie C++
– nie odpuszczajcie, wnikajcie
https://youtu.be/mwUQ32BTkXY?t=148

100 osób w rankingu Challenge!
– przynajmniej jedno zadanie
– dziękuję
– za każdy punkt
– za 27, 77, za 90
– miejsce gdzie możemy wniknąć, obejrzeć
– wykorzystajmy challenge do wnikania, rozwijania,
– dziękuje nie tylko za setki ale za setki też
– jak się udało dojść do końca super
– to jest radość przyszłość
https://youtu.be/mwUQ32BTkXY?t=246

Czwartek Test OIJ
– bardzo trudny
– każde 10 punktów to info dla nas  – mamy talent
– powyżej 30 punktów ktoś ma to geniusz
– 60 punktów to jest WOW
– cieszę się że nie jesteś zadowolony – masz power, chcesz więcej
– nawet 10 punktów to info, że to co robimy ma sense
https://youtu.be/mwUQ32BTkXY?t=292

Zajęcia Programowanie OD PODSTAW:
– całość info o naszych zajęciach
– https://zajecia.oki.org.pl/#lista_zajec
– wszystkie zajęcia
https://youtu.be/mwUQ32BTkXY?t=450

char vs string – dokładne wytłumaczenie – od omówienia kodu w cpp.sh
– pojedyncze / podwójne ciapki
– miejsce w pamięci
– string dynamiczny, spacje, dowolny tekst

https://youtu.be/mwUQ32BTkXY?t=623

Dokładne wytłumaczenie for
– na przykładzie sumy iteratora i
– poszczególne elementy for
– symulacja działania pętli
– kolejne pytania bardziej dokładnie tłumaczą for
– C++ powtarza tylko jeden rozkaz
https://youtu.be/mwUQ32BTkXY?t=1082

Pierwszy element w for może mieć wiele komend:
https://youtu.be/mwUQ32BTkXY?t=1451

Pętla w C++ zawsze powtarza jeden rozkaz / instrukcję:
– wcięcia bez znaczenia
https://youtu.be/mwUQ32BTkXY?t=1601 

Klamra – jedna instrukcja złożona w warunku – dokładne wytłumaczenie:
https://youtu.be/mwUQ32BTkXY?t=1681
Dokładna analiza kodu z klamrą – wypisywanie cząstkowych sum i:
https://youtu.be/mwUQ32BTkXY?t=1865

Zapowiedź zajęć 6 listopada – Programujemy grę:
https://youtu.be/mwUQ32BTkXY?t=3961

Proszę tylko o Challenge:
– Każdego będziemy mocniejsi
https://youtu.be/mwUQ32BTkXY?t=2151

Okrutne pytanie:
– jeśli robimy trudne rzeczy to się uczymy
https://youtu.be/mwUQ32BTkXY?t=2278

Trzeci parametr for może mieć wiele instrukcji:
– dokładna analiza przejścia pętli for
https://youtu.be/mwUQ32BTkXY?t=2321 

Czy robić quiz na facebooku?
https://youtu.be/mwUQ32BTkXY?t=2510

Jak dołączyć do Challenge?
– strona programowanie od podstaw
– na dole
https://youtu.be/mwUQ32BTkXY?t=2587

Programowanie to doing, Challenge jest najważniejszy!
– jeśli nie będziemy robić challenge nic z tego nie będzie
– warto spędzieć 4h
– jeśli kochamy tą wycieczkę rowerową jeśli kochamy programowanie
– to kminienie, sprawdzanie będzie sprawiać nam przyjemność
– dlaczego wypisuje 1 3 6 10 – musi nam sprawiać radość!
https://youtu.be/mwUQ32BTkXY?t=2613

Pętla i warunek:
– wypisujemy tylko sumy podzielne przez 3
https://youtu.be/mwUQ32BTkXY?t=2757

Warunek && and i w if – wyjaśnienie:
– wytłumaczenie na przykładzie
https://youtu.be/mwUQ32BTkXY?t=3158

Warunek lub || lub or w if:
– dokładne wytłumaczenie na przykładzie
https://youtu.be/mwUQ32BTkXY?t=3292

Łączenie warunków and oraz or lub i && ||:
https://youtu.be/mwUQ32BTkXY?t=3547

Challenge
– Najważniejsza część
– Chińczyk – proste
– OIJ – możemy robić – nasz quiz
– tram – wisienka na torcie Codefroces
– chcemy dołączyć do grupy / pracować?
– portfolio
– zajęcia z Codeforces – przepustka do każdej grupy
– proste zadanie
– i rób portfolio w wordzie Google docs –
– przepustka do grup/pracy
– jest prosty
– nie wychodzi? nie odpuszczajmy
– pytajmy na discordzie, ale nie odpuszczajmy jest najważniejszy
https://youtu.be/mwUQ32BTkXY?t=3848

Zapowiedź OKI 6 listopada:
https://youtu.be/mwUQ32BTkXY?t=3961

 

Olimpiada Poziom II 26.10
Jan Myszka

Tree XOR
Przykład techniki re-routing:
https://youtu.be/SXISODGQhSE?t=343

Glory to Algotzka:
https://youtu.be/SXISODGQhSE?t=2217

PowerPlant:
https://youtu.be/SXISODGQhSE?t=3339

Olimpiada Poziom II 24.10
Samuel Maj

Co to jest drzewo?
https://youtu.be/SVFvX16JnFg?t=237

Jak liczymy dynamika?
https://youtu.be/SVFvX16JnFg?t=387

Najprosztsze zadanie na dynamiki na drzewach:
https://youtu.be/SVFvX16JnFg?t=399

Zadanie – Ile jest ścieżek w drzewie długości k?
https://youtu.be/SVFvX16JnFg?t=963

Średnica drzewa jako dynamik na drzewie:
https://youtu.be/SVFvX16JnFg?t=3171

Olimpiada OD PODSTAW 25.10
Bitwa pod Wiedniem:
https://youtu.be/fQJQoXIUXMk?t=238

Jak policzyć sumę cyfr?
https://youtu.be/fQJQoXIUXMk?t=482

Sortowanie z własnym komparatorem:
https://youtu.be/fQJQoXIUXMk?t=931

Zadanie Anagramy:
https://youtu.be/fQJQoXIUXMk?t=1223

Zadanie 10 wspaniałych:
https://youtu.be/fQJQoXIUXMk?t=1504

8 listopada – gąsienica!
https://youtu.be/fQJQoXIUXMk?t=1939

Programowanie ZAAWANSOWANE 2023.10.26:
Portfolio – najważniejsze:
– pierwsze pytanie
https://youtu.be/co20wXJbTGI?t=21
Pokaż światu!
– pokaż światu swój projekt
https://youtu.be/co20wXJbTGI?t=242

Programowanie OD PODSTAW:

Co jeśli nie lubisz nudy?
Kto lubi nudę?
– nauczyciel który wstawia czówrki
– zmywanie, obieranie ziemniaków
– chcemy coś nowego
– dlatego jest komputer by robił nudne rzeczy
– kwinstesencja programowania, pętla
– niech komputer robi nudne rzeczy
– a y wymyślajmy jak zaprząc go do tego by robił nudne rzeczy dla ans
https://youtu.be/1sw07Gt4MKk?t=4

Wytumaczenie pętli:
https://youtu.be/1sw07Gt4MKk?t=797

Zapowiedź:
https://youtu.be/1sw07Gt4MKk?t=3517

Opis challenge:
https://youtu.be/1sw07Gt4MKk?t=3259

Olimpiada zaawansowana Wtorek 17.10 

Rozpoczęła się Olimpiada!
Weź udział!
https://youtu.be/13fyYpbhjSw?t=85

Zadanie Basin City Surveillance
https://youtu.be/13fyYpbhjSw?t=228

Nie daj się oszukać!
Co jest bejtem?
– n jest do 100 000 ale nie przekroczy 100 000
https://youtu.be/13fyYpbhjSw?t=965

Jak liczyć złożoność – zaawansowane:
https://youtu.be/13fyYpbhjSw?t=1508

Zadanie Żarłacz Bitowy – Ontak:
https://youtu.be/13fyYpbhjSw?t=2893

Patrz Out of the box!
– nie przeombinować zadania dla n małego
https://youtu.be/13fyYpbhjSw?t=3127

Olimpiada poziom II Wtorek 17.10 – Dynamiki / Drzewa:
Czy OI jest trudny?
https://youtu.be/KkxGH929UxI?t=130

Zadanie Stonks:
https://youtu.be/KkxGH929UxI?t=656

Codeforces – Game fo the year:
https://youtu.be/KkxGH929UxI?t=2438

Another Mex problem
https://youtu.be/KkxGH929UxI?t=4136

Olimpiada od PODSTAW 2023.10.18 Sortowanie
Sortujemy!
https://youtu.be/UE4h3nGWomA?t=31

Co oznacza sortowanie?
– dyskusja
https://youtu.be/UE4h3nGWomA?t=189

Sortowanie po pierwszej cyfrze:
https://youtu.be/UE4h3nGWomA?t=375

Czy w II klasie liceum dam radę przygotować się do Olimpiady?
https://youtu.be/UE4h3nGWomA?t=3165

 

Programowanie zaawansowane 20.10.2023 Przyspieszanie – Jakub Kaszycki
Nieznane olimpijskie sztuczki:
– przewaga przy wczytywaniu
https://youtu.be/uoY7kcRSvto?t=111

Jak wczytujesz?
– cin / scanf / linijki
https://youtu.be/uoY7kcRSvto?t=244

scanf potrafi na olimpiadzie być dwa razy szybszy:
https://youtu.be/uoY7kcRSvto?t=321

Zastrzeżenia!
– na własną odpowiedzialność
– nie jest zakazane
https://youtu.be/uoY7kcRSvto?t=478

Konkursy oparate o czas rzeczywisty:
– Codeforces / Potyczki algorytmiczne

Konkursy oparte o pomiar liczby instrukcji:
– Olimpida Informatyczna, OIJ
https://youtu.be/uoY7kcRSvto?t=517

Czy Windowsy kłamią?
https://youtu.be/uoY7kcRSvto?t=4373

Bo świat jest pełen NIESPODZIANEK…
https://youtu.be/uoY7kcRSvto?t=1836

Zmieniamy parametry kompilatora
https://youtu.be/uoY7kcRSvto?t=4634

Szybkość czy wielkość?
https://youtu.be/uoY7kcRSvto?t=4662

Kiedy wojny religijne?
https://youtu.be/uoY7kcRSvto?t=1676

ZMIENIAMY SPOSÓB TWORZENIA NASZEGO PROGRAMU:
https://youtu.be/uoY7kcRSvto?t=4634

 

 

 

Programowanie OD PODSTAW #5 16.10 warunek quiz

Chcę żebyście nie odpuszczali!
Kto jest liderem?
Kogo potrzebują?
– rozmawiałem ze znajomym pracuje w dużym zespole
– w każdym zespole jest lider, super gość, może
– nie wiadomo idziemy do niego
– jak nie ma kto zrobić on zrobi
– najtrudniejsze rzeczy daje się tej osobie
– zapytałem czy to jest osoba która wszystko umie
– własnie nie – to jest niemożliwe
– tak wszystko się dziś zmienia że niemożlwie wszytko umieć
– Ci którzy są na zaawansowanym programowaniu – Javascript, specyfikacja przeglądarek, Python, C++ są dynamiczne
– te osoby nie wiedzą wszystkiego, one po prostu nie odpuszczą
– nie ma znaczenia czy to ich zakres obowiązków czy nie
– będą szukać w interencie, pytać, ChatGPT, testować
– aż zrozumieją, aż dojdą, rozwiążą, napiszą, obejdą
– połączenie przeszukiwania i kreatywności
– czy godzina czy tydzień – nie odpuszczają
– namwiam nas wszystkich do tego
– tak jak dziś na zajeciach
– zrozumieć – warunek, podstawienie, wypisywanie na ekran
– są haczyki i chcemy je zrozumieć
https://youtu.be/H9dRa-1vX4o?t=11

Chce żebyście nie odpuszczali!
https://youtu.be/H9dRa-1vX4o?t=139

Znak specjalne:
https://youtu.be/H9dRa-1vX4o?t=820
Wykorzystaj w Challenge:
https://youtu.be/H9dRa-1vX4o?t=1181

#pokazac
Dokładne – dobre- omówienie warunku:
– omówienie całego kodu cpp.sh
– od warunku zależy jedna insttrukcja
https://youtu.be/H9dRa-1vX4o?t=1832

Wcięcia bez znaczenia dla C++
– od warunku zależy jedna instrukcja:
https://youtu.be/H9dRa-1vX4o?t=2009

Klamry w warunku:
– Warunek – Klamra – jedna instrukcja złożona:
https://youtu.be/H9dRa-1vX4o?t=2137

Omówienie konstrukcji if / return:
https://youtu.be/H9dRa-1vX4o?t=2316

Wielokrotne konstrukcje if / return:
https://youtu.be/H9dRa-1vX4o?t=2572

Konstrukcja if / else if:
– alternatywa dla if / return
https://youtu.be/H9dRa-1vX4o?t=2884

== vs = czyli pojedyczne równa się vs podwójne
Użycie == się w warunku vs =
– Najczęstszy błąd
https://youtu.be/H9dRa-1vX4o?t=3332

Test OIJ – weź udział
https://youtu.be/H9dRa-1vX4o?t=325

#pokazac #dlaczego_olimpiada
Olimpiada Informatycnza ruszyła!
https://youtu.be/H9dRa-1vX4o?t=301

Ile się nauczyliśmy?
https://youtu.be/H9dRa-1vX4o?t=3863

Olimpiada Poziom II 12.10.2023

Python vs C++
– brak możliwości dorównywania czasów
https://youtu.be/88-vFJAvl8A?t=49

Loteria – finał XI OIG indywidualnej:
https://szkopul.edu.pl/problemset/problem/qcCvZzMRLiaJB30vbP8gP7Jf/site
Omówienie zadania Loteria:
https://youtu.be/88-vFJAvl8A?t=160

Palindromy – Zadanie z obozu Ilocamp – 2011:
https://szkopul.edu.pl/problemset/problem/YQLT8W5_ALmbj3bYmd6aP5B4/site
Omówienie zadania Palindromy:
https://youtu.be/88-vFJAvl8A?t=1285
Rozwiązanie – idea:
https://youtu.be/88-vFJAvl8A?t=2286
Częsty trik:
https://youtu.be/88-vFJAvl8A?t=2339

 

Programowanie ZAAWANSOWANE 12.10.2023

Gra w życie Niesamowita !
– coś do czego dziś chcemy dojść
– losowanie robaczków
– definiujemy jak duża plansza
– szybowiec
https://youtu.be/0VGjXqGDTS0?t=6

Mnóstwo układów w grze w życie:
– układ który ma okres 5000
– jest bardzo dużo układów
– szybowiec
https://youtu.be/0VGjXqGDTS0?t=170

Za tydzień
– Jakub Kaszycki
– prawdopodbnie 19:00 – sprawdzić na stronie
– są 3 linijki przyspieszające
– o jeszcze szybszym wczytywaniu
– o budowie komputera, C++
– zobaczymy serce C++
https://youtu.be/0VGjXqGDTS0?t=241

Piszemy aplikację mobilną / stronę www!
– to co każdy z nas zrobi jak wystawić do internetu / aplikacje mobilną
https://youtu.be/0VGjXqGDTS0?t=348

Po to mamy dwa tygodnie by dodać więcej rzeczy do naszej aplikacji:
– szerokość /wielkośc planszy
– czas odświeżania
– krok po kroku życia
– zaznaczenie myszą planszy
https://youtu.be/0VGjXqGDTS0?t=377

Sztuczna Inteligencja OD PODSTAW!
– 16 listopada 19:00
– od jakiego tematu zacząć?
– ChatGPT, jak wykorzystać?
– jak podłączyć się do ChatGPT – strona www
– jakie są darmowe narzędzia AI
– architektura sztucznej inteligencji, jak jest zbudowana, jak ona działam jak ją protejektować, zrozumeć AI
– rozwiązywanie problemów, modelowanie, wykorzystanie przy pomocy sztucznej inteligenci
– nasze typy: C – najciekawsze, potem A
https://youtu.be/0VGjXqGDTS0?t=443

Plan na dziś – dojść do końca – 1.8
https://youtu.be/0VGjXqGDTS0?t=562

Podsumowanie wersji 1.6:
– plik index.html, pokzywane rozszerzenia
– omówienie dokomentu
https://youtu.be/0VGjXqGDTS0?t=614

Wyjaśnienie dodatkowej obwódki – fake’owych komórek martwych:
– by łatwo się liczyło sąsiadów
https://youtu.be/0VGjXqGDTS0?t=782

Podsumowanie wersji 1.7
Mamy grę w życie!
https://youtu.be/0VGjXqGDTS0?t=1278

Komentarz na stronach html/www:
https://youtu.be/0VGjXqGDTS0?t=1293

#pokazac
Animacja
– co 50 ms animacja
– omowienie
https://youtu.be/0VGjXqGDTS0?t=2062

#pokazac #super
radosc z animacji!
– jakie robaki nam żyją
– licze ze sami napiszecie, pobawicie sie
https://youtu.be/0VGjXqGDTS0?t=2089

Omówienie ostatecznej Gry w życie v1.8:
– fieldset
– pamiętanie animacji
https://youtu.be/0VGjXqGDTS0?t=2171

Aktualizacja pola tekstowego w JavaScript:
https://youtu.be/0VGjXqGDTS0?t=2516

Szybowiec – generowanie włąsnych wzorców gra w życie:
https://youtu.be/0VGjXqGDTS0?t=3131

Czego braukuje w naszej nasze grze:
– wzorce, poszukać na wikipedii
– jak często ma być odświeżanie
– przejdź do kolejnego kroku
– pokaż kolejny krok innym kolorem
– zaznaczanie myszą komórek
– będzie quiz
– zachęcam by zrobić
https://youtu.be/0VGjXqGDTS0?t=3309 

Zajęcia przygotowują nas do zawodostwa
– nasza aplikacja to jest zawodostwo!
– szczególnie jak rozbudujemy i wrzucimy na github
– zachęcam
– nie wiemy jak się motywować
– a tu mamy projekt
https://youtu.be/0VGjXqGDTS0?t=3503

 

Olimpiada OD PODSTAW 11.10.2023

Zadanie Kaloryczna Pizza:
– implementacja sum prefiksowych
– odpwiadamy jaka jest suma na zadanym przedziale
https://youtu.be/KXDGltQq96s?t=219
Zadanie Kaloryczna Pizza w Challenge Olimpiada POZIOM II:
https://szkopul.edu.pl/c/olimpiada-od-podstaw-2023-24/p/kal/

Zadanie przygody Tomka Sawyera:
https://youtu.be/KXDGltQq96s?t=631
Zadanie przygody Tomka Sawyera w Challenge Olimpiada POZIOM II:
https://szkopul.edu.pl/c/olimpiada-od-podstaw-2023-24/p/pts/
Zadanie przygody Tomka Sawyera publiczne:
https://szkopul.edu.pl/problemset/problem/9hctKrB7-jbGkh2QhWKQ4hz9/site

Challenge:
– 2 zadania Sumy prefiksowe
– Różności
https://youtu.be/KXDGltQq96s?t=1414

Gdzie są nasze zadania?
– strona OKI
https://youtu.be/KXDGltQq96s?t=1465

Zapowiedź zajęc:
https://youtu.be/KXDGltQq96s?t=2355

Róbmy zadania!
https://youtu.be/KXDGltQq96s?t=2503

Kiedy będzie Binary Search?
https://youtu.be/KXDGltQq96s?t=2752

Czy AI wyprze programistów?
– będzie potrzeba coraz więcej specjalistów
– trzeba będzie być bardzo dobrym programistom
– potrzeba będzie specjalizacji
https://youtu.be/KXDGltQq96s?t=2784

 

 

Olimpiada Poziom II 10.10.2023

Jak dołączyć do Challenge Olimpiada Poziom II?
https://oki.org.pl/olimpiada-informatyczna-poziom-ii/

Zadanie Zero Path – Codeforces C / Div2:
– prosty dynamik
https://youtu.be/7f67SLus4nQ?t=293
Treść zadania Zero Path w Challenge Olimpiada Poziom II:
https://szkopul.edu.pl/c/oki-poziom-2-20232024/p/zer/
Treść zadania Zero Path – Codeforces:
https://codeforces.com/problemset/problem/1695/C

Multiset Generator – Codeforces E / Div2:
https://youtu.be/7f67SLus4nQ?t=1653
Treść zadania Multiset Generator w Challenge Olimpiada Poziom II:
https://szkopul.edu.pl/c/oki-poziom-2-20232024/p/mul/
Treść zadania Multiset Generator – Codeforces:
https://codeforces.com/problemset/problem/1798/E

Sum Over Zero – Codeforces E / Div2:
https://youtu.be/7f67SLus4nQ?t=4721
Omówienie zadania:
https://youtu.be/7f67SLus4nQ?t=5113
Treść zadania Sum Over Zero w Challenge Olimpiada Poziom II:
https://szkopul.edu.pl/c/oki-poziom-2-20232024/p/sumzer/
Treść zadania Sum Over Zero – Codeforces:
https://codeforces.com/problemset/problem/1788/E

Challenge – 6 zadań z dynamików
https://youtu.be/7f67SLus4nQ?t=5872

Zapowiedź zajęć 17 października :
https://youtu.be/7f67SLus4nQ?t=6030

 

Olimpiada Zaawansowana 10.10.2023

Zadania są przed zajęciami!
Popatrz! Pomyśl! Więcej skorzystasz!!!
https://youtu.be/wfnSwOWkMP8?t=153

Gdzie znajdę zadania przed zajęciami?
https://youtu.be/wfnSwOWkMP8?t=262

Zadanie Teoreticar – Treść:
https://oki.org.pl/wp-content/uploads/2023/10/statement_en.pdf
Omównie:
– znany problem: Kolorowanie krawędziowe
https://youtu.be/wfnSwOWkMP8?t=188

Zadanie Brought Down the Grading Server?
https://oki.org.pl/wp-content/uploads/2023/10/3-balance.pdf
Omówienie:
https://youtu.be/wfnSwOWkMP8?t=2150

Gdzie tu jest graf?
Jak znaleźć graf?
Jak myśleć o zadaniu w kontekście grafu?
Jaka jest najprostsza intuicja grafowa?
https://youtu.be/wfnSwOWkMP8?t=2522

 

Programowanie OD PODSTAW 9.10.2023

Już możemy programować grę!
Temat: Programujemy grę:
– jak to – tylko wczytujemy, wypisujemy
– nie szkodzi nauczy się jedne rzeczy która nam pozwoli
https://youtu.be/H1kz3u9zIWg?t=3

Podejmowanie decyzji!
Dzisiaj pdejmowanie decyzji!
– w życiu podejmujemy decyzje
– pieniążki na słodycze czy oszczędności
– jeśli zimno bierzemy kurtkę
– uczyć się czy nie uczyć
– jeśli umiem zagram w grę w przeciwnym wypadku będę się uczył
https://youtu.be/H1kz3u9zIWg?t=26

Komputer podejmuje decyzje
– dokładnie tak samo jak my
– przelew – sprawdzamy czy przelew można wykonać – kwota przelewu mniejsza od stanu konta
– rakieta – jeśli blisko Ziemi – silniki które zatrzymują
– gra – dziś pieszmy – mnóstwo decyzji
– jeśli gracz coś zjadł więcej punktów
– komputer który gra – musi ropoznawać kto najbliżej i zestrzeliwać
– dziś będziemy to pisać i będzie w naszym challenge
https://youtu.be/H1kz3u9zIWg?t=79

Ponad 120 osób spróbowało zrobić zadanie!
– dziękuję
https://youtu.be/H1kz3u9zIWg?t=175

Uwierz że możesz!
Pokonywanie problemów to RADOŚĆ!
Historia:
– twarza w twarza z jednym z uczniów
– po raz pierwszy miał napisać kod do sum prefiksowych
– tak jak mamy w środę na zajęciach Olimpiada OD PODSTAW
– mówi, że sam nie napisze
– napisał ten kod w ciągu 20 minut
– jaką miał gignatyczną radość
– jaki był szczęśliwy z tego powodu
– zachęcam!
– uwierz w siebie
– ze możesz sam, że nie musisz przepisywać
– proste, potem coraz trudniejsze rzeczy
– jeśli coś jest trudne to dobrze
https://youtu.be/H1kz3u9zIWg?t=183

Jeśli coś jest trudne to dobrze!
– to fantastycznie
– to znaczy, że za chwilę będziesz mocniejszy
– pokonasz trudnośc i zrobisz kolejny krok do przodu
– dziś jest ten dzień po którym będziesz mocniejszy
– jutro będziesz czuł się bardziej komfortowo bo będziesz dalej
– to dobrze że czgoś nie wiemy
– to znaczy że poznajemy
– uwierzmy w siebie
https://youtu.be/H1kz3u9zIWg?t=236

Podejmowanie decyzji – początek:
– opis – podejmowanie decyzji i gra
– opis programu cpp.sh
– co robi program który wypisuje stan konta i kwote przelewu
– zmienne, szufladki, liczby całkowite
https://youtu.be/H1kz3u9zIWg?t=264

Życzę każdemu by miał tyle pieniędzy by potrzebował long long!
https://youtu.be/H1kz3u9zIWg?t=448

x = x – 6 – równanie czy podstawienie
Podstawienie w C++
– x = x – 6
Chcemy wypisać stan konta po przelewie:
https://youtu.be/H1kz3u9zIWg?t=474

Piekne pokazanie interaktywności z publicznością:
– radosne odczytanie odpowiedzi uczestników
– mamy dyche, przelew 6 wypisze 4
https://youtu.be/H1kz3u9zIWg?t=513

Operacja podstawienie
Czy matematycznie x = x-6 ma sens?
– to podstawienie
– to równa się jest informatyczne
https://youtu.be/H1kz3u9zIWg?t=566

Jak piszą programiści C++?
Jak piszą C++sowcy?
– x -= 5;
– minus równa się
– jest wolność, C++ mówi – jest wolność – zrób jak chcesz,
https://youtu.be/H1kz3u9zIWg?t=640

Warunek:
Wytłumaczenie warunek if:
– mamy 10 chcemy przelać 17
– nie da rady – nie ma kasy
– w każdym jezyku praktycznie warunek jest if
– sprawdzamy czy są pieniądze na koncie
https://youtu.be/H1kz3u9zIWg?t=772

Właściwe wytłumaczenie warunku:
– cout wypisze się tylko wtedy gdy kwota przelewu większa od stanu konta
– warunek w nawiasach orkągłych
– jeśli warunek spełniony wypisz  cout NO MNOEY
https://youtu.be/H1kz3u9zIWg?t=941

No MONEY – Radosć działa!
https://youtu.be/H1kz3u9zIWg?t=1018

Wcięcie tylko dla nas:
– instrucja po if będzie wypisana tylko wtedy gdy warunek jest spełniony
https://youtu.be/H1kz3u9zIWg?t=1029

Warunek i 2 instrukcje:
Co gdy po warunku chcemy mieć 2 instrukcje?
– druga instrukcja jest wypisywana bez klamer
– tylko jedno polecenie bezpośrednio po warunku zależy od warunku
https://youtu.be/H1kz3u9zIWg?t=1154

Klamra – więcej instrukcji zależy od if:
– klamra jest jedną instrukcją
https://youtu.be/H1kz3u9zIWg?t=1315

return w if – reszta nie jest wykonywana gdy warunek spełniony:
– lepsza alternatywa dla else
https://youtu.be/H1kz3u9zIWg?t=1504

Podsumowanie kodu – if return – reszta pod if:
https://youtu.be/H1kz3u9zIWg?t=1843

Rozwiązanie zadania – Aplikacja bankowa:
https://youtu.be/H1kz3u9zIWg?t=1815

Wrzucamy zadanie Aplikacja bankowa na szkopuł:
– omówienie treści
– wrzucenia treści
https://youtu.be/H1kz3u9zIWg?t=1937

To jest zadanie z Challenge!
https://youtu.be/H1kz3u9zIWg?t=2083

radosc / pokazac KONIECZNIE
Nie ma stówy?
– WIELKI KRZYK
– dlaczego?
– w zadaniu mamy 10^15 a daliśmy setkę
– nie odpuścimy
https://youtu.be/H1kz3u9zIWg?t=2144

#pokazac #top #radosc
Będzie dobrze – okryk radości – długie:
– jest stówa!!!
https://youtu.be/H1kz3u9zIWg?t=2237

Będzie dobrze – okryk radości – krótsze:
– jest stówa!!!
https://youtu.be/H1kz3u9zIWg?t=2249

Krótkie wytłumaczenie long long i int:
– long long – pudełko które przchowuje liczby 1 i 18 zer
– int – pudełko które przchowuje liczby 1 i 9 zer
https://youtu.be/H1kz3u9zIWg?t=2290

if / else – wytłumaczenie:
– klamry
– identyczy program jak poprednio
– też rozwiązuje ansze zadanie
https://youtu.be/H1kz3u9zIWg?t=2435

Warunek >= oraz ==:
https://youtu.be/H1kz3u9zIWg?t=2749

Warunek >=2 to to samo co >1:
https://youtu.be/H1kz3u9zIWg?t=2822

Warunek == – porównania:
– kiedy stawiamy = a kiedy stawiamy ==
https://youtu.be/H1kz3u9zIWg?t=2857

string – wytłumaczenie:
– dowolny napis – tekst, imie, spacje
– baner – Dyzio lapie muchy
https://youtu.be/H1kz3u9zIWg?t=3108

Piszemy grę!
– wchodzimy na stronę CodinGame
– możemy pisac programy działające w grach
– wytłumaczenie o co chodzi w grze
– oprogramowujemy statek
– statek musi zestrzeliwać kosmitów
– musimy powiedzieć co ma robić ten statek
– w dowolnym języku możemy pisać – my C++

https://youtu.be/H1kz3u9zIWg?t=3258

Zwykle poprawiamy kod!
– mamy już main
– mamy grę która działa w nieskończonej pętli
https://youtu.be/H1kz3u9zIWg?t=3365

Co mam zrobić w naszym zadaniu:
– dostajemy nazwę o odległość dwóch najbliższych wrogów
– wroga 1 / wroga 2 –
– ze wszystkich nadlatujących statków
– musimy zdecydować czy strzelamy we wróg 1 czy wróg?
– strzelamy w tego bliżej
– nasz program musi porównać dwie odległości i strzelić w tego który jest bliżej
– musi wypisać tego w którego strzelamy
– musimy wypisać jego nazwę – tego który jest bliżej
– jeśli 1 jest bliżej – nazwe 1
– jeśli 2 jest bliżej – nazwę 2 (else)
– oprogramowaliśmy nasze działo
https://youtu.be/H1kz3u9zIWg?t=3396

emocje, strzelamy!
Gramy, gramy:
– strzelam wnjabliższych!
– przegraliśmy
– sam się zastanawiam
– powinniśmy byli wygrać
https://youtu.be/H1kz3u9zIWg?t=3805

#pokaza #radosc
okrzyk wygraliśmy
mission completed
jesteśmy ocaleni
Wgraliśmy
– działa
– strzela w najbliższych
– najliższy, najbliższy
– wszyscy pokonani, zwyciestwo
– jesteśmy oceleni
– mission completed
– brawa
https://youtu.be/H1kz3u9zIWg?t=3855

Analizujemy krok po kroku:
– widać klatka po klatce do którego strzela
– cały czas strzela do nabliższego
https://youtu.be/H1kz3u9zIWg?t=3967

Skrótowe wytłumaczenie kodu:
https://youtu.be/H1kz3u9zIWg?t=4027

Co w Challenge?
https://youtu.be/H1kz3u9zIWg?t=4128

Jak wrzucamy OnBoarding?
https://youtu.be/H1kz3u9zIWg?t=4175

Zachęcam do Challenge – możemy się bawić!
– nie ma nić fajniejszego!
https://youtu.be/H1kz3u9zIWg?t=4510

Zapraszam na kolejne zajęcia!
https://youtu.be/H1kz3u9zIWg?t=4527

Jak mapisać Mission Completed w Zadaniu OnBoarding:
https://youtu.be/H1kz3u9zIWg?t=4612

Czy lubie placki?
– KRZYK kocham placki!
https://youtu.be/H1kz3u9zIWg?t=4639

Czy da się zobaczyć swoje rozwiązanie zadania w szkopule?
– TAK
https://youtu.be/H1kz3u9zIWg?t=4650

Radości z OnBaordingu:
– to jest co fantastycznego
– zapraszam na za tydzień
– zacząłem programować gdy miałem 11 lat
– wszystko jest na stronie Programowanie OD PODSTAW
– jak dołączyć do Challenge
https://youtu.be/H1kz3u9zIWg?t=4710

Pokazać!
Quiz OnBoarding – nagraj video:
https://youtu.be/H1kz3u9zIWg?t=4794

 

 

Olimpiada OD PODSTAW #3, 4 października

Temat: Sumy prefiksowe

Proste i potężne!
https://youtu.be/80SY7ZsPrXw?t=56

Brutalne obliczanie sumy:
https://youtu.be/80SY7ZsPrXw?t=296

Program który liczy brutalnie:
https://youtu.be/80SY7ZsPrXw?t=678

Czasy brutalnego liczenia:
– dla miliona danych – nie da rady odpowiedzieć
https://youtu.be/80SY7ZsPrXw?t=1165

By polepszać biliony razy!
Milion razy szybciej!
https://youtu.be/80SY7ZsPrXw?t=2613

Sumy prefiksowe – wyjaśnienie:
– suma od zera
https://youtu.be/80SY7ZsPrXw?t=1314

Kod sum prefiksowych:
https://youtu.be/80SY7ZsPrXw?t=1921

To jest genialne!
– szybkośc sum prefiksowych
– w czasie gdy wolniejszy działała my wymyślilśmy szybszą metodę, zakodowlaiśmy i zrobiliśmy!
– lepiej pomyśleć
– im większe dane tym większa różnica!
https://youtu.be/80SY7ZsPrXw?t=2336

Porównanie bruta i sum prefiksowych:
– liczba operacji bruta / sum prefiksowych
– milion razy milion vs 2 miliony!
https://youtu.be/80SY7ZsPrXw?t=2431

Challenge:
https://youtu.be/80SY7ZsPrXw?t=3632

 

Olimpiada Zaawansowana #2, 3 października

Temat: Dodatkowe podzadanie – dużo pytań
https://youtu.be/LLUZae4Z7gc?t=84

#pokazac #doing
Można rozumieć, wytłumaczyć – ale implementacja to coś innego!
Dlatego implementuj samemu!
Trzeba ćwiczyć!
Dobijamy!
https://youtu.be/LLUZae4Z7gc?t=155

Popatrz na zadania przed zajęciami!
https://youtu.be/LLUZae4Z7gc?t=289

Co w najbliższym czasie?
https://youtu.be/LLUZae4Z7gc?t=353

Warto brać udział w Meta Hacker Cup!
– podobne do Olimpiady!
https://youtu.be/LLUZae4Z7gc?t=460

Zadanie Gra w kolorowanie:
https://youtu.be/LLUZae4Z7gc?t=568

Wielki zderzacz terionów:
Potyczki algorytmiczne – poziom A – najwyższy:
Dużo trudniejszy poziom niz II etap OI-a
Poziom finału OI-a
https://youtu.be/LLUZae4Z7gc?t=2391

Podsumowanie zadania:
https://youtu.be/LLUZae4Z7gc?t=4526 

Programowanie zaawansowane #2 5 października

Jak szukać sensu?
Szukamy sensu w programowaniu:
– chcemy się motywować
– tworzymy projkety
– projekt to robienie aplikacji
– na przykład gra w życie
– dwie proste zasady
– do nieskończonych możliwości, oscylatorów
https://youtu.be/pcWWngfY_LQ?t=8

Co to jest projekt?
– aplikacja którą tworzymy
– to może być symulacja, gra, czy jutro będzie padał deszcz, tętno, sztuczna inteligencja
https://youtu.be/pcWWngfY_LQ?t=84

Po co tworzymy aplikacje?
– nauczyć się
– jaki język, jak się robi
https://youtu.be/pcWWngfY_LQ?t=124

My naszą aplikację udostępnimy
– jak stronę www
– stworzymy aplikację na komókę!
– każdy z nas będzie mógł tą aplikację zainstalować
https://youtu.be/pcWWngfY_LQ?t=138

Opis naszej srony Gra w życie:
– kod / opisy / omówienia
https://youtu.be/pcWWngfY_LQ?t=289

Programowanie to DOING:
– zróbmy samo
– nagroda
– aplikacja na komórki, strona www
– eksperymentujmy, sprawdzajmy
https://youtu.be/pcWWngfY_LQ?t=3728

Weźmy udział w quizie:
https://youtu.be/pcWWngfY_LQ?t=3867

Bawić się!
Programowanie jest po to by się bawić!
– Piękne
– Entuzjamy
– zmieniamy komórki
– ma problemy z rysowaniem – to fajnie
https://youtu.be/pcWWngfY_LQ?t=2788

Uporządkowanie płótna – funkcje i zmienne: https://youtu.be/pcWWngfY_LQ?t=778
Rysujemy dowolną komórkę – martwą lub żywą na planszy: https://youtu.be/pcWWngfY_LQ?t=1267
Plansza z losowymi komórkami: https://youtu.be/pcWWngfY_LQ?t=2767

 

Programowanie od podstaw #3 2 października
Kahoot Wejście/Wyjście

Ciekawość!
Gdy byłem nastolatkiem
– dlaczego gdy jest głóśny dźwięk to się psuje
– co w środku?
– ludziki?
– dziś zajrzymy do środka komputera
– C++ jest fnatasytcznym językiem
– pokazuje jak zbudowany jest komputer
– dotkniemy komputer –
– spróbujemy zepsuć program
– nie poznamy programowania – jeśli nie będziemy go psuć
– nie poznamy programowania jeśli nie dojdziemy do jego granic!
– kubica – wykręcał najlepsze czasy – wiedzieła gdzie jest granica przyczepności
– dziś dotkniemy granic możliwości komputera / C++
– w ten sposb będziemy się bawić – QUIZ
https://youtu.be/B0bUvGFdgGA?t=3

Serdecznie dziękuję!
– za ogień
– że chcecie programować
– quiz facebook ASCII
– powstał film
– pokazanie filmu
– inspiracja kaczka dziwaczka
– domek, animacja lokomotywa
https://youtu.be/B0bUvGFdgGA?t=99

Programowanie zaawasnowane #2:
– inspirujemy sie projektem
– projekt nas uczy, nadaje sens
– wszystko jest omówiene
https://youtu.be/B0bUvGFdgGA?t=189

Olimpiada informatyczna – inspiracja
– rozwiązujemy problemy przy pomocy komputera
– jakie problemy?
– ja mam taki problem że jutro do szkoły idę
– jak znaleźć lek na raka, strategię iwnestycyjną, rozłożyć siano w lesie by jelonki najlepiej zjadły
– gdzie informatyka – te problemy rozwiązują informatycy
– olimpiada nas uczy rozwiązywać te problemy
– Ci którzy zaczynają środą / zaawasnwaoen wtorek / środa
– kalendarz
https://youtu.be/B0bUvGFdgGA?t=257

Wszystkie zajęcia są mailem i w poście:
https://youtu.be/B0bUvGFdgGA?t=316

Dziękuję za challenge!
– ponad 210 w Challenge
https://youtu.be/B0bUvGFdgGA?t=362

#pokazac
Dziękuję za każde zadanie
To jest ta droga – robienie zadań
– to jest to prowadzenie – jakie zadania mam robić
– poznajemy programowanie – wiemy, że jesteśmy mocniejsi
– ukłony za każdą minutę, zadanie, wysiłek, linijkę kodu wysiłek, debugowanie
https://youtu.be/B0bUvGFdgGA?t=382

9 października – programujemy grę!
https://youtu.be/B0bUvGFdgGA?t=427

Omówienie prostego programu C++ w cpp.sh
– idealne krótkie na temat
– wyjaśnienie również zmiennych – int / szufladki / komórki / szafki
https://youtu.be/B0bUvGFdgGA?t=870
Link do programu:
https://github.com/OlimpijskieKoloInformatyczne/Wejscie_Wyjscie_CPP_Quiz_1/blob/main/wczytaj_wypisz_liczba_gesi.cpp

Opis ++ zwiększenia o 1 w C++
– róznica między ++ a +1
– ++ – jeden takt procesora
– +1 – to dodanie dwóch liczb – dużo dłuższe – 10 taktów – dużo wolniejsze
– C++ zjednoczony z procesorem
https://youtu.be/B0bUvGFdgGA?t=1134
Link do kodu:
https://github.com/OlimpijskieKoloInformatyczne/Wejscie_Wyjscie_CPP_Quiz_1/blob/main/inkrement_1.cpp

Operacje arytmetyczne – mnożenie:
https://youtu.be/B0bUvGFdgGA?t=1516

Link do kodu:
https://github.com/OlimpijskieKoloInformatyczne/Wejscie_Wyjscie_CPP_Quiz_1/blob/main/wczytaj_wypisz_inkrement_1_mnozenie.cpp

Czysty kod!
– zmienne same powinny się opisywać, mówic co przechowują
– kod powinno się czytać jak ksiązkę!

https://youtu.be/B0bUvGFdgGA?t=1584

Historia firmy – zmienne a1, a2
Jeśli mamy a1, a2 to nie da się rozbudować
– przykłąd firmy gdzie zmienne były nazywane a1, a2, a3
– nikt oprócz autora nie był w stanie modyfikować kodu
– firma nie mogła wyrzucić programisty
– ten program przepisyła, a programiste wyrzuciła
– takie programowanie do niczego nie prowadzi
– nie zapewni pracy
– czysty kod nam się opłąci
– co damy swiatu – świat da nam!
– empatia do nas wraca, serce do nas wraca
– w programowaniu jest tak samo
https://youtu.be/B0bUvGFdgGA?t=1701

Komenatrz w C++ to jest coś co jest po dwóch ukośnikach:
– od ukośników do końca
https://youtu.be/B0bUvGFdgGA?t=1810

Jeśli możliwe powinniśmy unikać komentarzy:
– kod się powinien sam opsiywać
– komentarze zaciemniają, ktoś musi rozróżniać czy to jest kod czy komentarz
– nie zawsze możliwe
– nie jest to dogmat
– mamy funkcję – możemy opisać co robi
– jeśli możliwe powinniśmy unikać
https://youtu.be/B0bUvGFdgGA?t=1851

Dzielenie w liczbach całowitych w C++:
– reszta nie jest brana
– zaokręlenie do dołu
– wyjaśnienie z kodem i quizem
https://youtu.be/B0bUvGFdgGA?t=1913
Kod: https://github.com/OlimpijskieKoloInformatyczne/Wejscie_Wyjscie_CPP_Quiz_1/blob/main/dzielenie_integer.cpp

Granica int
– OD POCZĄTKU – od 2147483646 (ostatnia wartość to 2147483647)
– od dwóch wartości mniej niż przekroczenie
– potem inkrement do 2147483647
 – potem inkrement o jeden
– potem inkrement o jeden – przekroczenie zakresu
https://youtu.be/B0bUvGFdgGA?t=2223

Właściwe wytłumaczenie przekroczenia zakresu:
– kod
– pokazanie wypisuje -2147483648
– dokładne wytłumaczenie
– komórka nie jest nieskończona
– jaki zakres może przechowywać
– szufladka nie jest nieskońćzona
– matematycznie jest bez sensu, skandal straszliwy
https://youtu.be/B0bUvGFdgGA?t=2389

Kod:
https://github.com/OlimpijskieKoloInformatyczne/Wejscie_Wyjscie_CPP_Quiz_1/blob/main/int_granica_zakresu.cpp

#pokazac #emocje
Zepsuł się od początku dłuższe!
https://youtu.be/B0bUvGFdgGA?t=2403

#pokazac #emocje
Zepsuł się od – krzyk!
https://youtu.be/B0bUvGFdgGA?t=2419 

Do czego doszliśmy?
– Zepsuliśmy c++
– Nic nie jest nieskońćzone
– Musimy uważać
– Testować
– Dodanie jedynki daje piramidalną bzdurę
https://youtu.be/B0bUvGFdgGA?t=2626

Pytajmy! Odrywajmy Piszmy swoje obserwacje
Programowanie to odkyrwnaie
– zobaczyliśmy, że jak dodamy jeden to będzie zływ nik
– to jest odkrycie
– jak będziemy programistami w firmie to będziemy już to wiedzieć!
– będziemy wiedzieć jak napisać program który nie spowoduje eksplozji, że samóch nie uderzy w barierkę, że przelew miał dodać 100 zł a na końcie jest ujemna wartość
– będziemy cenioni – bo zaglądamy do środka radia
– będziemy wiedzieć dlaczego radio dziwnie gra, jak jest dięk na maxa
https://youtu.be/B0bUvGFdgGA?t=2713

long long – dokładne wytłumaczenie
Trzymanie liczb większych od int
– potrzebujemy większe pudełka – long long (długi długi)
– gdy jeszcze większy – własny typ
https://youtu.be/B0bUvGFdgGA?t=2863
Kod:
https://github.com/OlimpijskieKoloInformatyczne/Wejscie_Wyjscie_CPP_Quiz_1/blob/main/long_long_granica_zakresu.cpp

Rozkaz może być w wielu liniach:
– dokładne wytłuamaczenie
– to nie jest czysty kod – tak nie piszmy
– rozkaz jest do średnika
https://youtu.be/B0bUvGFdgGA?t=3426

Wypracowanie z polskiego w C++?
– TAK
https://youtu.be/B0bUvGFdgGA?t=3539

Challenge #3:
https://youtu.be/B0bUvGFdgGA?t=3830

 

Programowanie zaawansowane #1 28.09

Brytyjski matematyk wzoruje się na Polaku – Stanisławie Ulamie
Polski akcent:
– gra Life!
– dwie proste zasady
– możliwości , inspiracje
https://youtu.be/fnWsk3hFWWU?t=8

Motywujemy się projekktami!
– zakładamy firmę Soft Max – firmę produkującą oprogramowanie
https://youtu.be/fnWsk3hFWWU?t=107

Strona oprogramowanie zaawansowane:
https://youtu.be/fnWsk3hFWWU?t=256

Zasady gry w życie:
https://youtu.be/fnWsk3hFWWU?t=412

Proste zasady dają piękno!
– WOW!
– nasz projekt, nasz cel
– coś czym będziemy mogli się pochwalić
– coś na co możemy patrzeć się w nieskończoność
https://youtu.be/fnWsk3hFWWU?t=604

MAGIA czy INFORMATYKA?
https://youtu.be/fnWsk3hFWWU?t=1937

Tworzymy pusty plik index.html:
https://youtu.be/fnWsk3hFWWU?t=639

Omówienie struktury najprostszej strony www:
https://youtu.be/fnWsk3hFWWU?t=1399

Canvas – płótno
– magia stron www polega na tym, że możemy rysować zmieniać
– do tego służy półtno/canvas
– wyjaśnienie javascript
– dostęp do płótna
https://youtu.be/fnWsk3hFWWU?t=1813

Współrzędne płótna:
https://youtu.be/fnWsk3hFWWU?t=2212

Rysujemy prostokąt – co podajemy:
https://youtu.be/fnWsk3hFWWU?t=2546

Rysujemy własny prostokąt:
https://youtu.be/fnWsk3hFWWU?t=2720

Radość – pokazać!
– mamy prostokątz niebieskim kolorem
https://youtu.be/fnWsk3hFWWU?t=2741

Wyjaśnienie kolorów r g b:
https://youtu.be/fnWsk3hFWWU?t=2821

Javascript – paskudny
– trudn0 się debuguje
– piszmy linijka po linijce
– jeden błąd i niczego nie widać:
https://youtu.be/fnWsk3hFWWU?t=2923

Programowanie to doing
– lepiej małymi kroczkami
– ale sami w domu pisali
– fajne kształy z prostokątów
https://youtu.be/fnWsk3hFWWU?t=3069

Róbmy – czeka nas nagroda – gra  wżycie – doing!
– pokazanie gry w życie
– firma Soft Max – software company
https://youtu.be/fnWsk3hFWWU?t=3264

Olimpiada Poziom II 26.09.2023
Wystartował OIJ!
– każdy z kółka zrobi!
https://youtu.be/qiv-4HHKhMM?t=71

Opis challenge:
https://youtu.be/qiv-4HHKhMM?t=4856

Zadanie Metro:
https://youtu.be/qiv-4HHKhMM?t=114
Kod zadania Metro:
https://youtu.be/qiv-4HHKhMM?t=3015

Zadanie Apple catching:
https://youtu.be/qiv-4HHKhMM?t=3776

 

Olimpiada Poziom II 28.09.2023
Napisz feedback! https://youtu.be/QjDWa98FutY?t=5294

Zadanie Hodowla Bakterii:
https://youtu.be/QjDWa98FutY?t=109
Kod zadania Hodowla Bakterii:
https://youtu.be/QjDWa98FutY?t=1909

Zadanie Klocki:
https://youtu.be/QjDWa98FutY?t=2179
Kod zadania:
https://youtu.be/QjDWa98FutY?t=4977

 

Olimpiada OD PODSTAW 27.09.2023
Super ciekawe zadania: https://youtu.be/5QLwmR3E_M8?t=1888
Zrób challenge! https://youtu.be/5QLwmR3E_M8?t=2757
W najbliższą środę quiz / sumy prefiksowe: https://youtu.be/5QLwmR3E_M8?t=2905

Zadanie Znaczki – treść / omówienie / kod:
https://youtu.be/5QLwmR3E_M8?t=114
Kod zadania Znaczki:
https://youtu.be/5QLwmR3E_M8?t=516

Jak zarejestrowąć się na konkurs Olimpiada OD PODSTAW:
– strona OKI
https://youtu.be/5QLwmR3E_M8?t=775

Omówienie zadania Nawiasy:
https://youtu.be/5QLwmR3E_M8?t=988
Kod zadania Nawiasy:
https://youtu.be/5QLwmR3E_M8?t=1708

Omówienia zadania Sklep:
https://youtu.be/5QLwmR3E_M8?t=2021
Kod zadania Sklep:
https://youtu.be/5QLwmR3E_M8?t=2517

 

 

Programowanie OD PODSTAW 25.09.2023
#aplikacje_pomysly
Aplikacja dla rolnictwa:
– co musi rolnik
– nawozić
– ile substancji, jakie stęzenie, w zależności od upraw
– prosta aplikacja która będzie pewne rzeczy przeliczać
– zachęcam by samemu napisać
https://youtu.be/irfDUnzbO3k?t=12

Parę pomysłów – czwartek – zajęca Programowanie Zaanwansowane:
– gra w życie
https://youtu.be/irfDUnzbO3k?t=95

#pokazac #motywacja
Co nas motywuje?
– Ciekawość
– Eistein – jestem pełen ciekawości!
– programowanie – próbujemy zepsuć, dopiero wtedy poznajemy
– co jest dalej
https://youtu.be/irfDUnzbO3k?t=123

Olimpiada – nie ma lepszej motywacji!
– weżmy udzial
– pokazanie zadan
https://youtu.be/irfDUnzbO3k?t=194

#pokazac #dlaczego_olimpiada #historie_absolwentow
#olimpiada
– weż udział!
– Historia Tomasza Czajki – optymlizacja procesu
– historia nas nauczy złożoności, dlaczego programy działają wolno, szybko
– będziemy magikami
– nie chodzi o punkty, nie chodzi o etapy
– żebyśmy poznali jak się rozwiązuje problemy przy pomocy komputera
– kreatywność
– od dziś ruszamy z Olimpiada
– niech nas motywuje
– dziś wchodzi zadanie na 30, jutro na 60, pojutrze na 80
– liczy się co odkryjesz – nie punkty, nie etapy
– w środę – zajęcia Jędrzeja – przygotowuje do Olimpiady
– może być ciężko, ale nie szkodzi wciągniesz się!
https://youtu.be/irfDUnzbO3k?t=275

Dziękuję za Challenge!
– ponad 170 osób wrzuciło
– ogień, pasja, za każde zadanie bardzo dziękuję
https://youtu.be/irfDUnzbO3k?t=514

Zaczynamy – pokazanie cpp.sh:
https://youtu.be/irfDUnzbO3k?t=586

Szablon programu C++
https://youtu.be/irfDUnzbO3k?t=608

Wypisywanie na keran cout:
https://youtu.be/irfDUnzbO3k?t=728

Pamięć – przydzielanie zmienne, początek
Użytkownik musi coś podać – a my musimy pamiętać:
– chcę od Ciebie trochę pamięci
– będę pamiętał int
– musimy powiedzieć jaka zmienna będzie pamiętana
– nazywamy zmienne
– definiujemy w C++
– szuflada, szafka zmienna liczba_krow
– wpisujemy wartość do zmiennej
– wypisujemy na ekran
https://youtu.be/irfDUnzbO3k?t=815 

Krótkie podsumowanie kodu
https://youtu.be/irfDUnzbO3k?t=1071

#pokazac #brawa
Program dobrze wypisuje!
https://youtu.be/irfDUnzbO3k?t=1114

#pokazac
Czysty kod – zmienne muszą mieć nazwy tego co oznaczają:
– co gdybosmy zamiast liczba_krow napisali a?
– czy działa / czy dobrze?
– działa, nie wolno pisać
– nazwy zmiennych musza mówić co oznaczają
– za 5 minut zapominy
– kod powinien być taki jak książka, sam się czyta
– to sztuka
– zmienna – a to nie wiadomo co to za aplikacja
– Clean Code – zasady czystego kodu
– my możemy rozbudowywać, inni
– chce żebyśmy byli w grupie na koniec zajęć
– inni by mogli go wykorzystać
https://youtu.be/irfDUnzbO3k?t=1145

Wczytywanie danych:
– kto podaje dane
– jeśli cout na ekran to z klawiatury cin
– wczytaj i zapamiętaj w zmiennej
https://youtu.be/irfDUnzbO3k?t=1321

Opis kodu wcyztującego dane i wypisującego na ekran:
https://youtu.be/irfDUnzbO3k?t=1447

#pokazac #brawa
Wczytaliśmy i wypisaliśmy liczbe krów!
https://youtu.be/irfDUnzbO3k?t=1508

Manipulujemy zmiennymi – obliczamy ile jest nóg krowy?
– dodajemy dodatkową zmienną liczba_nóg
– definiujemy w jednej lub w oddzielnych linijkach
https://youtu.be/irfDUnzbO3k?t=1657

Opis programu który wczytuje, liczy i wypisuje
– czyta krow, wypisuje ilośc nóg:
https://youtu.be/irfDUnzbO3k?t=1970

Piszemy interfejs użytownika:
– przekierowanie liczby oraz tekstu
– rolnik ma wiedzieć co wprowadza – krowy
– rolnik mw wiedzieć, że otrzymuje liczbę krów
https://youtu.be/irfDUnzbO3k?t=2104

Wytłumaczenie programu który
– wypisuje komentarze
– czyta z klawiatury
– liczy
https://youtu.be/irfDUnzbO3k?t=2184

Zadanie Old MacDonald:
https://youtu.be/irfDUnzbO3k?t=2600

Omówienie kodu zadania Old MacDonald:
https://youtu.be/irfDUnzbO3k?t=2811

Szkopuł – nie dajemy tekstu!
https://youtu.be/irfDUnzbO3k?t=2888
Wyjaśnienie 2:
https://youtu.be/irfDUnzbO3k?t=3266

#pokazac #brawa
100% ze szkopuła!
https://youtu.be/irfDUnzbO3k?t=3133

Szkopuł –  możemy zobaczyć odpowiedzi, nasz kod
https://youtu.be/irfDUnzbO3k?t=3153

Podsumowanie zadania Old MacDonald:
https://youtu.be/irfDUnzbO3k?t=3213

Dzielenie w liczbach całkowitych w C++:
– otrzymuje cześć całkowitą bez reszty
https://youtu.be/irfDUnzbO3k?t=3369

Strona Programowanie OD PODSTAW:
– jak dołączyć do challenge
– wszystko jest
https://youtu.be/irfDUnzbO3k?t=3708

Dziękuję za wszystkie rysunki!
https://youtu.be/irfDUnzbO3k?t=4203

Zapraszam na OKI #3 – Quiz / Kahoot:
– psujemy C++
https://youtu.be/irfDUnzbO3k?t=4299

Proszę o Challenge
– wielka radośc dla mnie!
– strasznie się cieszę!
https://youtu.be/irfDUnzbO3k?t=4314

 

Olimpiada ZAAWANSOWANA 19.09.2023
Ile czasu trwają zajęcia? https://youtu.be/NNupK9ohOHE?t=168
Jak będą wyglądać zajęcia? https://youtu.be/NNupK9ohOHE?t=199
– Podejście od strony zadań
– nie będzie omawianych algorytmów
Dla kogo zajęcia? https://youtu.be/NNupK9ohOHE?t=348
– Przejść II etap / Dobry wynik na finale!
Warto robić zadania: https://youtu.be/NNupK9ohOHE?t=450
– nie od razu zaglądamy do omówień!
– nie oszukiwać siebie
– rozwijać swoją kreatywność
Dobijamy zadania! https://youtu.be/NNupK9ohOHE?t=532
– myślenie że umiemy od zrobienia naprawdę wielka różnica
Przed nami przygoda! https://youtu.be/NNupK9ohOHE?t=568
– wtorki / zadania
Jak wygląd challenge: https://youtu.be/NNupK9ohOHE?t=583
– szkopuł

 

Olimpiada POZIOM II – 21.09.2023 – Zadania Binary Search 2 – Jan Myszka:

Dla kogo Olimpiada Poziom II? https://youtu.be/3KYBBeq8SfM?t=4950
Pisać contesty! https://youtu.be/3KYBBeq8SfM?t=4853

Zadanie Ntarsis’ Sethttps://youtu.be/3KYBBeq8SfM?t=291
Zadanie Max Medianhttps://youtu.be/3KYBBeq8SfM?t=2789

Olimpiada POZIOM II – 19.09.2023 – Zadania Binary Search 1 – Samuel Maj: https://youtu.be/_vw3pTKXJE8?t=307
Jak będą przebiegać zajęcia? https://youtu.be/_vw3pTKXJE8?t=307
Super Challenge! https://youtu.be/_vw3pTKXJE8?t=3654
Co jeśli nie mogę zrobić zadania? https://youtu.be/_vw3pTKXJE8?t=2514
– analizuj samemu 3h
– zajrzyj po 3h max 1 raz
Zadanie Największy plus: https://youtu.be/_vw3pTKXJE8?t=379
Zadanie Statki kosmiczne: https://youtu.be/_vw3pTKXJE8?t=2568
Zadanie Las: https://youtu.be/_vw3pTKXJE8?t=3319

 

Rozmowa z Adamem Gąsienicą Samkiem.
Olimpiada jak szachy!
https://youtu.be/AsmxOZc0qfE?t=1621

 

Olimpiada OD PODSTAW #1 2023/24

Stos, kolejka, mapa TEORIA: https://youtu.be/l3qtWEBbaFI?t=74
– Strona zajęć Olimpiada OD PODSTAW: https://youtu.be/l3qtWEBbaFI?t=74
– Dla kogo zajęcia / czas trwania: https://youtu.be/l3qtWEBbaFI?t=710
https://youtu.be/l3qtWEBbaFI?t=110
OIJ, zadania, założenie, że programowanie jest ok, pętla, tablica,
– Damy radę! https://youtu.be/l3qtWEBbaFI?t=221
– Damy radę w OIJ! https://youtu.be/l3qtWEBbaFI?t=221
I etap na spokojnie
– Mamy czerpać RADOŚĆ: https://youtu.be/l3qtWEBbaFI?t=252
Chodzi o RADOŚĆ
– Challenge Olimpiada: https://youtu.be/l3qtWEBbaFI?t=392
– Kalendarium OIJ: https://youtu.be/l3qtWEBbaFI?t=461
– Stos: https://youtu.be/l3qtWEBbaFI?t=871
– Kolejka: https://youtu.be/l3qtWEBbaFI?t=2584
– Map: https://youtu.be/l3qtWEBbaFI?t=3052

 

OKI Programowanie #1 2023/24
Pierwszy program

Zaczynamy! https://youtu.be/WGI1XTV-cb4?t=17
Ależ historia! https://youtu.be/WGI1XTV-cb4?t=17
Historia
– Kamil Tokarski
– Zaczynał od zera
– Jest twócą gier
– To co nas pcha do przodu to… Chęć
– Dziecko które pełza do przodu
– Zapraszam do programowania

Jakie zajęcia: https://youtu.be/WGI1XTV-cb4?t=128
– lista wszystkich zajęć

Z czego składają się zajęcia?
– Challenge – najważniejsze
– najważniejsze DOING
– Quizy
– Spotkania
https://youtu.be/WGI1XTV-cb4?t=319

Ile trwwają zajęcia?
https://youtu.be/WGI1XTV-cb4?t=431

#pokazac

JAk język?
– C++
– Olimpiada – ZAPRASZAM!
– nie chodzi o punkty – to czego się nauczymy
– Kamil – olimpiada nauczyła go rozwiązania problemu, kratywnych
– olimpiada to C++
https://youtu.be/WGI1XTV-cb4?t=463

#pokazac
Nasza strona Programowanie OD PODSTAW:
– zobaczyć co nowego rano wieczór
– link do challenge
https://youtu.be/WGI1XTV-cb4?t=558

#pokazac
Co zrobić przed zajęciami?
– newsletter
– Discord
– Like youtube
https://youtu.be/WGI1XTV-cb4?t=626

Kaczka Dziwaczka: https://youtu.be/WGI1XTV-cb4?t=727
– zadanie – omówienie -początek:
– opis szkopuł

Czy znacie film Brzechwy Kaczka Dziwaczka?
https://youtu.be/WGI1XTV-cb4?t=810

Analiza rysunku – początek omówienia rozwiązania zadania
– wchodzimy na cpp.sh
– piszemy online programy C++
https://youtu.be/WGI1XTV-cb4?t=854

Wzorzec, template, kadłubek programu C++
https://youtu.be/WGI1XTV-cb4?t=932

 

Rozmowa Jan Myszka i Samuel Maj – zapowiedź Olimpiada Informatyczna Poziom II:
Zapowiedź zajęć: https://youtube.com/live/T6qS6gyfbFI
Dla kogo zajęcia? https://youtu.be/T6qS6gyfbFI?t=647
Prowadzący – Jan Myszka: https://youtu.be/T6qS6gyfbFI?t=83
Prowadzący – Samuel Maj: https://youtu.be/T6qS6gyfbFI?t=146

 

Rozmowa Jędrzej Olkowski – zapowiedź Olimpiada Informatyczna OD Podstaw:
#pokazac
#wnikanie
#jak_sie_uczyc
Najważniejsza rzecz to SAMODZIELNIE MYŚLEĆ nad zadaniami – minimum 1.5h jak mówi Jędrzej.
Rekomenduję 4h.
Korepetycje, zajęcia – to nie ma znaczenia jeśli nie będzie NASZEGO MYŚLENIA!!!
https://youtu.be/3JYjXvA2894?t=1112

#pokazać
#motywacja
Discord – społeczność OKI – link do dołączenia:
https://youtu.be/3JYjXvA2894?t=1669

#pokazać
#wnikanie
Bardzie cieszmy zadaniem, rozkoszujmy, niż idżmy na ilość
https://youtu.be/3JYjXvA2894?t=2284

Rozmowa Mirosław Zelent i Daniel Olkowski – Edukacja 2023/24 cześć 1

Rozmowa  – Wywiadowcy z Tomasz Czjaka

Dalsze losy uczestników
Elon który prosi Tomasza Czajkę by wrócił.
https://youtu.be/hAb-phv6Sg8?t=130

Grupa – jest łatwiej:
– Elon Musk robi coś dla swiata – grupa
– chce zrobić samemu coś ale trudno
https://youtu.be/hAb-phv6Sg8?t=297

W Google’u będzie dla Was za nudno….
– mnóstwo ludzi którzy robią kod
https://youtu.be/hAb-phv6Sg8?t=342

Ważniejsza jest inteligencja, olimpiada niż poszczególna wiedza:
– nie znał się na silnikach ale go chcieli jako genialnego algorytmika
https://youtu.be/hAb-phv6Sg8?t=479

Algorytmicy są potrzebni!
– znalis ię na silnikach ale nie umieli optmalizawoać
https://youtu.be/hAb-phv6Sg8?t=595

Możemy pomóc dowolnym osobom
Tomek pomaga innym działom:
https://youtu.be/hAb-phv6Sg8?t=613

Kod musi szybko działać w rakiecie:
– Kod Falcona za wolno działa
– Można go wyrzucić – nie nadaje się
– można go wyrzucać
– panika, usiadł w piątek wieczorem
– cała noc
– zrobił
– prosta rzecz
https://youtu.be/hAb-phv6Sg8?t=680

Dlaczego warto się znać na algorytmice, wnikać?
– ludzie którzy piszą kod nie rozumieją złożoności
https://youtu.be/hAb-phv6Sg8?t=803

Będziemy doceniani:
– został magikiem bo przyspieszył kod!
– dla nas to będzie proste
– do Elona że Tomek zrobił coś niesamwoitego
https://youtu.be/hAb-phv6Sg8?t=969

Tomasz Czajka jest proszony by pracować s SPACE_X

https://youtu.be/hAb-phv6Sg8?t=1102

Nie graj a pisz gry!
– syn Czajki pisze gry
– gdy przychodzi do Taty razem piszą
– Tato – piszemy gierkę?
– wciąga jak Tomasza który nauczył się kodować przez gry
– szkoła psuje ciekawość świata
– pisał kod, był syn, on wówczas zaczął pisać gierkę by pokazać, że jak kliknie to coś sie dzieję a nie że nie wiadomo po co
– myślał że nic ne rozumie, przerwa za 2h a on zrobił feature mimo, że wcześniej nie programował
– ciekawość świata u małych dzieci
– może im łatwiej się nauczyć – chłoną wiedzę naturalnie
– nauczyciel odpytuje, nie chce Ci się, uczysz się na jego oczekiwania
– unikają niż ciekawe…. stres, odpytywanie
https://youtu.be/hAb-phv6Sg8?t=1745

Próba zrobienia sztucznej inteligencji  która myśli logicznie:
– dowodzenie twierdzeń przez sztuczną inteligencję
– logiczna gra w warcaby, sekwencje ruchów
– te same metody można zastosować do dowodzenia twierdzeń, prac naukowych
– mówimy AI – tu jest problem matematyczny którego nikt nie rozwiązał przez 100 lat
– rozwiąż go!
– tak ja szachy, ale olbrzymie zastosowania…
– weryfikacja oprogramowania to samo
– AI może napisać dowód matematyczny że dobrze działa
– mamy pewność kodu
https://youtu.be/hAb-phv6Sg8?t=2797

Pomysł na start-up:
– testowanie kodu
– myśli jako OpenSoruce
– na poważnie trzeba wiele osób
– wiedzę matematyczną przetłumaczyć na język komputera
– to może zrobić AI
– książka o matematyce nie jest napisana formalne – jest po polsku
– po prostu kolejne kroki – a ti lubi AI – krok po kroku
– 1000 książek nie zrobi sam
– musiałoby dużo ludzi to robić
– np. doktoranci
-jak masz dużo dowodów twierdzeń to AI może się na tym uczyć
– dowodzić nowe rzeczy
– można podejść jak w GO
– pierwsza wersja AlphaGo uczyła się na podstawie Mistrzów
– druga wersja AlphaZero już nie patrzyła na żadne partie
– poznała zasady gry w Go
– grała sama ze sobą i na tej podstawie sama się zaczęła uczyć
– eksperymentowałą co działą co nie
– lepiej wiedziała co działa a co nie
– może AI nie musi uczyć się na podstawie książek
– może można jej powiedzieć – rozwiń matematykę od zera
– i to zrobi
– zacznie od 2+2
– jak nakierować by nie poszła w abstrakcję której my nie rozumiemy
– my całki, pochodne, a ona jakąś inną matematykę znajdzie
– jak nakierować na rzeczy które interesują ludzi?
– dlatego ta baza, książki najpierw warto wpisać
https://youtu.be/hAb-phv6Sg8?t=3100

Być może droga którą idzie ChatGPT to nie jest to co nas wyniesie w górę
– Być może za chwilę będziemy w zupełnie innym miejscu
– potrzebna jest być może jeszcze logika
https://youtu.be/hAb-phv6Sg8?t=3322

Pytania
– jakie sa problemy Starlink
– wolno działa – jak to znalazł

 

 

Rozmowa Doktora Kaweckiego z Szymon Sidor
https://youtu.be/34eTHrOHoPM

Rozmowa z Wojciechem Zarembą – twórczą ChatGPT!

Początek spotkania:
https://youtu.be/ib6nN5oBp-0/
https://fb.watch/k-PyUyAd6C/

Programiści i matematycy będa potrzebni!
Zrobią więcej!
https://fb.watch/k-PyUyAd6C?t=1065

Zakończenie OKI
Przed nami Wakacje!
– najpiękniejszy czas
– wypoczynku!
https://youtu.be/MLjghHcm3j4?t=2493

30 lat czy 10 miesięcy?
https://youtu.be/MLjghHcm3j4?t=103

30 lat OI-a
– zbudowanie społeczności
– chatGPT4 – kluczowa rola to Olimpijczycy OI-a
https://youtu.be/MLjghHcm3j4?t=106

OKI, Olimpiada i… dużo więcej!
– przygotowujemy się do czegoś dalej
– warto poświęcić czas
– to my będziemy zmieniać świat!
https://youtu.be/MLjghHcm3j4?t=129

Profesor Diks uwielbia OKI!
– ogląda, polubi!
– ma propozycję tytułu honorowego
– docenia pracę
– wiele osób to wychowankowie OKI
– nie tylko lokalna inicjatywa – obejmuje cay kraj
– co jest ważne?
– fajne studia, olimpiady, szkoły
– będziecie zmieniać świat
– ale ważna jest społeczność którą tworzymy
– która się lubi i która razem będzie tworzyć
– i sam prof. Diks też jest członkiem tej społeczności
– odpoczynku w wakacje
– nie tylko przy komputerze ale też komputer, popływanie
https://youtu.be/MLjghHcm3j4?t=129

To jest jak tworzenie poezji
Cytyt z Donalda Knuta:
– programowanie to coś więcej niż kodowanie
– sztuka układania i implementowania algorytmów
– proces przygotowania programu dla komputera cyfrowego jest pociągający
– nie tylko bo jest potrzebne
– to jest jak tworzenie poezji, komponowania muzyki
https://youtu.be/MLjghHcm3j4?t=216

Lech Duraj:
– podziękowania za startowanie w Olimpiada
– startuj w Olimpiadzie
https://youtu.be/MLjghHcm3j4?t=306

Znajdź w informatyce to co Cię bawi!
– potrzeba talentu! – Macie!
– potrzeba ciężkiej pracy – Macie!
– potrzeba znaleźć coś co sprawia przyjemność
– może algorytmika? dowodzenie twierdzeń, sztuczna inteligencja, pisanie jądra linuxa
– znajdź coś co Cię bawi, eksperymentuj, ró nowe rzeczy!
– dziel się innymi
https://youtu.be/MLjghHcm3j4?t=334

Chciałbym podziękować za wysiłek!
– trudno jest zrobić pracę fizyczną
– a jak dużo trudniej skupić myśli nad problemem 2h – wielki wysiłek
– dziękuję za wszystko co odkryliśmy
– we wrześniu 50 cm mogliśmy skoczyć dziś 70 150 a może 200cm
– to kosztowało nas ileś wysiłku ileś zadań
– nie przeypisywaliśmy kodu – to do niczego nie prowadzi
– sami do tego doszliśmy
– z naszymi fantastycznymi prowadzącymi
– prowadzący to inspiracja
https://youtu.be/MLjghHcm3j4?t=425

Informatyka to jest doing
My do wszystkiego dochodzimy sami
Jeśli sami rozwiążemy zadanie, znajdziemy algorytm to wiemy, że mamy moc!
Nasi prowadzący są najlepszym przykładem Mikołaj
Po niepowodzeniu był niezadowolony
Zrobił w 150 zadań w wakacje co dało mu Bałtycką Olimpiadę
Doing – liczy się to co zrobimy sami
Nikt nam tego szuflą do głowy nie włoży
https://youtu.be/MLjghHcm3j4?t=496

Dziękuję za radość programowania:
– jesteście tu nie dla szóstek, jedynek
– jesteście tu bo cieszy Was programowanie
– Jeżeli idziemy na rower to dlatego, że to lubimy
– Jest cel, ale sama wycieczka rowerowa jest radością
– Jeżeli tą wycieczką rowerową jest programowanie, rozwiązywanie problemów to fantastycznie
– za wysiłek za radość dziękuję
https://youtu.be/MLjghHcm3j4?t=599

Mogę tylko podpisać się pod tym co powiedział prof. Diks:
– to jest podróż która nie skończy się na olimpiadzie
– Mikołaj jest przykładem
– Miał staż w firmie R&D
– Ma możliwość dalszej pracy
– To jest wzorcowy przykład gdzie chciałbym byście dalej byli
– To Wasze życie i Wasze decyzje
– Radości z wycieczki tu i teraz!
https://youtu.be/MLjghHcm3j4?t=639

Dziękuję Rodzicom:
– sukces naszych dzieci
– to że cieszą się tym co robią to Wasz sukces jako Rodziców
– jak mam 13-15 lat to robię to dla Was
– to że kiedyś będę robił to samo co Mikołaj – nie działa na mnie
– ma 22 lata – stary człowiek
– ta nagroda długoterminowa mniej motywuje
– ta krótkoterminowa nagroda jest prosta
– zainteresowanie rodziców, cieszą się, pochwalą, zrobią dobrą kolację bo coś się udało
– zainteresowanie rodziców to atomowe paliwo dla dzieci, dla pasji
– to jest wysiłek
– jak zagadać do dziecka
– jak jest 13-15 lat to młodzi się buntują  – i słusznie
– trzeba znaleźć słowa, to jest wysiłek
https://youtu.be/MLjghHcm3j4?t=726

Dziękuję wszystkim prowadzącym!
https://youtu.be/MLjghHcm3j4?t=861

Wakacje – głód zadań:
– układanie zadań to prawdziwy Research And Development
– dokładnie będziemy to samo robić jako założyciele start-upów
– głównymi architektami w Facebook, Google
– na uczelni wymyślać nowe algorytmy
–  będziemy robić dokładnie to samo – wymyślali zadania
– najpiękniejsza sprawa
– przed nami Wakacje OKI 2023
– ranking aktualny
– Pomocny Dzik Wiktor – Budowa Bajtazara
– Janek Myszka / Samuel Maj – Obrona Bajtocji
– Można razem
– Ranking
https://youtu.be/MLjghHcm3j4?t=2504

Dziękuję tym którzy wymyślają, tym którzy rozwiązują!
– bawimy się na dwa sposoby
https://youtu.be/MLjghHcm3j4?t=2607

#pokazac
Wymyślamy dowolne zadanie!
– Algorytmiczne / programistyczne
– z kodów ASCII telefon / coś fajnego na plaży
– pierwszy program dla kogoś kto zaczyna – bardzo ważne
– a może na 10 drzew przedziałowych?
– będziemy mieć satysfakcję, że takie trudne
– może zadanie na 200 linii kodu / 3 linie kodu i pomysł
– to co Ci w duszy gra!
– A może zrobisz zadanie szybciej niż ktoś inny wymyślił?
– nlongn zamiast n2
– 20 linii kodu zamiast 1000
– podobnie na olimpiadzie bywa
– nasza kreatywność jest niesamowita – o to chodzi!
https://youtu.be/MLjghHcm3j4?t=2614

Maciek Wiśniewski
Dziękujemy!
– Najbardziej cieszy gdy uczestnicy robią zadania wymyślone przez Maćka
https://youtu.be/MLjghHcm3j4?t=2793

Dlatego zachęca wyjątkowo by wymyślać zadania
– To przyjemniejsze niż rozwiązywanie samemu
https://youtu.be/MLjghHcm3j4?t=2811

Podziękowanie Tomka:
– zaczynał 5 lat temu!
https://youtu.be/MLjghHcm3j4?t=2840

Każdy z nas jest wyjątkowy
– nie decyduje o tym tytuł finalist laureata
– nie ważne czy lubimy informatykę, grać śpiewać
– pomagajmy innym
– to w informatyce pięknie widać
– olimpiada to nie tylko zadania ale tez ludzie którzy ją tworzą
https://youtu.be/MLjghHcm3j4?t=2877

Podziękowania Mikołaja:
– 3 lata advanced
– strategia mocna strona Mikołaja
– dziękuję za spotkania, tym którzy są w finale dzięki Mikołajowi
– róbmy to co sprawia nam przyjemność, pasję
– podziękowania dla Mikołaja za 3 lata!
– kreatywna
– podziękowanie Mikołajowi
https://youtu.be/MLjghHcm3j4?t=2924

Podziękowanie Patryka:
– będzie dalej OKI
– konkurs wakacyjny
– kolejne OKI 23/24
https://youtu.be/MLjghHcm3j4?t=3093

Wszystko co zdobyliśmy jest nasze
– to z nami zostanie
– myślenie, algorytmika zawsze potrzebne
https://youtu.be/MLjghHcm3j4?t=3119

Nie załamujmy się jeśli nie jesteśmy pierwsi
– porównujmy się z samym sobą tylko to ma sens
– okaże się, że to co było mega trudne kiedyś teraz jest łatwe
https://youtu.be/MLjghHcm3j4?t=3140

Podziękowania Michała:
– Zaczynał od kółka Mikołaja w Staszicu
– nic się nie kończy
https://youtu.be/MLjghHcm3j4?t=3205

Progres najbardziej go ekscytuje
– zadanie po paru miesiącach z mega trudnego zrobiło się łatwe!
– na co dzień tego nie widać
– walczymy!
– jak jedziemy tramwajem odpalić szkopuł / zadanie i wykorzystać czas!
– piszcie bruty
https://youtu.be/MLjghHcm3j4?t=3259

Szymonie
– podziękowanie!
– za miłe słowa
– motywuje
– pozostałym prowadzącym
– sam dużo skorzystał z innych zajęć
– jak wiele dawały
– oki advanced / Tomka / olimpiada od podstaw
– one go prowadziły
– róbmy to co lubimy
https://youtu.be/MLjghHcm3j4?t=3336

Wesprzyj OKI – jedna kawa miesięcznie
https://youtu.be/MLjghHcm3j4?t=3462

 

Gala Finałowa Mistrza Programowania 2023
Podziękowanie dla Komitetu Głównego:
https://youtu.be/2F0pL7Db5So?t=4988

Olimpiada Zaawansowana #32
Dołącz do konkursu OKI wakacje 2023:
– sami wymyślamy zadania

https://youtu.be/90U4tAm-Y3k?t=114

Olimpiada Poziom II #32
Dołącz do konkursu OKI wakacje 2023:
– nasze zadania
– jeśli jest pomysł – to paczka albo pomysł sam
https://youtu.be/xBNy20DQUVg?t=412

Olimpiada OD PODSTAW #32

#pokazać
Warto robić rzeczy które już są napisane.
Pomysł zostanie – można go moduyfikowąć
https://youtu.be/iRyJEGWfeLc?t=12

#pokazac
Potrzeba osób które rozumieją!
https://youtu.be/iRyJEGWfeLc?t=184

Wakacyjny konkurs OKI
– o co chodzi?
– układamy i rozwiązujemy zadania
– sami
– już ranking, mamy pierwsze zadania
– mamy zadanie Budowa Bronisława – Wiktora Gatnera – Pomocny Dzik
https://youtu.be/iRyJEGWfeLc?t=778

Na czym polega wakacyjny konkurs?
– układamy zadania
– wysyłamy na kontakt@oki.org.pl
– wymyśleć treść / wejście / wyjście – jak Budowa Bronisława
– kod C++ który rozwiązuje zadania
– ja zrobię treść
https://youtu.be/iRyJEGWfeLc?t=836

Nagrody:
– przynajmniej otrzymają kubki / inne nagrody
– będa nagrody za najładniejsze zadania
https://youtu.be/iRyJEGWfeLc?t=895

Oddzielna klasyfikacja osób które rozwiążą i które ułożą
https://youtu.be/iRyJEGWfeLc?t=927

Dlaczego ten konkurs jest taki ważny?
– musimy pomyśleć czy zadanie jest rozwiązywalne
– sami zastanowić się jaka jest złożoność, czy jest rozwiązywalne
– naukowcami z uczelni9 start-upów
– odkrywcami
– układanie zadań to większa sprawa niż ich rozwiązywanie
– Pachocki ChatGPT – niesamowice dużo zadań ułożył
– nie wiemy czy rozwiązanie istnieje
– rozwiązując zadanie zgaduje czyjeś rozwiązanie
– układając rozwiązujemy problem
– dużo większa kreatywność
https://youtu.be/iRyJEGWfeLc?t=935

Odkrywca
Patrz na świat
Patrz problemowo!
Zadanie może dotyczyć czegokolwiek
– jedziemy pociągiem
– jedzą kanapki – która największa, najbardziej pachnie, najwięcej sera, cebuli
– góry strumyki, przewężenia
– wszystko może być zadaniem
– jak piękny jest świat gdy patrzymy od strony problemu!

https://youtu.be/iRyJEGWfeLc?t=1008

Zadania mogą być dowo;nie trudne
– programistyczne – kod ASCII plaży
– minimalne drzewo rozpinające
https://youtu.be/iRyJEGWfeLc?t=1036

 

Programowanie OD PODSTAW #32

Kłaniam się serdecznie!
– ponad 30 zajęć
– setki zadań
– mnóstwo kodu
– mnóstwo debugowania
– mnóstwo godzin poświęconych na programowanie
– zaufaliście, że to ma sens
– że prowadzi do wspaniałej przygody
https://youtu.be/9atF_Lcdb3c?t=36

Jesteśmy mocniejsi!
– skakaliśmy wzwyż 50cm, teraz może 100, 150, 200
– możemy więcej
– jeszcze jest głód programowania, odkrywania, pisania, debugowania
– głód radości z setek, z własnych aplikacji
– chciałbym by to w nas zostało, głód i radość z programowania
– radość z wnikania, odkrywania
https://youtu.be/9atF_Lcdb3c?t=63

Robimy bo kochamy!
– nie dla szóstek, jedynek
– nie robimy dla nagród, nie robimy dla kar
– bo sprawia nam to przyjemność
– bo sam fakt, że rozumiemy
– bo fakt, żw wczoraj było trudno a dziś jest łatwo
– że porównujemy się do siebie
– każdego dnia mocniejsi
– to jest dla nas radością
– każdy dzień jest piękniejszy
– Dziękuję za wspólną przygodę
– za wysiłek
https://youtu.be/9atF_Lcdb3c?t=96

Programowanie ma sens!
– jest piękne
– osoby które rozumiej, wnikają są potrzebne!
– coraz bardziej potrzebne
– rozmawiam z szefami firm informatycznych
– trudno znaleźć kogoś kto rozumie
– nie tylko wkleja kod ale też rozumie
https://youtu.be/9atF_Lcdb3c?t=137

OKI 2023/24:
– 18 września 18:00
Link do zajęć: https://youtu.be/WGI1XTV-cb4
Opis: https://oki.org.pl/harmonogram-zajec/
Info o zajęciach: https://oki.org.pl/newsletter.php
– Co będzie?
– programowanie od podstaw
– programowanie zaawansowane
– zachęcam do prowadzenia
https://youtu.be/9atF_Lcdb3c?t=327

Co będzie w OKI 23/24?
– programowanie od podstaw
– programowanie zaawansowane
– olimpiada od podstaw / zaawansowana
– sztuczna inteligencja od połowy października
https://youtu.be/9atF_Lcdb3c?t=400

Powieś plakat OKI w szkole!
– strona: https://oki.org.pl/oki/plakaty/
https://youtu.be/9atF_Lcdb3c?t=435

Pomysł Remmiego!
– konkurs wakacyjny
https://youtu.be/9atF_Lcdb3c?t=477

Konkurs wakacyjny:
– wrzuciłem zadanie 8 hetmanów
https://youtu.be/9atF_Lcdb3c?t=502

O co chodzi w konkursie wakacyjnym?
– sami układamy zadania
– sami wymyślamy
https://youtu.be/9atF_Lcdb3c?t=534

Sami wymyślamy!
– treść – pociąg o torach, o krzesłach w pociągu, zadanie o piasku, plażowiczach
– która góra najwyższa
– może być proste zadanie kod ASCI lub zadanie na DFS
– na zwykła pętlę, drzewo przedziałow
– na co tylko chcemy
– tylko nasze zadania
https://youtu.be/9atF_Lcdb3c?t=548

Przesyłacie dwie rzeczy:
– treść / kod cpp
– wysyłamy na kontakt@oki.org.pl
– można testy
– ja zrobię paczkę
https://youtu.be/9atF_Lcdb3c?t=588

Nagrody!
– przynajmniej 2 kubki / 2 karty
– będa nagrody z rankingu / będą za najpiękniejsze zadania
– na pierwszych zajęcia 18 września o 18:00 https://youtu.be/WGI1XTV-cb4
https://youtu.be/9atF_Lcdb3c?t=678

Pomysł Remmiego!
Skąd ten pomysł
– chluba / pomysł wina Remmiego
https://youtu.be/9atF_Lcdb3c?t=746

Dlaczego chcę byście sami wymyślali zadania?
Dlaczego konkurs?
– osoby które wymyślały zadania do olimpiad dużo łatwiej rozwiązują problemy!
– Tomasiewicz, Pachocki
– bardzo kreatwyne osoby
– w turniejach matematycznych tez zespoły wymyślają dla siebie zadania
– czekam na zadania / paczki
https://youtu.be/9atF_Lcdb3c?t=772

Zabawa będzie przednia!
– Rodzina chce jechać nad morze
– Wy macie dosyć
– Leżycie na leżaku
– Mnóstwo ludzi dookoła
– Jakie zadanie by tu wymyśleć?
https://youtu.be/9atF_Lcdb3c?t=828

Co będzie w programowaniu zaawansowanym?
– zobaczymy
– może aplikacja w JavaScript
https://youtu.be/9atF_Lcdb3c?t=873

Programowanie to doing!
https://youtu.be/9atF_Lcdb3c?t=1103

 

Olimpiada Zaawansowana #31

Zadanie Polaryzacja:
– finał OI-a XX
– ciężkie
– ciekawe
– optymalizacja
https://youtu.be/pKqM07k5DOw?t=23

Polaryzacja – początek omówienia:
https://youtu.be/pKqM07k5DOw?t=131

Zakończenie OKI:
https://youtu.be/pKqM07k5DOw?t=593 

Rozwiązanie zadania:
https://youtu.be/pKqM07k5DOw?t=873

OKI #32: – Park linowy
https://youtu.be/pKqM07k5DOw?t=3459

 

Olimpiada Poziom II #31
Przywitanie!
https://youtu.be/I9Q7Ja1qbUU?t=6

Custodial Cleanup:
https://youtu.be/I9Q7Ja1qbUU?t=54

Challenge #31:
https://youtu.be/I9Q7Ja1qbUU?t=4769

BFS czy DFS?
Czy tu pachnie DFS-em?
https://youtu.be/I9Q7Ja1qbUU?t=2180

Kod zadania:
https://youtu.be/I9Q7Ja1qbUU?t=3191

Rozrysuj – to nie jest łatwe zadanie!
https://youtu.be/I9Q7Ja1qbUU?t=4318

Olimpiada od podstaw #31
Legendarna seria!
– rozwiązujemy ciężarówki
– Ciężarówki to legendarna seria
– prowadzi wspaniały prowadzący Szymon Hajderek
https://youtu.be/O5Dh8X7Ltlc?t=21

Potężne mózgi i próba ognia
Finał XVII OIJ za nami!
https://youtu.be/O5Dh8X7Ltlc?t=41

Ogród
Pielęgnuj swój ogród!
Bądź w ogorodzie
https://youtu.be/O5Dh8X7Ltlc?t=146

Droga!
https://youtu.be/O5Dh8X7Ltlc?t=308

Cieszmy się finałem:
https://youtu.be/O5Dh8X7Ltlc?t=495

Życzę Wam ogrodu!
https://youtu.be/O5Dh8X7Ltlc?t=693

Ja być w finale?
https://youtu.be/O5Dh8X7Ltlc?t=726

Gala finałowa:
https://youtu.be/O5Dh8X7Ltlc?t=820

OKI 2023/24:
https://youtu.be/O5Dh8X7Ltlc?t=856

Szkoły algorytmiczne!
https://youtu.be/O5Dh8X7Ltlc?t=897

Problem fryzjera
– Fundamentalne pytanie matematyki / informatyki
https://youtu.be/O5Dh8X7Ltlc?t=1126

Czy istnieje fryzjer?
https://youtu.be/O5Dh8X7Ltlc?t=1158

Odpowiedź:
https://youtu.be/O5Dh8X7Ltlc?t=1178

Cieżarówki II
https://youtu.be/O5Dh8X7Ltlc?t=1633

Tylko jedna osoba zrobiła to zadanie na finale!
https://youtu.be/O5Dh8X7Ltlc?t=2027

Najwspanialszy algorytm na świecie!
Find And Union
– Graf bez grafu
– 30-40% zadań grafowych jest naszych
– dwie funkcje
https://youtu.be/O5Dh8X7Ltlc?t=5929

Gdzie szukać zadań
Gdzie znajdować zadania na techniki?
– jak znaleźć zadania na Find And Union
– lista zadań OKI
https://youtu.be/O5Dh8X7Ltlc?t=6060

Co w naszym Challenge?
https://youtu.be/O5Dh8X7Ltlc?t=6272

Chcę żebyście zrobili moc!
https://youtu.be/O5Dh8X7Ltlc?t=6285

OKI #32
https://youtu.be/O5Dh8X7Ltlc?t=6575

Programowanie od podstaw II #31

Finał czyli święto!
https://youtu.be/O5Dh8X7Ltlc?t=91

Jak być w finale?
https://youtu.be/O5Dh8X7Ltlc?t=726

Rekurencja i Pomocny Dzik!
https://youtu.be/WitPCxSeaqk?t=14

Wielka pasja młodego człowieka!
Pomocny Dzik – Wiktor:
– Irlandia / Wrocław
– sp24 Wrocław
– sp3 C++ / Informatyczny profil
– Mniej niż 7 – omówił zadania
– To zapoczątkowało jego pasję
– Wierzy w nas
– Wiktor jest w 6 klasie / powinien być w 5! / 12 lat
– Początkowo w wieku 7 klas – Scratch
– od 9 lat zaczął porządnie
– Scratch / Python / C++ – historia językowa
– 93 dzień c++
– za chwilę rocznica
https://youtu.be/WitPCxSeaqk?t=37

Rekurencja – najbardziej naturalne podejście
– jeśli masz zrobić coś dużego to zrób coś mniejszego, mniejszego a na końcu to dla najmniejszego okaże się to bardzo proste
– gdzie rekurencja, DFS, generowanie wszystkich możliwości, grafika
https://youtu.be/WitPCxSeaqk?t=276 

Za nami OIJ!

https://youtu.be/WitPCxSeaqk?t=332

OKI #32:
https://youtu.be/WitPCxSeaqk?t=5203

 

Olimpiada od podstaw / Poziom II #30
#zajecia_100%_zanalizowane

Zakończenie OKI 22/23:
https://youtu.be/CTUDbW_L-bs?t=233

#pokazac #jak_sie_uczyc #historie_uczniow #motywacja
Bałtycka Olimpiada Informatyczna 2023 BOI:
– fantastyczny sukces polskiej reprezentacji
– Adam Gąsienica Samek każdego dnia wygrał / zdemolował pozostałe kraje
– w pierwszej dziesiątce 5-ciu Polaków
– wszyscy Polacy z medali złotymi / srebrnymi
– to
https://youtu.be/CTUDbW_L-bs?t=304

Po prostu zacznij!
Możesz!
To wszystko w naszym zasięgu
– Adam też kiedyś zaczynał
– był zawzięty w sportowym tego słowa znaczeniu
– porażki bardzo go motywowały
– nie 4 zadania tygodniowo a dużo więcej
– jeśli mamy radość z tego co robimy to warto się rzucić w swoją pasję
– zostawmy gry, inne rzeczy
– rower koleżanki tak
– ta przygoda jest przed nami
– 66 punktów przewagi Adama
https://youtu.be/CTUDbW_L-bs?t=342

Najtrudniejsze zadanie ever!
Zadanie Ciąg:
https://youtu.be/CTUDbW_L-bs?t=537
Rozwiązanie:
https://oki.org.pl/ciag

Jak tworzymy wyrazy ciągu?
https://youtu.be/CTUDbW_L-bs?t=642

#jak_rozwiazywac_zadania #strategia_konkurs
Dobre zrozumienie zadania to podstawa!
– nie bójmy się poświęcić nawet 10 / 15 minut
– bez zrozumienia nie rozwiązemy
https://youtu.be/CTUDbW_L-bs?t=1424

Straszliwe zadanie!
– musimy powiedzieć indeks 10^18
https://youtu.be/CTUDbW_L-bs?t=1737

Lekko pływamy – jest trudno!
https://youtu.be/CTUDbW_L-bs?t=4344

Obserwacja numer 1:
– co oznacza 3 na indeksie 4?
– że 6-tek będzie 4, 7-mek będzie 4 i ósemek będzie 4
https://youtu.be/CTUDbW_L-bs?t=1790

Obserwacja numer 2:
– ciąg składa się z bloków liczb:
https://youtu.be/CTUDbW_L-bs?t=2022

Obserwacja numer 3:
– krotność / długość bloku
– na podstawie danego elementu znamy kolejne, na podstawie kolejnych znamy jeszcze kolejne
– na podstawie indeksu ciągu 3 możemy dojść do indeksu 38
https://youtu.be/CTUDbW_L-bs?t=2087

Tablica ost gdzie jest ostatnia aktualnie rozpatrywana wartość
– pozostałe zmienne
– krotność – aktualny indeks
– znane – do którego indeksu ogarniamy wartości ciągu na podstawie krotności
– wynik – wartość dla indeksu znane
https://youtu.be/CTUDbW_L-bs?t=2524

Dokładna symulacja naszego algorytmu:
– bloki krotności 1
– bloki krotności 2
https://youtu.be/CTUDbW_L-bs?t=3078

Dokładne wytłumaczenie algorytmu:
Symulacja dla indeksu 3 (krotności 3)
– krotności 3 są od indeksu 4 do indeksu 5)
– czyli mamy 3 razy podciąg długości 4  (wartości 6 7 8)
– czyli mamy 3 razy podciąg długości 5 (wartości 9 10 12)
– czyli znane skacze o 27: 3*4 + 3*5
– wartość dla znane skacze o 6 (3*2) bo 6 wartości wystąpi w tych blokach
https://youtu.be/CTUDbW_L-bs?t=3831

Analizujemy podobnie algorytm dla indeksu/krotności 4:
https://youtu.be/CTUDbW_L-bs?t=4441

Będąc na indeksie 4 wiemy wartości do indeksu 122 / wartości 12
Analizujemy jak odpowiedzieć na pytanie o indeksy pomiędzy kolejnymi wyliczonymi znanymi:
https://youtu.be/CTUDbW_L-bs?t=4704

#pokazac #zajecia_oki_super #dajemy_rade
Super ogarniamy!
– 7-10 / 10
– super jak najtrudniejsze zadanie ever!
– brak algorytmu
– kłopot / pływanie to dwa poziomy które musimy ogarnąć
https://youtu.be/CTUDbW_L-bs?t=5173

Omówienie kodu zadania Ciąg:
https://youtu.be/CTUDbW_L-bs?t=5234

Czy wejdzie Python?
– a Fortran w C++
https://youtu.be/CTUDbW_L-bs?t=5686

Doświadczenia Tomka z konkursów:
– najważniejsze doświadczenie Tomka
– piszemy bruty jak nie umiemy
– za bardzo chciał wzorówki
https://youtu.be/CTUDbW_L-bs?t=6253

W którym momencie odpuścić wzorcówkę a kiedy pisać bruta?
– zacznij od najprostszego
– pół godziny jak nic nie widzisz przejdź do innego lub bruta
https://youtu.be/CTUDbW_L-bs?t=6328  

Pierwsze 15 minut czytamy treść zadania
– rozumiem ze szczegółami
https://youtu.be/CTUDbW_L-bs?t=6424

1/2h do 1h brak pomysłu na jakiekolwiek zadanie – piszę bruta
– już coś mam
– jestem spokojniejszy
– mogę usprawniać bruta
– może zauważę co liczę 2 razy
– w trakcie pisania bruta przyjdzie mi do głowy obserwacja
https://youtu.be/CTUDbW_L-bs?t=6444

Nie warto siedzieć nad jednym zadaniem do końca:
– siedzę 3h do 4h nad jednym zadaniem
– dużo ryzykuję
– nawet jeśli piszę bruta a on też nie idzie
– przełączmy się na inne – może prostszy brut.
– większość osób która mówiła że nie poszedł im konkurs to zafiksowanie się nad jakimś zadaniem i nie przeszli na drugie
– warto przeskakiwać między zadaniami
https://youtu.be/CTUDbW_L-bs?t=6509

Dzień przed jest bardzo ważny
– długi spacer
https://youtu.be/CTUDbW_L-bs?t=6582 

Jak zdjąć z siebie stres?
– wyobraź sobie, że jesteś na konkursie
– co robisz na początku – czytasz
– co robisz gdy masz pomysł / nie masz pomysłu
– co zrobisz po 1h /2h
– to co się dzieje się w mózgu
– wyobrażenie sobie czegoś jest tak jak to naprawdę robić
– jeśli wyobrazimy sobie dzień przed to naprawdę będziemy na konkursie
– na konkursie nie będzie stresu bo my już byliśmy na egzaminie
– już poukładaliśmy, ten stres pierwszego razu minął, bo nie jesteśmy pierwszy raz
– to bardzo mocna rzecz
– w czasach polowań na mamuty, słonie też sobie wyobrażali
– jak byli na polowaniu to było łatwiej
– zdejmujemy z siebie ten stres
– każdy ma ten stres – czy ma wiele czy mało punktów
– inne rzeczy – koncentracja na zadaniach
– wzięcie oddechu
https://youtu.be/CTUDbW_L-bs?t=6590

Bieżemy co nasze!
Zmienianie zadania – doświadczenie Tomka:
– II etap OI-a, I klasa Liceum
– stracił 5h nad jednym zadaniem – Drzewo czwórkowe
– myślał że ma na 100
– ono było proste koncepcyjnie ale trudne programistycznie
– nie był dobry programistycznie
– potrafił wymyślać, programistycznie słabo
– jak ważne jest programowanie
– wziął za to zadanie na 100 – nie na bruta
– widział setkę z tego zadania
– po 4h nie wychodzi, ale jestem blisko, mam na 100, nie będę robił bruta
– ostatnie 45 min / 30 min musiał się otrzeźwić i zrobić bruta
– wrócić do rzeczywistości
– napisał dwa bruty na 12 /13 punktów
– 25 punktów z dnia
– był zły – można było mieć więcej
– w tym roku zabrakło mu 20 punktów – właśnie jednego bruta, gdyby wcześniej zmienił zadania
– nie kozaczymy bieżemy co nasze
https://youtu.be/CTUDbW_L-bs?t=6742

Jeśli mamy pomysł / kod prosty dla nas na 100 – bierzemy!
– jeśli chcemy zawalczyć o wysokie miejsca wzorcówki będą się liczyć
– jeśli mamy problem z wymyśleniem – piszemy bruta
– takiego który jest programistycznie prosty
– by w 4 pętlach się w 10 ifach nie zagnieździlie, ugrzęźliw błotku
– by nie wziać zadania w ktrórym zagniźdzone ify sprawdzamy
– obok uciekają prostsze punkty zamotać
– strategia
https://youtu.be/CTUDbW_L-bs?t=6863

Strategia jest ważna
– wziąć co umiemy
– jeśli nie umiemy ok
– jeśli umiemy i nie weźmiemy tych punktów  to straszny kac moralny
https://youtu.be/CTUDbW_L-bs?t=6911

Jeśli nie idzie – zmieniamy
– jeśli zmieniamy mózg za każdym razem myśli inaczej
– nawet powrót po 60 sekundach to już inne podejście
– po toalecie
–  po wymachu
– jak gramy w szachy 3m/3m
– mam wygraną pozycję
– gość na 40 sekund nic nie rusza
– ja zajmuje się czymś innym
– wracam/ myślę inaczej i gośc mnie ogrywa – nie mam już zwycięskiej strategii
Wnioski
– jak mamy zadanie na setkę, kod prosty – piszemy
– nie wolno odłożyć na później
– bierzemy co nasze!
– jeżeli odłożymy może zabraknąć czasu
– mogą zapomnieć jak ja w szachach
– mogą nie zdążyć bo na końcu presja czasowa, mały dodatkowy problem i brak czasu na ogarnięcie
– jest setka piszemy!
– ta zasada działa też w ten sposób, że nie ma pomysłu
– wrócimy do zadania po 40s / 60s to mózg pójdzie po innych torach, inne pomysłu
https://youtu.be/CTUDbW_L-bs?t=6934

Nie popełniajmy błędów innych:
– i tak wszyscy popełniamy te same błędy
– przemyślmy by ich nie popełnić
– strategia jest ważna
– potem 2 tygodnie / 2miesiące kac mo0ralny bo strategia zawiodła
https://youtu.be/CTUDbW_L-bs?t=7090

Sukcesy Tomka Kwiatkowskiego:
https://youtu.be/CTUDbW_L-bs?t=7130

Daj z siebie wsyzstko
Ten sam konkursu jutro z tymi samymi zadaniami jutro dałby inna kolejność
Nie stresujmy się miejscem:
– jesteśmy w setce  – to już dużo
– zadania mogą podejść / nie podejść
– możemy być mocniejsi w pomysłach albo silniejsi w grafach
– nie chodzi o miejsce / chodzi o to by dać z siebie wszystko
– z innymi zadaniami inna kolejność
– będzie inna kolejność po I / II dniu
– nie patrzmy na miejsce
– bawmy się finałem / cieszmy się
– to pokazuje też historia
– twórca ChatGPT Jakub Pachocki był finalistą ale nie był zwycięzcą
– sam fakt bycia finalistą pokazuje naszą moc
– wyciąganie cyferek 1 / 3 / 5 – nie ma znaczenia
– finał to przygoda / fun /radość
– oddać tyle dobrych skoków ile zadań
https://youtu.be/CTUDbW_L-bs?t=7139

Symulujmy zadania
– Tomek napisał zadanie na kartce
– wypisał kolejne wyrazy – 36 wyrazów
– patrzmy na zależności
https://youtu.be/CTUDbW_L-bs?t=7312

Nie idzie to rysujmy
– napiszmy program który wypisuje kolejne wyrazy
– wypisujmy obserwacje
– przeskakujmy z zadaniami
– oddechy
–  koncentracja na zadaniach
– cieszmy się finałem
– to już gigantyczny sukces
– ale dajmy z siebie wszystko – warto
– przygotujmy się mentalnie dzień wcześnie
– na konkursie walka do końca, koncentracja
– testowanie
– nie wychodzi wcześniej
https://youtu.be/CTUDbW_L-bs?t=7339

Testujmy przypadki graniczne:
– walczymy do końca
– 10 sekund przed końćem wrzucane rozwiązania zmieniają kolejność
– osoba z 5 miejsca awansowała na 2 miejsce
– 5 minut znalazła błąd i minutę wcześniej wrzuciła poprawkę
https://youtu.be/CTUDbW_L-bs?t=7452

Powodzenia!
– Radości z finału
– Koncentracji do końca
https://youtu.be/CTUDbW_L-bs?t=7519

Olimpiada poziom II #31 – zapowiedź:
https://youtu.be/CTUDbW_L-bs?t=112

Olimpiada od podstaw #31 – zapowiedź:
https://youtu.be/CTUDbW_L-bs?t=172

Olimpiada zaawansowana #29

Prawnicy i Reprezentanci firmy:
https://youtu.be/0FetVxMBKaU?t=63

Reprezentanci firmy:
https://youtu.be/0FetVxMBKaU?t=168

Prawnicy:
https://youtu.be/0FetVxMBKaU?t=1656

Olimpiada Poziom II #29

Finał nie jest trudny!
https://youtu.be/LDG-IQxq5bk?t=42

OKI #30:
https://youtu.be/LDG-IQxq5bk?t=119

Zakończenie OKI:
https://youtu.be/LDG-IQxq5bk?t=252

Zadanie Stacja:
https://youtu.be/LDG-IQxq5bk?t=1141

Challenge #29
https://youtu.be/LDG-IQxq5bk?t=5599

Olimpiada od podstaw – wyścig programów #29

Fascynacja, Olimpiada i 4h dziennie!
https://youtu.be/Gh2aLbBoNuE?t=371

Układajmy zadania!
Kuba Pachocki, Lizak – układajmy zadania:
https://youtu.be/Gh2aLbBoNuE?t=5877

Zawody sportowe:
https://youtu.be/Gh2aLbBoNuE?t=1374

Challenge #29:
https://youtu.be/Gh2aLbBoNuE?t=5860

OKI #30:
https://youtu.be/Gh2aLbBoNuE?t=930

Programowanie od podstaw – wyścig programów #29

Dlaczego wolno?
https://youtu.be/CQt7q9wUcPU?t=12

Informatyka ratuje życie:
https://youtu.be/CQt7q9wUcPU?t=136

OKI 2023/24
https://youtu.be/CQt7q9wUcPU?t=1657

Istota rzeczy:
– nie 6 dni a 2 sekundy
https://youtu.be/CQt7q9wUcPU?t=4895

Challenge #29:
https://youtu.be/CQt7q9wUcPU?t=5076

OKI #31:
https://youtu.be/CQt7q9wUcPU?t=5108

 

Olimpiada Zaawansowana #28 – Meteory

Ciekawe bo równoległe!
Równoległe wyszukiwanie binarne
– to jest w zadaniu Meteory
https://youtu.be/Wx1VtiTBKDo?t=34

Meteory:
https://youtu.be/Wx1VtiTBKDo?t=106

Meteory- rozwiązanie:
https://youtu.be/Wx1VtiTBKDo?t=841

Rozwiązanie Binary Search:
https://youtu.be/Wx1VtiTBKDo?t=1088

Kod meteory:
https://youtu.be/Wx1VtiTBKDo?t=2299

OKI #29 – Reprezentanci Firmy / Prawnicy:
https://youtu.be/Wx1VtiTBKDo?t=3758

https://youtu.be/Wx1VtiTBKDo?t=3634

 

Olimpiada POZIOM II #28 – Łuk triumfalny
Łuk triumfalny:
https://youtu.be/PWhYSkhUJQs?t=186
Obserwacje:
https://youtu.be/PWhYSkhUJQs?t=426
Challenge #28:
https://youtu.be/PWhYSkhUJQs?t=1901

OKI #29:
https://youtu.be/PWhYSkhUJQs?t=1778

Olimpiada OD PODSTAW #28 – Wioska Logiki
Legendarne zadanie!
– Wioska logiki
https://youtu.be/PIoWs9pANWg?t=3

Jak się ubrać?
https://youtu.be/PIoWs9pANWg?t=62

Wybierz szkołę!
https://youtu.be/PIoWs9pANWg?t=626

Wioska logiki:
https://youtu.be/PIoWs9pANWg?t=1615

OKI#29:
https://youtu.be/PIoWs9pANWg?t=6026

Challenge #28:
https://youtu.be/PIoWs9pANWg?t=5960

Programowanie OD PODSTAW #28 – wyszukiwanie na vector, lower_bound
Czy masz porządek w pokoju?
Po co nam porządek?
– By szybko znajdować?
https://youtu.be/8CDzmS6WAck?t=13

Jak duży jest Google?
Jak szybko znajdować?
Jak ważne jest szybkie znajdowanie?
– jak google znajduje
– 100PT indeksów Google
https://youtu.be/8CDzmS6WAck?t=31

Szybkie wyszukiwanie – na czym polega problem:
https://youtu.be/8CDzmS6WAck?t=841

Punkt kulminacyjny:
– lower_bound / upper_bound – wyjaśnienie
https://youtu.be/8CDzmS6WAck?t=2427

Kiedy nie możemy użyć lower_bound() na vector?
– binary search pow wyniku
https://youtu.be/8CDzmS6WAck?t=4329
Początek odpowiedzi:
https://youtu.be/8CDzmS6WAck?t=4418

Challenge #28:
https://youtu.be/8CDzmS6WAck?t=4184

OKI #29:
– Wyścig programów
– zamiast 11 miliardów lat zrobimy to w 11 sekund
https://youtu.be/8CDzmS6WAck?t=4235

 

Olimpiada Zaawansowana #27 – Małpki
Małpki:
https://youtu.be/ntK5lm13xIk?t=511

Odwrócić czas:
– częsty trik
– Małpki
https://youtu.be/ntK5lm13xIk?t=1906

Zadanie Wielki Upadek:
https://youtu.be/ntK5lm13xIk?t=1938

Zadanie Wielki Upadek:
https://youtu.be/ntK5lm13xIk?t=2150

Warto czytać treści zadań:
– Mikołaj napisał tylko w jedną stronę
https://youtu.be/ntK5lm13xIk?t=2203

OKI #28:
https://youtu.be/ntK5lm13xIk?t=6730

Co można przynieść na Olimpiadę?
https://youtu.be/ntK5lm13xIk?t=6820

Czy jest róż nica między n a nlogn?
– jeśli autor chce to zróżnicuje
– dla zadań z biblioteczka i dużymi wartościami to mozna zróźnicować
https://youtu.be/ntK5lm13xIk?t=6848

Jak przygotować się do Olimpiady?
– jak dać mata w dwóch ruchach?
– czy mat w dwóch ruchach ma sens?
https://youtu.be/ntK5lm13xIk?t=7016

 

Olimpiada POZIOM  II #27 – PARADA – Dynamik na drzewach – Finał OI-a
Zostawiamy grafy warstwowe, przechodzimy do dynamików na drzewach!
Co może być na drzewie?
Dynamiki na drzewie mogą być proste
– ogólny sposób
– implementacje różnią
– im więcej zadań tym bardziej będziemy dostrzegać
https://youtu.be/IP2dveOg8yA?t=17

Drzewo biologiczne i informatyczne:
https://youtu.be/IP2dveOg8yA?t=485

Czy pytania odpowiadają na pytania?
– czy graf który ma n-1 wierzchołków i n krawędzi musi być drzewem
– musi być słówko spójny
https://youtu.be/IP2dveOg8yA?t=531

Strony do tworzenia grafów:
https://youtu.be/IP2dveOg8yA?t=1619

Zadanie Parada:
– finał XXIII OI-a
https://youtu.be/IP2dveOg8yA?t=1680

Dynamiki na drzewach:
https://youtu.be/IP2dveOg8yA?t=2726

Układanie quizów rozwija
Na ile sposobów można przejść graf DFS-em?
– pytanie do kahoot źródłem ciekawego problemu
– układanie pytań rozwija
https://youtu.be/IP2dveOg8yA?t=6559

OKI #28
https://youtu.be/IP2dveOg8yA?t=130

Challenge #27:
https://youtu.be/IP2dveOg8yA?t=6496

 

Olimpiada OD PODSTAW #27 – Speedrun – finał XIV OIJ

Gdzie te grafy?
Grafy!
https://youtu.be/16oqcotPD5I?t=16

Ostatni akcent roku szkolnego – finisz!
https://youtu.be/16oqcotPD5I?t=148

Jak minęły święta?
https://youtu.be/16oqcotPD5I?t=214

Gray też są potrzebne:
https://youtu.be/16oqcotPD5I?t=283

Speedrun:
https://youtu.be/16oqcotPD5I?t=1062

Mamy 100%!
https://youtu.be/16oqcotPD5I?t=5496

Challenge #27:
https://youtu.be/16oqcotPD5I?t=5174

OKI #28:
https://youtu.be/16oqcotPD5I?t=5269

 

 

Olimpiada Poziom II #26 – Przemytnicy

Zajęcia #27
– dynamiki na drzewie
https://youtu.be/2vkXEG3BJxg?t=96

Challenge #26:
https://youtu.be/2vkXEG3BJxg?t=3712

Olimpiada i… ChatGPT!

https://youtu.be/2vkXEG3BJxg?t=152

Olimpiada i… ChatGPT!
Kto wymyślił ChatGPT?
– Jakub Pachocki
https://youtu.be/2vkXEG3BJxg?t=212

Przemytnicy:
https://youtu.be/2vkXEG3BJxg?t=1046

Świąteczne życzenia:
https://youtu.be/2vkXEG3BJxg?t=4041

Olimpiada OD PODSTAW #26 – HLD

Najlepsze życzenia!
https://youtu.be/kIVKq3nOKHM?t=21

Legendarne zadanie!
https://youtu.be/kIVKq3nOKHM?t=49

Jaka szkoła?
– wybieramy szkołę
https://youtu.be/kIVKq3nOKHM?t=322

Obozy:
https://youtu.be/kIVKq3nOKHM?t=423

Zadanie ciężarówki:
https://youtu.be/kIVKq3nOKHM?t=1310

Challenge #26:
https://youtu.be/kIVKq3nOKHM?t=7864

OKI #27:
https://youtu.be/kIVKq3nOKHM?t=243

Programowanie OD PODSTAW #26 – map

Dzikie indeksy
map
– możemy odwoływać się do dzikich indeksów
– w tablicy mamy odwołania od 1 do 10
– nasza tablica może odwoływać się do indeksów jak: Maciek czy -10
https://youtu.be/UIr8nuRMxxE?t=68

map – początek omówienia:
– klucze i wartości
– tablica ma indeksy liczbowe
– czy możemy mieć tab[“Ala”] = “Maciek”;
https://youtu.be/UIr8nuRMxxE?t=337

Przechodzimy po map:
https://youtu.be/UIr8nuRMxxE?t=740

map – odwołanie do niezdefiniowanego klucza:
https://youtu.be/UIr8nuRMxxE?t=932

Liczy się odwaga!
https://youtu.be/UIr8nuRMxxE?t=1105

element który dotykamy wchodzi do mapy:
https://youtu.be/UIr8nuRMxxE?t=1120

Zadanie Ogrodnik Bitek:
https://youtu.be/UIr8nuRMxxE?t=2431

Challenge #26:
https://youtu.be/UIr8nuRMxxE?t=3181

auto w C++
https://youtu.be/UIr8nuRMxxE?t=3411

Życzenie Świąteczne:
https://youtu.be/UIr8nuRMxxE?t=3587

Olimpiada Zaawansowana #25 – HLD

Co to jest HLD?
https://youtu.be/Cp_2pB6BfKI?t=124

Jaka przyszłość
Jaka przyszłość OKI Advanced?
– Olimpiadę wygrywa się pomysłami a nie algorytmami
https://youtu.be/Cp_2pB6BfKI?t=599

Omawiamy nasze zadania – zgłaszajmy!
https://youtu.be/Cp_2pB6BfKI?t=1104

III etap OI-a:
https://youtu.be/Cp_2pB6BfKI?t=1049

Gdzie stosuje się Centroidy?
https://youtu.be/Cp_2pB6BfKI?t=1323

Gdzie używamy HLD?
Co to jest HLD?
Co pozwala HLD?
– zmienić krawędź
– wartość w podrzewie, suma NWD
– wartośc na wybranej ścieżce
– dodać 4 do wszystkich krawędzi na zadanej ścieżce
– nie wolniej O(log^2n)
https://youtu.be/Cp_2pB6BfKI?t=1372

Kod HLD:
https://youtu.be/Cp_2pB6BfKI?t=2932

Jak napisać drzewo przedziałowe na wskaźnikach?
https://youtu.be/Cp_2pB6BfKI?t=5152

Za tydzień zadanie Małpki!
https://youtu.be/Cp_2pB6BfKI?t=5182

 

Olimpiada Poziom II #25 – Zadanie Bug- potyczki algorytmiczne

Dijkstra i pomysł!
– częsty pomysł!
– zadanie z potyczek algorytmicznych
https://youtu.be/n-tE-YVuloI?t=23

USACO
– kto brał udział?
– będą zadania
https://youtu.be/n-tE-YVuloI?t=142

Biblioteka standardowa STL C++:
– poziom olimpiady nie potrzeba
– wystarczy dokumentacja
– patrzymy co potrzebujemy
https://youtu.be/n-tE-YVuloI?t=262

Plany Poziom II:
https://youtu.be/n-tE-YVuloI?t=343

OKI #26:
https://youtu.be/n-tE-YVuloI?t=81

Challenge #25:
https://youtu.be/n-tE-YVuloI?t=4614

Przechodzimy na szkopuła:
https://youtu.be/n-tE-YVuloI?t=4596

Turniej szachowy – na zajęciach:
https://youtu.be/n-tE-YVuloI?t=1214

Ethical hacking – Olimpijskie Koło Hackerskie:
https://youtu.be/n-tE-YVuloI?t=1224

Zadanie Bug:
https://youtu.be/n-tE-YVuloI?t=1278

Zadania do programowania dynamicznego:
Bracia
Rezerwacja sal wykładowych
Diamenty
Piramida
https://youtu.be/n-tE-YVuloI?t=4707

Olimpiada OD PODSTAW! #25 – Liczby silne – finał OIJ

Jaki jest sens olimpiad?
Olimpiada motywacją
Przygotowujemy się rozwiązywania problemów w przyszłości
– motywuje nas Olimpiada
– przygotowujemy się do finału – zadanie z finału
– nieważne czy jesteśmy – myślmy jak byśmy byli
– bo taki jest sens olimpiady – motywacja do rozwoju
– poznać / odkryć jak się rozwiązuje problemy przy pomocy komputera
– by w przyszłości samemu rozwiązać te problemy
– znaleźć strategię inwestycyjną, ekologiczny plastik, rozłożenie elementów na taśmie
– mnóstwo rzeczy które komputer normalnie liczy miliardy lat my rozwiążemy w sekundę
– zapakować rzeczy do tysięcy ciężarówek
– to my jako informatycy zrobimy
– olimpiada nas motywuje
– niech 3 etap motywacją
– dlatego robimy zadanie z III etapu
https://youtu.be/iFnRvm6nxV8?t=3

Potężny cios
Strategia cięższych rękawic:
– zadania o jeden stopień wyżej
– dla nas zadanie o 1 poziom niżej łatwiejsze
– pochodzi od bokserów
– przygotowują się do walki w cięższych rękawicach
– potem jak założą zwykłe mając potężny cios
– my mamy mieć potężny cios
– na tej olimpiadzie informatycznej
– jak zobaczymy zadanie, ma opaść stres, przecież robiliśmy trudniejsze
– spoko spoko koncentracja damy radę
– o to chodzi
https://youtu.be/iFnRvm6nxV8?t=94

Finał  OI-a za nami!
– gratulacje dla wszystkich
– bezdyskusyjne zwycięstwo Antoniego Buraczewskiego – absolutny MAX
https://youtu.be/iFnRvm6nxV8?t=168

#pokazac
#top
#potrzebni
#motywacja
#dlaczego_olimpiada
Gratulacje dla wszystkich laureatów, finalistów
– gratulacje dla każdego kto był w finale
– bycie wśród 100 najlepszych informatyków spośród 1,5mln osób w szkołach srednich
– każdy chce mieć taką osobę w zespole, każdy chce rozmawiac
– bo to jest talent, kreatywność, wielki móżg
– ale nie tylko
– to jest hart ducha
– za każdą z tych osób stoją godziny przygotowań, myślenia
– każda z tych osób pokazała że potrafi skupić się na celu, dążyć
– potrafi odłożyć na bok rzeczy które przeszkadzają
– nie ma sensu bym grał w gry
– mam coś ciekawszego
– to ja będę tworzył utra szybkie gry
– ja mogę dużo więcej
– wszystko co robię gigantyczny sens
– pokazały hart ducha, kreatywność,
– fantastyczna przyszłość
– gdziekolwiek napiszesz na linkedin finalista olimpiady informatycznej
– momentalnie firmy chcą rozmawiać
– zachęcam każdego z nas
– jeśli masz jakąkolwiek wątpliwość – pozbądź się jej
– nieważne w której jesteś klasie
– motywuj się III etapem OIJ / I etapem który będzie za chwilę
– przeznacz każdą chwilę na algorytmikę, rozwiązywanie problemów
– to wszystko ma sens
– tego świat potrzebuje
– będziesz potrzebny
– gratulacje
https://youtu.be/iFnRvm6nxV8?t=205

Gratulacje dla Michała Szeligi – naszego prowadzącego
– laureat
https://youtu.be/iFnRvm6nxV8?t=356

Wrażenia z finału!
Nie można się poddawać
– witamy Michałą Szeligę, laureata jubileszewskiej XXX Olimpiady Informatycznej
– zadowolony
– mógł mieć lepszy wynik
– pierwszy dzień rozczarowany – zaledwie 62 punkty
– próbował zdebugować jedno podzadanie
– złe rozwiązanie debugował
– pomysł był dobry ale głupio w implementacji
https://youtu.be/iFnRvm6nxV8?t=1182

Strategia…
Warto pomyśleć nad każdym zadaniem!
– jedno zadanie przeczytał na początku, odłożył na bok
– leżało do końca konkursu
– mógł je zrobić na 80-100 punktów
– nad każdym zadaniem warto się trochę zastanowić
– a nie cały czas walić głową w mur, klepiąc jedno rzecz
– najgorzej jak ktoś się zakopie w implementacji
– warto zrobić przerwę pomyśleć o innych zadaniach
– nie jest łatwe w sytuacji presji czasowej ale konieczne
– 1 dzień – mógłby być dużo lepszy wynik
– ale drugiego dnia miał lepszy wynik od wielu kolegów, jest zadowolony
– nie można się poddawać
– bo istnieje przyszłosć
– i można wszystko naprawić
https://youtu.be/iFnRvm6nxV8?t=1270

Jak ważna strategia
Wyrzucić to co złe?
Czy możemy się podnieść?
Źle pierwszy etap, jak pójść na drugi etap?
– Jakie popołudnie po peirwszym etapei
– Nie był w stanie totalnie wyrzucić z głowy
– Wyciągnął wnioski
– Bardziej świadomy tego co robi
– Lepiej strategicznie podejść do konkursu
– Umiejętności są
– Ale jak wpadnie w głupie pułapki to się blokuje
– Skupił się na wnioskach
https://youtu.be/iFnRvm6nxV8?t=1343

Jak Michał przygotowywał się do OI-a?
– ile zadań tygodniowo
– różnie
– był okres gdy robił jedno zadanie tygodniowo
– w trakcie nauki zdalnej gdy miał dużo czasu
– brał udział w warsztatach
– z kolegami pisze konkursy drużynowe
– przez ostatnie 2 miesiące 2-3 zadania tygodniowo
https://youtu.be/iFnRvm6nxV8?t=1408

Drużynowe warsztaty UW:
– przygotowania do akademickiej olimpiad dla studentów
– wstęp otwarty
– każda drużyna może przyjśc i pisać
– byłe międzynarodowe olimpiady
– UW udostępnia miejsce, wydruki
– motywacja że tam jest pisane
– towarzystwo, wyjście termin które motywuje, nie można przełożyć, profesro
https://youtu.be/iFnRvm6nxV8?t=1464

Zadanie z finału XV OOIJ – liczby silne:
https://youtu.be/iFnRvm6nxV8?t=1592

Liczby silne – finał OIJ
– laureat praktycznie nasz
– a może pierwsza dwudziestka
– warto!
https://youtu.be/iFnRvm6nxV8?t=6323

Challenge #25:
https://youtu.be/iFnRvm6nxV8?t=6104

OKI #26
https://youtu.be/iFnRvm6nxV8?t=6239

Programowanie OD PODSTAW! – #25 – 18-latki – kolejka priorytetowa i tablica
usuwanie elementów z kolejki

Statystyka!
– zegarki na rękę – puls, tętno
– wiemy jak zachowuje się organizm
– możemy zobaczyć statystki
– zobaczyć postępy, moc biegową
– wezwać pogotowie jak jest problem
– próg mleczanowy – przetrenowanie
– telefony mówią nam – używaliśmy telefonu więcej niż poprzednim tygodniu
– śpimy za dużo, śpimy za mało
– moga pokazać bo zbierają dane
– super pomysł na apliakcję
– wizualizacji danych – trendów
– wnioski – douczenie się jak działa człowiek i pomoc
– sieć neronowa
https://youtu.be/Z_rmVH4HD84?t=22

Pomysł na aplikację:
– zegarki 2020 – jeden kwartał – ponad 10 mln sprzedanych zegarków
– ponad 10 mln zegarków sprzedanych w jednym kwartale
– duży rynek na naszą aplikację
– podpowiadać treningi
https://youtu.be/Z_rmVH4HD84?t=160

Dziś aplikacja która analizuje dane społeczeństwa:
– jak zmienia się wzrost społeczeństwa
– ministerstwo oczywiście analizuje informacje o społeczeństwie
– czy jesteśmy zdrowsi, wzrost, waga
– programiści, informatycy piszą aplikacje
– potencjalna przyszłość
– dziś początek takiej aplikacji
– wykorzystamy do tego naszą wiedzę – kolejka priorytetowa
https://youtu.be/Z_rmVH4HD84?t=200

Wnikajmy!
Inwestuj w rzeczy ponadczasowe
– nieważne jaki jeżyk będzie znać
– jak będziemy rozumieć to będziemy potrzebni
– inwestuj w ponadczasowe rzeczy
– języki się zmieniają
– 10 lat temu nie były Python, JavaScript
– jeśli rozumiemy jak działa kolejka priorytetowa, mapa to będziemy w stanie pomóc bez względu na język programowania
– struktury są podobne w każdym języku programowania
https://youtu.be/Z_rmVH4HD84?t=263

Informatyczne gole!
Informatycy grają w piłkę!
Wynik meczu gorąca dyskusja
Gotowe powołanie
Aplikacje do statystyk i piłka
– na meczu piłkarski statystyk są zbierane setki, tysiące
– ile podań, dobry, złych, względem odległości
– jak się przesuwali, posiadanie piłki w strefie pierwszej drugiej, trzeciej
– pod bramką w obronie
– w drużynach są zatrudnieni Ci którzy zajmują się analizą danych!
– statystycy, matematycy
– wnioski! Gdzie przeciwnik jest dobry, gdzie jest zły
– gdzie my jesteśmy dobrzy, gdzie mamy się poprawić
– Negelsman – niemiecki trener – wyrósł na statystykach
– jako pierwszy zaczął stosować metody statystyczne w trenowaniu
– dało mu to sukcesy
– aplikacje analizujące mecze – duże pieniądze
– matematyka, aplikacje analizujące dane – przyszłość jest nasza
– oglądając mecz od strony informatycznej
– ile tam jest danych przetwarzanych
– piłka nożna to informatyka
– wszystko co robimy ma głęboki sens
– piękna przyszłość
– można zobaczyć jakie aplikacje dla drużyn piłkarski
– zgłosić się na ochotnika jako woluntariusz
– pokazać programy które napisaliście w USACO
– podania liczy komputer
– statystyki na bieżąco
– przetwarzanie obrazu + analiza
– celny strzał / niecelny
– kto ma piłkę i komu przydzielić czas posiadania piłki
– to cały czas robi system informatycy
– fascynująca sprawa
– jak ktoś lubi informatykę i piłkę to ma gotowe powołanie!
https://youtu.be/Z_rmVH4HD84?t=372

Jak się uczyć dynamików?
– strona OKI lista zadań
– otagowane zadania
https://youtu.be/Z_rmVH4HD84?t=1630

Zadanie 18-latki:
https://youtu.be/Z_rmVH4HD84?t=1796

Zajęcia OKI#26:
https://youtu.be/Z_rmVH4HD84?t=5681

Challenge #25
Nowy challenge – opis:
https://youtu.be/Z_rmVH4HD84?t=5749

Nowy challenge szkopuł / ranking:
https://youtu.be/Z_rmVH4HD84?t=5762

 

Olimpiada OD PODSTAW! – Bomberman
Progress!
Historia Szymona i Bombermana
Zadanie Bomberman:
– II etap z OI29 2022
– Szymon zrobił bruta na 30
– teraz udało mu się
– pokazuje jak fajny jest BFS
https://youtu.be/IL0usm-8LPI?t=69

Rozwiązanie brutalne:
https://youtu.be/IL0usm-8LPI?t=912

Zrób progress!
– Szymon w zeszłym roku – brut
– teraz udało się
https://youtu.be/IL0usm-8LPI?t=1333

Warto pisać bruty!
Wymyśliłeś bruta? Pisz!
– bruty dużo dają
– decydują o przejściu lub nie do finału
– to może pomóc w sprawdzaniu wzorcówki
https://youtu.be/IL0usm-8LPI?t=1368

Zadanie pomocnicze:
https://youtu.be/IL0usm-8LPI?t=1401

Przenosimy zadanie pomocnicze na Bombermana:
https://youtu.be/IL0usm-8LPI?t=2434

Kiedy satysfakcja?
Trudności nas wzmacniają!
– na takich zadaniach najlepiej się uczyć
– Szyman ma dużą satysfakcję jak takie zadania rozwiąże
– bardzo rozwija
https://youtu.be/IL0usm-8LPI?t=4710

Podsumowanie algorytmu:
https://youtu.be/IL0usm-8LPI?t=5655

Kod Bombermana:
https://youtu.be/IL0usm-8LPI?t=5905

Olimpiada Poziom II – Spóźnienie

Kto jest kuzynem BFS-a?
Dijkstra – kuzyn DFS
https://youtu.be/6nPicBs3txE?t=20

OI #25 – zadanie Bug
– dywizja A – najtrudniejsza
– fajny pomysł do wykorzystania na kolejnych zajęciach
https://youtu.be/6nPicBs3txE?t=79
Zapowiedź 2:
https://youtu.be/6nPicBs3txE?t=5141

Challenge #24:
https://youtu.be/6nPicBs3txE?t=4811

Olimpiada Informatyczna!
– dwa dni ogromnego wysiłku
– gratulacje każdego pomysłu
– ważne że myślimy nad zadaniem
– spotkania na bieżąco on site
https://youtu.be/6nPicBs3txE?t=142

Startuje USACO!
– trwa 3-4h
– my ustalamy kiedy chcemy pisać
– przyciskamy start i jedziemy
– lepiej rano
https://youtu.be/6nPicBs3txE?t=228

Czy brąz jest łatwy?
https://youtu.be/6nPicBs3txE?t=4946

Trzeba grać!
Jak awansować na USACO?
– Trzeba grać!
– Jak max – awansujemy w tej samej rondzie
– Jeśli nie maxa to w kolejnej rundzie od 600
– co ile USACO – harmonogram na stronie
– jak się liczy punkty na USACO?
– każdy test to punkty / równomierne rozłożone
– każde zadanie to 333 punkty
https://youtu.be/6nPicBs3txE?t=5377

Co jeszcze na OKI POZIOM II?
– kolejka priorytetowa
– Jump pointery
– LCA
https://youtu.be/6nPicBs3txE?t=924

Zadanie Spóźnienie – ontak – grupa A – 2019 rok:
https://youtu.be/6nPicBs3txE?t=1200

Browar i Dijkstra:
– zadanie Gdzie zbudować Browar?
– autorem jest profesor Guzicki – nauczyciel Tomka w Gimnazjum

https://youtu.be/6nPicBs3txE?t=367

Omówienie zadania “Jak zbudować browar”?
https://youtu.be/6nPicBs3txE?t=5482

Kiedy turniej szachowy?
https://youtu.be/6nPicBs3txE?t=5198

Fajne zadanka na Dijkstre / grafy:
– Spoznienie, Bug, Przemytnicy, Hydra (Potyczki, Dynamik na Dijktre)
– Farm updates / Pseudo FAU – jak mniejszy łączymy do większego to mamy złożoność nlogn
https://youtu.be/6nPicBs3txE?t=5224

OKI #25 – Programowanie OD PODSTAW

Jesteśmy  programiści – potrzebni:
– mamy misję!
– zajmiemy się aplikacjami medycznymi
– zdrowie całego społeczeństwa
– najbardziej motywujące jest to że działanie ma sens, pomogliśmy
– nie wynagrodzenie
– informatyka w medycynie, to setki zastosowań
– my napiszemy własną
– dokumentacja elektroniczna, historia, wie z czym przyszliśmy
– automatyczne zamawianie w szpitalu, IoT – czujniki widzą czego jest za mało
– analiza danych, statystyka – dziś
– zegarki które mierzą puls, ciśnienie
– powiedzieć nam czy jest progres w ciągu roku
– jak zmieniają się całe społeczeństwa – waga, wzrost
– wizualizacja serca – studenci mogą się uczyć
– analiza DNA, dlaczego niektórzy chorują inni nie, możemy jako informatycy to powiedzieć
– możemy w przypadku problemów ze zdrowiem uratować życie! – słabe tętno
– piękna przyszłość
– jak warto programować, jak warto brać udział w Olimpiadzie, challenge
– to prowadzi nas do pięknej przyszłości która ma sens, bo pomaga
– bez względu na wygrodzenie
https://youtu.be/xr_OoP4-rw0?t=15

Piękna przyszłość przed nami!
– jak warto programować, jak warto brać udział w Olimpiadzie, challenge
– to prowadzi nas do pięknej przyszłości która ma sens, bo pomaga
– bez względu na wygrodzenie
https://youtu.be/xr_OoP4-rw0?t=236

Kiedy radość?
Nie ma większej radości od tego, że pomożemy
– mała dziewczynka, historia, lekarz, łzy
– jest sens programować
https://youtu.be/xr_OoP4-rw0?t=259

USACO
Jest sens programować!
– najbliższy weekend
– przygotujmy 4 godziny
– musimy ciągiem
– wyśpijmy się i weźmy udział!
– rywalizujmy z całym światem
– zobaczę że jestem mocny
– mogę pokonać amerykanów, chińczyków
– że to co robię ma sens
– że nie tylko pomaga ale ma zdolności
– poziomy przechodzę
– motywacja
– dla tych którzy biorą udział w Olimpiadach
– sprawdzam się w warunkach stresu
– czy dobrze rozłożyłem siły, przerzucam się miedzy zadaniami, kreatywność
– wszystko możemy przetestować
– każde zadanie  – piękny wpis do CV
– robi wrażenie na wszystkich
– można brać udział od piątku do poniedziałku
– brązowa – II etap OIJ
– silver II/III etap OIJ
– gold – OI
– platinium IOI
https://youtu.be/xr_OoP4-rw0?t=307

Kodujmy!
– przyszłość jest piękna
– zobaczymy że aplikacja może działać wolno lub szybko
– kodujmy
– challenge
– róbmy zadania
– każda sekunda to najlepiej spożytkowany czas
https://youtu.be/xr_OoP4-rw0?t=499

Quiz kolejka ze znaków:
– size
– push
– top
https://youtu.be/xr_OoP4-rw0?t=793

Challenge #24:
https://youtu.be/xr_OoP4-rw0?t=657

OKI #24 – Olimpiada Zaawansowana

Zadanie Potatoes and fertilizers – Finał Olimpiady Litewskiej:
https://youtu.be/ycqPwTFU100?t=333

Prosto nie jest!
https://youtu.be/ycqPwTFU100?t=1001

Upraszczamy!
Prostsze zadanie – upraszczamy myślenie o naszym zadaniu:
https://youtu.be/ycqPwTFU100?t=1005

Prostsze zadanie staje się rozwiązaniem!
https://youtu.be/ycqPwTFU100?t=6621

OKI #25:
https://youtu.be/ycqPwTFU100?t=7511

OKI #23 – Olimpiada Poziom II

Zaczynamy algorytm Dijkstry:
Dijkstra – Zaczynamy!
https://youtu.be/Rho7LZnBwoA?t=20

Ontak – obóz dla najlepszych olimpijczyków
https://youtu.be/Rho7LZnBwoA?t=93

Zadanie Shortest Routes:
https://youtu.be/Rho7LZnBwoA?t=730

Jak działa Algorytm Dijkstry?
https://youtu.be/Rho7LZnBwoA?t=1075

OKI #24:
https://youtu.be/Rho7LZnBwoA?t=76

Challenge #23:
https://youtu.be/Rho7LZnBwoA?t=4005

 

OKI #23 – Programowanie OD PODSTAW

Własny świat!
– własne prawa
– teksty z własnym porządkiem – najdłuższe – potem krótsze
– programowanie robi to co chcemy
– mamy wiertarkę która wierci w dół a potem w poprzek
– w programowaniu tworzymy własne światy z prawami które my definujemy!
– niesamowita radość
https://youtu.be/L5vzOEoctgg?t=14

Uczymy się rzeczy które wykorzystamy!
– w dorosłym życiu
– czy teraz mając naście lat i tworząc grupę programistyczną
– uczymy się ogólnych rzeczy, rozumiemy, na pewno je wykorzystamy
https://youtu.be/L5vzOEoctgg?t=90

Kto najbardziej hojny?
– często interesuje nas sytuacja naj
– najbardziej hojnym, najwyższy, najdłuższy napis
– kolejka priorytetowa
– bardzo przydatna w olimpiadzie
– pozwalała uzyskać 100 punktów na II etapie OI-a
– w życiu jeszcze bardziej
– dziś zaczątek aplikacji gdzie kolejka będzie niezbędna!
https://youtu.be/L5vzOEoctgg?t=114

Dziś piszemy zaczątek aplikacji:
https://youtu.be/L5vzOEoctgg?t=176

Co gdy potrzebujemy środków na aplikację / na grę?
– na kompilator, obecność w necie, programistów
– albo na firmę która roznosi ulotki
– można pożyczyć, znaleźć inwestora
– finansowanie społecznościowe – crowdfounding
– dlaczego?
– podoba im się, dostaną pierwszą wersję, mają dobre serce
https://youtu.be/L5vzOEoctgg?t=176

Firmy które zdobyły środki przy pomocy crowdfoundingu:
– przykłady firm
– FNF – Friday Night Funkin
– 2-3 osoby
– gra w której ktoś śpiewa a my musimy wybierać nuty które śpiewa
– prosta ale się spodobał
– W ciągu miesiąca powstała gra
– Weszli na jedną z platform crwodfoundingowych
– 60 000 USD w ciągu kilku godzin
– w mniej niż rok $2mln
– da się zebrać!
– rozwija się, otwarta społeczność
– można dokładać kod, muzyki
– inspiracja gdy dorośli
– teraz poprosić kogoś dorosłego
https://youtu.be/L5vzOEoctgg?t=301

Wykorzystamy ideę crowdfounding
– wypisywać tego kto najwięcej wpłacał
– motywujące dla innych by więcej wpłacali
https://youtu.be/L5vzOEoctgg?t=471

Kolejka priorytetowa – opis szczegółowy:
https://youtu.be/L5vzOEoctgg?t=633

Kolejka priorytetowa z własnym sortowaniem:
– własny comparator
– struct
https://youtu.be/L5vzOEoctgg?t=4505

Challenge #23:
https://youtu.be/L5vzOEoctgg?t=2908

OKI #24:
https://youtu.be/L5vzOEoctgg?t=2939

OKI #23 – Olimpiada OD PODSTAW

Za nami II etap OIJ!
– wszyscy uczestnicy III etapu mają status finalisty
https://youtu.be/5zDdq2xGocg?t=22

Gratulacje dla wszystkich finalistów!
– bycie wśród setki najlepszych z miliona uczestników
– tego nikt nigdy nie odbierze
– można okraść człowieka, zrobić krzywdę ale tego nie da się zabrać
– zawsze będzie to budzić podziw świata
– piękna chwila w życiu każdego z nas
– ale potwierdzenie zdolności, hartu ducha, radzenia sobie ze stresem
– umiejętność dążenia do celu
https://youtu.be/5zDdq2xGocg?t=46

Lista finalistów!
https://youtu.be/5zDdq2xGocg?t=99

Wykorzystaj czas!
W finale wszyscy startujemy od zera!
– z takimi samymi szansami
– wykorzystajmy czas
– przed nami 8 tygodni
– róbmy zadania
– wrocławskie sparingi, olimpiady, usaco silver+, EJOI, Mistrza Programowania, challenge
– 4 zadania tygodniowo
– finaliście mają szkołę średnią
– jest możliwość zawalczenia o maksa
https://youtu.be/5zDdq2xGocg?t=275

Czas na przygotowanie Olimpiady to najlepiej spożytkowany czas!
– nieważne czy jesteśmy w 3 etapie czy nie
– poświęciliśmy mnóstwo czasu
– i poświęcimy za chwilę
– przyjmij że jesteś, przygotuj się jakbyś był w tym 3 etapie
– nie chodzi o miejsce na tym 3 etapie  – walczymy, są emocje
– musi być głębszy sens
– coś dalej niż szkoła podstawowa czy średnia
– bo jeśli dalej by nic nie było to mamy wyrzucić te setki tysiące godzin?
– cała wiedza, doświadczenia miałaby być wyrzucona gdzieś
– czy ta wiedza jest tylko dlatego że jest III etap?
– oczywiście III etap jest ważny  -da rozmowę kwalifikacyjną w każdej firmie
– sukces niebywały
– ale nie to jest najważniejsze
– wszystko czego się nauczymy, narzędzia doświadczenie – przyda się
– będziemy w research and development gigantów
– założymy start-up
– odkryjemy nowe twierdzenie które przyspieszy działanie komputerów
– to Ty wymyślisz ekologiczny plastik, lek na raka, optymalne strategie inwestycyjne
– dzięki Temu że teraz się przygotowujesz
– będziesz tym najlepszym zasobem, który każdy będzie chciał, będziesz w wielu projektach
– to o to chodzi
– nieważne czy jesteś w finale czy nie
– potraktuj że masz 8 tygodni i przygotowywuj się
https://youtu.be/5zDdq2xGocg?t=369

Wyciągnij wnioski z tego co się nie udało

A jeśli się nieudało być w finale, czy słabiej poszło
– wyciągnij wnioski
– może zabrakło czasu?
– może nie przeczytałeś treści zadania
– ilu z nas nie doczytało treści zadania i zrobiło inne Tzadanie, czasem trudniejsze
– ale za to nie dają punktów
– W zadaniu full było ograniczenie do 52 dla kart – ktoś zrobił dla miliona
– będzie poszukiwaną w start-upie – zrobiłeś trudniejsze zadania
– na Olimpiadzie możesz nie dostać za to punktów bo zabraknie czasu na Twoją metodę
– może za długo myślałem nad jednym zadaniem i za późno się przełączyłem?
– mój mózg nie miał szans wystartować jeszcze raz od zera
– kreatywność, strategia – o tym mówiliśmy
– ile się przygotowywałeś, priorytety
– czy umiałeś mapę, kolejkę priorytetową, set
– ileś elementów które składają się na to czy etap pójdzie dobrze czy gorzej
– NAJWAZNIEJSZE – walczmy – bo walczymy o dużo więcej
https://youtu.be/5zDdq2xGocg?t=502

Graf jak wczytywać  – wytłumaczenie reprezentacji – kahoot:
https://youtu.be/5zDdq2xGocg?t=929

Dziś BFS
https://youtu.be/5zDdq2xGocg?t=621

BFS:
https://youtu.be/5zDdq2xGocg?t=2472

Challenge #23:
https://youtu.be/5zDdq2xGocg?t=6333

OKI #24:
https://youtu.be/5zDdq2xGocg?t=6392

Strategia cięższych rękawic:
https://youtu.be/5zDdq2xGocg?t=6395

 

OKI #22 – Zaawansowane

Co to jest Centroid?
Co to jest Centroid decomposition / Rozbicie Centroidalne?
https://youtu.be/xIg-YY8FoJA?t=946

Piszemy kod Centroidu:
https://youtu.be/xIg-YY8FoJA?t=2558

Jak znaleźć Centroid?
Algorytm znajdowania Centroidu:
https://youtu.be/xIg-YY8FoJA?t=2852

Gdzie w necie rysować grafy?
https://youtu.be/xIg-YY8FoJA?t=2951

OKI#23 – dynamik – Potatoes z 2019 roku finał OI litewskiej
https://youtu.be/xIg-YY8FoJA?t=5730

OKI #22 – Programowanie od podstaw – Sprawdzamy plagiaty – set – własne sortowanie

#pokazac
#aplikacje_pomysly
Plagiaty i informatyka
Sprawdzamy plagiaty!
– własna aplikacja
– problem plagiatów stary jak świat
– przemówienia, powieści, piosenki, programy
– ludzie sobie zarzucają
– trzeba sprawdzić jak mocne jest podobieństwo
– programów które sprawdzają plagiaty jest bardzo dużo
– będziemy go udoskonalać
https://youtu.be/nPIewnyLFMk?t=15

#pokazac
#set-dlaczego
Gdzie przydaje się set?
Co ma set?
– wykorzystamy set
– już znamy
– trzymamy wszystko uporządkowane
– trzyma wszystko raz
– dostęp do elementów jest błyskawiczny
– może przydać się na Olimpiadzie
– przydaje się w programowaniu zawodowym
– można set wykorzystać do systemu antyplagiatowego
https://youtu.be/nPIewnyLFMk?t=89

Przykład plagiatu – piosenki:
https://youtu.be/nPIewnyLFMk?t=142

#set
Wyjaśnienie set w kahoot:
– size
– własności setu
– lower_bound / upper_bound – złożoność
https://youtu.be/nPIewnyLFMk?t=511

#set-zadanie
Zadanie Antyplagiat:
https://youtu.be/nPIewnyLFMk?t=1725

Funkcja która usuwa białe znaki:
https://youtu.be/nPIewnyLFMk?t=2628

getline – wczytywanie dowolnej liczby linii:
https://youtu.be/nPIewnyLFMk?t=3519

#set
Własny porządek!
set z własnym porządkiem – własna funkcja porządkująca set
https://youtu.be/nPIewnyLFMk?t=5007

#set
set z własnym porządkiem – kahoot
https://youtu.be/nPIewnyLFMk?t=6215

Challenge #22:
https://youtu.be/nPIewnyLFMk?t=5959

OKI #23:
https://youtu.be/nPIewnyLFMk?t=6043

 

OKI #22 – Olimpiada od podstaw – Warsztaty – 4 OIJ etap 2 – Find And Union

Za nami II etap OIJ/OI
– dziękuję za gigantyczny wysiłek
– za wszystko co odkryliście
– godziny debugowania, myślenia
– za fantastyczną podróż w która wkroczyliście, w której jesteście
https://youtu.be/MiuWOJ74EHw?t=42

#pokazac
#potrzebni
#dlaczego_olimpiada
Olimpiada Informatyczna ma sens!
– nieważne czy przejdziemy czy nie II etap
– ważne że uwierzyliście, że ta podróż której Olimpiada jest początkiem ma sens
– że ta podróż prowadzi nas do pięknych widoków
– ale nie tylko – będzie potrzebni
– nie tylko będziemy cieszyć się tym co robimy
– to Ty znajdziesz lek na raka, ekologiczny plastik, optymalną inwestycję, wyjścia ewakuacyjne
– wszędzie jesteśmy my potrzebni którzy rozwiązujemy problemy przy pomocy komputera

#pokazac
#historie_uczniow
– znam osobę która nie przeszła II etapu OIG by w kolejnym roku ją wygrać a teraz pracuje naukowo / R&D
– osoba która była w finałach olimpiad, nigdy nie była w top, a teraz pracuje w R&D firm, odkrywa algorytm, pomaga, przyspiesza procesy
– znam osobę która nigdy nie była w finale a jest doktorantem i rozwiązuje problemy na uczelni
– jesteśmy w podróży
– najważniejsze to to by się nią cieszyć
– jeśli jesteście na wycieczce rowerowej to czym się cieszycie?
– oczywiście chcemy dojechać do celu – rzeka, ciekawe miejsce
– ale samo pedałowanie, samo rozglądanie się, to że jesteśmy razem to jest super!
– rozwiązując się zadania, przygotowując się do tej czy kolejnych olimpiad  cieszymy się każdym zadaniem, każdym metrem naszej wycieczki
– każdym myśleniem, każdym pomysłem, każdą linijką kodu, każdą pokonaną trudnością
– o to w tym wszystkich nam chodzi
– są emocje ważne punkty – ale to dziś i tylko dziś
– później liczy się to co odkryjemy – podejścia, algorytm do których SAMI dojdziemy
– wszystkie godziny doświadczenia
– widać gigantyczną różnicę między tymi którzy mają doświadczenie od szkoły średniej a tymi którzy programują rok
– inna głębokość, my jej nabieramy
https://youtu.be/MiuWOJ74EHw?t=74

#pokazac
Młodzi ludzie chcą konkursów!
Są emocje:
– emocje nas nakręcają – dostałem maila od osoby która chce kolejnego Mistrza Programowania 2023 bo motywuje się wtedy jak są konkursy, grywalizacja
https://youtu.be/MiuWOJ74EHw?t=307

#pokazac
#jak_sie_uczyc
Sens Olimpiady – motywacja!
– jeśli jesteśmy w III etapie to ma nas zmotywować by po kilka godzine myśleć i debugować
– jak nie jesteśmy to też ma nas zmotywować – za rok będzie kolejna olimpiada
– Ci którzy zainwestują teraz / wakacje będą robić zadania z USACO / Olimpiad / Mistrza Programowania / Wrocławskich Sparingów – będa mieli przewagę
https://youtu.be/MiuWOJ74EHw?t=328

#pokazac
#jak_sie_uczyc
Olimpiada to podróż
– będą szczyty, będziemy cieszyć się widokami
– ale w tej podróży będziemy się też męczyć i nawet przewracać
– ważne że jak wstaniemy to wyciągnąć wnioski
– dlaczego się przewróciliśmy?
– może złe buty, może miałem złą strategię, może się za bardzo zestesował
– może więcej codeforce’ów by się odstresować i wiedzieć jak planować
https://youtu.be/MiuWOJ74EHw?t=378

Na OKI wiertarki i młotki które lubi Olimpiada:
– kolejka priorytetowa, mapa
– zapraszam
– rozwiązywanie problemów, programowanie – bardzo lubi
https://youtu.be/MiuWOJ74EHw?t=410

Gratuluję każdemu z nas pasji:
– gratuluję czasu który poświęcacie
– zapewniam że to ma sens
– radości z podróży!
https://youtu.be/MiuWOJ74EHw?t=427

Wyniki mogłyby być inne gdyby był inny czas:
– gdyby olimpiada trwałą nie 4h, 6h albo dzień byłyby inne wynik
– cześć osób wzięłaby herbatę i spokojnie rozwiązał aproblemy
– nie wszyscy umiemy działać pod stresem
– wynik nie świadczy o naszych umiejętnościach
– świadczy że tak wyszło
– znam gościa, 16 lat wymyślał błyskawicznie – zanim ja zdążyłem powiedzieć
– miał problem z kodowaniem
– nie odda każdemu jego umiejętności
– nie możemy się przejmować punktami
https://youtu.be/MiuWOJ74EHw?t=594

#find_and_union_tutorial
Find And Union – wytłumaczenie FIND w kahoot:
https://youtu.be/MiuWOJ74EHw?t=745

#find_and_union_tutorial
Find And Union – wytłumaczenie UNION w kahoot:
https://youtu.be/MiuWOJ74EHw?t=5872

#find_and_union_zadanie
Zadanie Warsztaty – dokładne omówienie:
https://youtu.be/MiuWOJ74EHw?t=1760

Challenge #22:
https://youtu.be/MiuWOJ74EHw?t=5681

OKI #23:
https://youtu.be/MiuWOJ74EHw?t=5734

 

OKI #21 – Olimpiada Zaawansowana –
Miłe spotkanie!
– twarzą w twarz
– Piotr Michalik
https://youtu.be/AH1A0SH3Fg4?t=163

Geometria analityczna:
https://youtu.be/AH1A0SH3Fg4?t=920

Smokogąsienice
– zamiatanie i sortowanie kątowe
https://youtu.be/AH1A0SH3Fg4?t=2330

OKI #21 – Olimpiada POZIOM II – Samochodziki
OKI #22:
https://youtu.be/IjbUjY4VSFc?t=81

OKI #22 – zapowiedź:
https://youtu.be/IjbUjY4VSFc?t=5735

Challenge #21:
https://youtu.be/IjbUjY4VSFc?t=5553

Ilu informatyków by napisać 10 programów?

Ilu informatyków by napisać 10 programów?
https://youtu.be/IjbUjY4VSFc?t=603

Zadanie Samochodziki:
https://youtu.be/IjbUjY4VSFc?t=1154

Projekt planszy – podpowiedź:
https://youtu.be/IjbUjY4VSFc?t=5788

 

OKI #21 – Olimpiada od podstaw – Quizy algorytmiczne!

Challenge #21:
https://youtu.be/XPskvWuWOHI?t=4307

OKI #22:
https://youtu.be/XPskvWuWOHI?t=4398

Strategia na konkursie:
https://youtu.be/XPskvWuWOHI?t=5091

Co jest najważniejsze?
– 70% zadań to pomysł na etapach
– naturalne algorytmy to sumy prefiksowe, binary search, nwd – one też są traktowane jako pomysł
– tak jak umiejętność dodawania
https://youtu.be/XPskvWuWOHI?t=40

Rozwiązuj zadanie a nie dopasuj zadanie do algorytmu:
– wypisuj obserwacje
– prosta obserwacja że najdłuższy wagon na końcu – dawała 60 punktów
– te obserwacje, kropki połączą się w 60 czy 100 punktó
https://youtu.be/XPskvWuWOHI?t=124

Strategia!
– przeczytaj wszystkie
– wybierz najłatwiejsze
– kiedy pisać bruta – po godzinie braku pomysłów pisze bruta
– czytamy dokładnie treść zadania
– nie idzie coś zmienić, toaleta, coś zmienić
– przykład ze studiów
– nie trzymać się kurczowo jednego zadania
https://youtu.be/XPskvWuWOHI?t=198

Jak się nie stresować?
– pomyśl co będziesz robić na egzaminie
– debugować, kiedy brut kiedy wzorcówka
– już będziesz wiedzieć co robić gdy będziesz na egzaminie
– już tam byłeś, już stres mniejszy
– oddechy przed wejściem
– wcześniej przejdziemy po zrobionych zadaniach to na suspokoij
– koncentracja, tylko o zadaniach
https://youtu.be/XPskvWuWOHI?t=343

Dzień przed konkursem:
– długi spacer
– pomyśl że zaczniesz od wszystkich zadań, jak będziesz się zachowywać na konkursie
– skupiamy się na zadaniach
– odstresujesz się
– nic nowego się uczymy
– ale przestawiamy na konkurs
– mózg jest jednotorowy
https://youtu.be/XPskvWuWOHI?t=5116

Kładziemy się jak najwcześniej spać
– jeśli nie będziemy wyspani nie damy sobie szansy na punkty
– przejrzymy to co robiliśmy były na wierzchołku
– strategia remisująca szachisty
https://youtu.be/XPskvWuWOHI?t=5269

Piszmy obserwacje, łączymy kropki
https://youtu.be/XPskvWuWOHI?t=5405 

Jak poradzić sobie ze stresem?
– nie rozglądamy się po sali
– myślimy tylko o zadaniach
– chcemy zrobić najlepiej jak najlepiej zadania
– reszta nie należy do nas
– dodatkowo ułóż strategię
https://youtu.be/XPskvWuWOHI?t=5509

O czym myśleć na konkursie:
– tylko o zadaniach
– nie myślimy o cioci, …
https://youtu.be/XPskvWuWOHI?t=5617

Kiedy przestać myśleć nad wzorcówką i pisać bruta:
https://youtu.be/XPskvWuWOHI?t=5632 

Początek – przeczytać wszystkie zadania
– Idziemy od najłątwiejszego
– Na wszystko zwracam uwagę
https://youtu.be/XPskvWuWOHI?t=5716

Czytają treść zadania – na co zwrócić uwagę?
– long longi – zamiast 100 było 60 bo int-y
– nie przeszła do finału
– podzadania – przykład Wioski Logiki – strasznie dużo mówią
– jeszcze raz czytamy treść zadania jak nie wiemy
https://youtu.be/XPskvWuWOHI?t=5837

Wymyśliłeś? Od razu kodujesz!
– inaczej może zabraknąć czasu
– bierzesz tego punkty które wymyśliłeś
– na kartce piszę plan kodu
https://youtu.be/XPskvWuWOHI?t=6025

To, że program przechodzi testy z zadania o niczym nie świadczy
– testujemy na przypadkach granicznych
https://youtu.be/XPskvWuWOHI?t=6219

Zakres testów mówi nam spodziewaną złożoność:
https://youtu.be/XPskvWuWOHI?t=6306

Co jeśli nie mam pomysłu
– robię coś innego
– idę do toalety, zmień zadanie
– za drugim razem będą inne pomysły
– walczymy do końca
https://youtu.be/XPskvWuWOHI?t=6418

Walczymy do końca
– jedna z osób wygrała OI-a wrzucając 10 sekund przed końcem
– testujemy do końca
– nie wychodzimy
– niepocieszeni będziemy nigdy jeśli wyjdziemy a mieliśmy prosty błąd
https://youtu.be/XPskvWuWOHI?t=6530

Życzenia:
– koncentracji
– dać z siebie wszystko
– być kreatywnym, myśleć
https://youtu.be/XPskvWuWOHI?t=6720

Życzenia:
– koncentracji
– walki do końca
– wykorzystania całej mocy
– wtedy będzie dobru II etap
– powodzenia
https://youtu.be/XPskvWuWOHI?t=6913

OKI #21 Programowanie – Quizy

Z czym największy problem na Olimpiadzie?
– boli gdy wymyślimy a nie zakodujemy
– wymyśliliśmy na 100 a kod na 40
– dlaczego nie jesteśmy w stanie napisać programu bugi
– jest stres – podstawowy problem, presja
https://youtu.be/Xnyt6OQa7Ks?t=55

Presja – stres – podstawowy problem:
– jak zdjąć presję we wtorek
https://youtu.be/Xnyt6OQa7Ks?t=104

Jak presja jest za duża
– zbugować można dużo, popełniamy więcej błędów
– przygotowanie daje pewność i zdejmuje stres
https://youtu.be/Xnyt6OQa7Ks?t=137

Co nam sprawia trudność?
– nasze komentarze:
– wklejamy a nie piszemy samemu
https://youtu.be/Xnyt6OQa7Ks?t=189

Dlaczego są bugi?
– bo nie dezynfekujemy komputera
– Pomocny Dzik
https://youtu.be/Xnyt6OQa7Ks?t=485

Plan programu? TAAAAAAAAAAK!
– plan programu na sumę cyfr
https://youtu.be/Xnyt6OQa7Ks?t=3639

Jak debugować?
– wypisywanie wyników
– przykład z suma cyfr
https://youtu.be/Xnyt6OQa7Ks?t=4418

Challenge #21:
https://youtu.be/Xnyt6OQa7Ks?t=3407

OKI #22:
https://youtu.be/Xnyt6OQa7Ks?t=3510

OKI #20 Poziom II – Liczy się pomysł – Nawiasowania – II etap OIJ

Zapowiedź OKI #21:
https://youtu.be/KAPyJ-hrGSE?t=88

Challenge #20:
https://youtu.be/KAPyJ-hrGSE?t=4453

Czym jest poprawne nawiasowanie?
https://youtu.be/KAPyJ-hrGSE?t=492

Zadanie Nawiasowania – XVI OIJ, drugi etap
https://youtu.be/KAPyJ-hrGSE?t=1274

Jak wpaść na pomysł?
Proces myślowy:
– Nawiasowanie jest bardzo fajne
– Podoba się Tomkowi
– Wypisujmy wyniki dla konkretnych n
https://youtu.be/KAPyJ-hrGSE?t=1630

Czemu takie łatwe?
– zadanie to czysty pomysł!
– może trochę zachłanny
https://youtu.be/KAPyJ-hrGSE?t=2468

OKI #20- Dragon Quest – B. Kana and Dragon Quest game – Codeforces – Algorytm zachłanny

Dragon Quest – polska wersja
B. Kana and Dragon Quest game – angielska wersja
Omówienie zadania
https://youtu.be/D3sWGiTyHNY?t=1781

#pokazac
#uczestnicy-maja-glos
Jestem dumny z…
Z czego jesteśmy dumni?
https://youtu.be/D3sWGiTyHNY?t=5049

OKI #21 zapowiedź:
Same quizy!
Wyzwolić kreatywność!
https://youtu.be/D3sWGiTyHNY?t=84

Challenge #20:
https://youtu.be/D3sWGiTyHNY?t=5296

OKI #19 – Olimpiada OD PODSTAW – Find And Union – omówienie, przykładowe zadanie

#pokazac
#find_and_union
Komu ten sam post?
Jak rozwiązywać problemy przy pomocy komputera?
– połączenia -> między osobami które się lubią, miastami z drogami, wyspy z mostami czy pixslami które są podobne, osoby lubiące te sam posty na facebooku
– możemy łączyć dowolne elementy
– chcemy wiedzieć czy dwa elementy sa połączone – czy się lubią, czy pokazać ten sam post, czy należą do tej klasy, czy jest droga między miastami, ile jest piksli o podobnym kolorze, segmentów o podobnym kolorze
– Find And Union pozwala powiedzieć czy 2 elementy są połączone, czy należą do tej samej grupy, mają tą samą właściwość
– praktycznie w czasie stałym, natychmiast
– Możemy łączyć – na przykład w unie galaktyk łączą się w większe unie
– Zrobimy to natychmiast
– Fantastyczne pomysł, podejście – FAU
https://youtu.be/4YssreJkR6A?t=23

#find_and_union
Dlaczego Find And Union jest fantastyczny?
– jest szybki
– jeden z najszybszych algorytmów
– niesamowicie prosty
– nie da się go zbugować
– jeśli zrozumiemy to jeśli obudzę Was o 2 rano w nocy
https://youtu.be/4YssreJkR6A?t=234

#pokazac
#find_and_union
#wnikanie
Co jeśli obudzę o 2 rano?
Co zrobisz o 2 rano?
Jak ważne jest zrozumienie!
Jak odkrywa się algorytmy
– jeśli zrozumiemy FAU to o 2 rano jeśli Was obudzę i powiem Find And Union
– natychmiast napiszecie mi 2 funkcje które tworzą FAU!
– to są dwie funkcje
– dziś zobaczymy jak takie algorytmy się odkrywa, jak do nich się dochodzi
– bo do tego algorytmu byśmy sami spokojnie doszli gdybyśmy mieli postawiony taki problem
– sami myśleli
https://youtu.be/4YssreJkR6A?t=253

#mistrz_programowania
Dlaczego warto robić Mistrza Programowania?
– zachęcam do zadań
– mają rozwinąć myślenie algorytmiczne, wpadanie na pomysł, rozwiązywanie problemów przy pomocy komputera
– przyda się w Olimpiadzie, w przyszłości przy realnych zastosowaniach
https://youtu.be/4YssreJkR6A?t=379

#pokazac
#find_and_union
Jak wykorzystamy naszą wiedzę w życiu?
Gdzie wykorzystuje się Find And Union?
– programy graficzne
– regiony w których są podobne piksle o tej samej jasności, kolorze
– otrzymujemy obszary, możemy je łączyć
– możemy modelować
– nie tylko olimpiada ale też przyszłość
– dużo osób w R&D mówi, że tak potrzebowała Find And Union
– warto robić zadania
https://youtu.be/4YssreJkR6A?t=399

#mistrz_programowania
Warto robić Mistrza Programowania!
– cel myślenie, rozwiązywanie problemó
– biegłość programistyczna
– i zadania programistyczne i zadania związane z rozwiązaniem problemów przy pomocy komputera
– zadania dostępne także później
https://youtu.be/4YssreJkR6A?t=450

#mistrz_programowania
Gala Finałowa
Zapraszam na Galę Finałową Mistrza Programowania
– ogłoszenie zwyciezców
https://youtu.be/4YssreJkR6A?t=479 

#mistrz_programowania
Ankieta Mistrza Programowania 2023:
– dołączenie do układania zadań
– adres na który wysyłać zadania
https://youtu.be/4YssreJkR6A?t=512

OKI #20:
https://youtu.be/4YssreJkR6A?t=639

Challenge #19:
https://youtu.be/4YssreJkR6A?t=6559

 

OKI #19 – Programowanie OD PODSTAW – set

Dlaczego tablice są niewygodne?
– nie możemy dodawać w środku
– jest nieuporządkowana
– próba uporządkowania – od razu komputer zwalnia!
https://youtu.be/JcyOLsAoL3w?t=14

#set-dlaczego
Czym jest set?
Czy jest coś lepszego od tablicy?
– jasne!
– pomyślmy – po co nam indeksy?
– mamy kolory – chcemy wiedzieć czy jest kolor – przejść do koloru obok
– nigdzie tu nie ma indeksów
– poznamy coś fenomenalnego
– jedną z najwspanialszych konstrukcji w programowaniu
– coś co nazywa się set w C++
– pozwoli nam znaleźć błyskawicznie dowolny element
– umieścić w sposób uporządkowany
– bardzo szybko
– o tym porozmawiamy – o czymś nowym, o czymś fantastycznym
– set czyli zbiór – kolorów, stopni harcerskich, możliwości
– chciałbym coś wybrać, stwierdzić czy mam nie mam,
– wykorzystywane w profesjonalnym programowaniu
– jeśli będziemy chcieli w wakacje być w grupie programistycznej
– takie narzędzie jak set – taka wiertka młotek – pomoże  w każdym projekcie
– nie wszyscy znają, będziemy w stanie pomóc dać nową wartość
– konkursu, olimpiady – często stosowane
– potrafi zastąpić skomplikowane struktury jak drzewa przedziałowe
– set też jest drzewami ale już ktoś zaimplementował i możemy z niego skorzystać
– i dziś zobaczymy jak!
https://youtu.be/JcyOLsAoL3w?t=35

#mistrz_programowania
Dokładny opis 5 rundy Mistrza Programowania
Zaczęłą się 5-ta runda Mistrza Programowania 2023:
– Zadanie Ramka – podpis programistyczny – podpis w ramce
https://youtu.be/JcyOLsAoL3w?t=221

#pokazac
#mistrz_programowania
Z życia wzięta
Rozmowy dzieci z Rodzicami
Początek projektu?
Pomysł na projekt!
– Dłuższy dzień – ciemny dzień – kiedy będzie dłuższy?
– Może będzie początkiem pewnego projektu – kodu JavaScript – strona www
– takiego projektu jak Piotr Domański
https://youtu.be/JcyOLsAoL3w?t=280

#pokazac
#mistrz_programowania
Mistrz Programowania 2024 – zadanie, co będzie:
– zawsze problem z klasyfikacją
– wypisać potencjalną klasyfikację
– formularz Mistrza Programowania
https://youtu.be/JcyOLsAoL3w?t=372

#pokazac
#mistrz_programowania
Czy zadania z Mistrza Programowania będzie można rozwiązywać po zakończeniu konkursu?
– TAK!
– będa publiczne
– będzie tutorial – edycja wszystkich zadań
https://youtu.be/JcyOLsAoL3w?t=516

#set
Pełne od podstaw omówienia set – od omówienia ideone:
https://youtu.be/JcyOLsAoL3w?t=597 

#set
O co chodzi w set? Pełne omówienie od początku
– przykłady z rejestracją grup
– zgłoszenia mogą być wielokrotne
– my mamy trzymać informacje o grupach raz
https://youtu.be/JcyOLsAoL3w?t=655

#set
Insert – dodawanie elementów do set:
https://youtu.be/JcyOLsAoL3w?t=928 

#set
Wskaźnik / iterator w set:
https://youtu.be/JcyOLsAoL3w?t=1432

#set
Wypisywanie elementów w set:
https://youtu.be/JcyOLsAoL3w?t=1432

#set
Znajdowanie elementów set – lower_bound, upper_bound:
https://youtu.be/JcyOLsAoL3w?t=4349

#set
Zadanie wypisz liczby 2:
https://youtu.be/JcyOLsAoL3w?t=4979

OKI #18 – olimpiada zaawansowana

Jak wygenerować graf?
https://youtu.be/GJbKyA1vwvo?t=1101

Co mamy na Olimpiadzie?
https://youtu.be/GJbKyA1vwvo?t=1513

Co to jest Lista?
https://youtu.be/GJbKyA1vwvo?t=1820

Zamiatanie:
https://youtu.be/GJbKyA1vwvo?t=1919

Warto testować na II etapie!
– zadania są tak złożone że błąd się wkradnie
– Mikołajowi testowanie dało finał!
https://youtu.be/GJbKyA1vwvo?t=5732

OKI #18 – olimpiada poziom ii

Wielki finał Potyczek Algorytmicznych!
– nieoficjalne mistrzostwa polski w programowaniu
https://youtu.be/UYEatMMvBeI?t=46

OKI #20:
https://youtu.be/UYEatMMvBeI?t=179

Przegląd algorytmów:
https://youtu.be/UYEatMMvBeI?t=473

Komendy Linux-a:
https://youtu.be/UYEatMMvBeI?t=2051

Zasady Olimpiady:
https://youtu.be/UYEatMMvBeI?t=2668

Co jest najważniejsze na II etapie?
Pomysł
https://youtu.be/UYEatMMvBeI?t=3235

Challenge #18:
https://youtu.be/UYEatMMvBeI?t=4442

OKI #18 – olimpiada od podstaw

Nasze pomysły!
Nasze pomysły są najważniejsze
Wspólnie rozwiązujemy problemy:
– Olimpiada, w przyszłości Reserach And Development
https://youtu.be/dM2i_htX6YY?t=8

Kłopot? To dobrze?
https://youtu.be/dM2i_htX6YY?t=51

Co w 4 rundzie Mistrza Programowania?
Runda 4 Mistrz Programowania:
https://youtu.be/dM2i_htX6YY?t=174

Zadanie Waga:
https://youtu.be/dM2i_htX6YY?t=1170

Challenge #18:
https://youtu.be/dM2i_htX6YY?t=5901

OKI #19:
– Gospodarz klasy – pomaga – potrafi przyspieszyć rozwiązanie problemu miliony razy!
– Find And Union
https://youtu.be/dM2i_htX6YY?t=5968

OKI #17 – programowanie od podstaw

Odkrywamy duszę komputera
Odkrywamy bity
Jak zajrzeć do środka komputera?
Jak komputera przechowuje liczby?
– nie dziesiętnie a zera i jedynki
– jak zajrzeć do środka i stwierdzić czy zero czy jeden?
– nie zapsujemy?
https://youtu.be/S_JWtomigr4?t=12

Jak zajrzeć do komputera
Piękno C++
Potrafi zajrzeć do środka komputer
W każdy element sprzętu wniknąć
https://youtu.be/S_JWtomigr4?t=64

Po co nam liczby dwójkowe?
Czy liczby dwójkowe są nam gdzieś potrzebne?
– włączony / włączone być / nie być działa nie dział
– trzymać na liczbach zwykłych
– nie ma miejsca w rakietach kosmicznych / sterownikach do pralkach
– dane z czujników, przegrzane czy nie – możemy sprawdzać
– dziś zobaczymy jak
https://youtu.be/S_JWtomigr4?t=94

Runda 4 Mistrza Programowania:
– pierwsze łatwe – Czas – Potęgi Klucz
–  Kolejne to rebusy
https://youtu.be/S_JWtomigr4?t=252

Mistrz Programowania – dlaczego warto?
Dlaczego warto robić Mistrza Programowania?
– Asystent, Pomidor, Bajtek Nie lubi się powtarzać
– niekoniecznie na 100 punktów
– pierwszy element by poznawać rozkoszować się
– na razie rebusy, krzyżówki
– w życiu takie same rebusy
– droga która prowadzi do rozwiązywania problemów
https://youtu.be/S_JWtomigr4?t=278

Jeden z uczniów na 2 drugim roku studiów dostał ofertę:
– praca wakacje potem pół etatu
– super warunki – ale warto
– nie o to chodzi
– problemy na interview – prostsze niż z Mistrza Programowania
– w przyszłości mieć przygodę
– będzie robił dokładnie to samo co Olimpiadzie
– będzie przyspieszał aplikacje – to co my
– będzie w Research And Development
https://youtu.be/S_JWtomigr4?t=310

Lampki Choinkowe:
https://youtu.be/S_JWtomigr4?t=1583

Challenge #18:
https://youtu.be/S_JWtomigr4?t=5621

OKI #19 zapowiedź:
https://youtu.be/S_JWtomigr4?t=5672

OKI #17 – olimpiada zaawansowana – LCA

Co to jest LCA?
– tylko w drzewach
https://youtu.be/7kmlf98ROZE?t=884

Kod LCA:
https://youtu.be/7kmlf98ROZE?t=2423

Komiwojażer Bajtazar:
https://youtu.be/7kmlf98ROZE?t=3036

Do czego LCA?
https://youtu.be/7kmlf98ROZE?t=3718

Zapowiedź  OKI #18 – Zamiatanie:
https://youtu.be/7kmlf98ROZE?t=4321

Gdzie się używa Jump Pointery?
https://youtu.be/7kmlf98ROZE?t=4501

OKI #17 – olimpiada od podstaw – DFS – Maksymalna średnica drzewa

#dlaczego_olimpiada
Wykorzystaj czas!
– przygotuj się maksymalnie do II etapu
– motywacja do wytrenowania do mózgu
– niech uczy się rozwiązywać problemy
– a przy okazji poznać pomysły, podejścia
– w przyszłości chcemy rozwiązywać te problemy
– nieważne czy w przyszłości będziemy zajmować się grafami czy nie
– najlepsza droga, podpowiedzieć posty, podpowiadać teksty
– poprzez przygotowanie się do II etapu przygotujemy się
– a przy okazji przygotujemy się do II etapu
– możemy się źle czuć, nie nakładajmy na siebie żadnej presji, może być róznie
– jeśli mamy przebiec za miesiąc
https://youtu.be/H8fWSWqe2m4?t=115

#pokazac
#jak_sie_uczyc
Bieg na 10km?
Co jeśli masz bieg na 10 km?
– wyobraźmy sobie, że mamy bieg na 10 km
– musimy jak najlepiej się przygotować
– co będzie na zawodach – to inna sprawa
– my mamy się przygotować
– jest szansa  – w II etapie jest 360 osób
– zwykle 100 jest w finale
– zróbmy wszystko by się przygotować
https://youtu.be/H8fWSWqe2m4?t=234

#jak_sie_uczyc
Jak się przygotować do Olimpiady, do II etapu?
– Olimpiada Informatyczna Juniorów
– USACO Silver / Gold
– Codeforces B C D
– Wrocławskie Sparingi Informatyczne
– OI – zasada cięższych rękawic
https://youtu.be/H8fWSWqe2m4?t=282

#jak_sie_uczyc
Jak robić zadania:
– balans – czas dla siebie, czas na przygotowanie
– 3-4 zadania tygodniowo
– 2h myślenia minimum samemu
– debugujemy do samego końca
https://youtu.be/H8fWSWqe2m4?t=367

#mistrz_programowania
Mistrz Programowania:
– przygotowanie do Olimpiady Informatycznej
– wszystkie zadania w naszym zasięgu
https://youtu.be/H8fWSWqe2m4?t=409

#graf #graf_kod
Grafy – dokładnie wytłumaczenie z implementacja w kahoo-cie
https://youtu.be/H8fWSWqe2m4?t=735

#dfs_zadanie
Zadanie Średnica Drzewa:
https://youtu.be/H8fWSWqe2m4?t=1625

#dfs
Algorytm DFS – dokładne omówienie:
https://youtu.be/H8fWSWqe2m4?t=3654

#dfs_kod
Implementacja DFS:
https://youtu.be/H8fWSWqe2m4?t=5058

#drzewo
Czym jest drzewo :
https://youtu.be/H8fWSWqe2m4?t=5144

#dfs
Złożoność DFS-a
https://youtu.be/H8fWSWqe2m4?t=4920

#dfs
#dfs_kod
Wytłumaczenie DFS-a w quizie Kahoot:
https://youtu.be/H8fWSWqe2m4?t=6605

Zapowiedź OKI #18:
– omówienie dwóch zadań
https://youtu.be/H8fWSWqe2m4?t=610

#challenge #trudnosc
coś sprawia trudność – dobrze – robimy krok do przodu
– challenge pokazuje co umiemy co nie
https://youtu.be/H8fWSWqe2m4?t=674

Challenge #17:
https://youtu.be/H8fWSWqe2m4?t=696

OKI #17 – programowanie od podstaw – operacje bitowe

#C++-dlaczego
Odkrywamy dusze komputera!
– komputer trzyma dane bitowo
– interesuje nas to
– możemy różne rzeczy trzymać bitowo
– lampki choinkowe, krany – działa nie działa 0-1
– zobaczymy jak C++ jest w stanie dostać się do każdego bitu
– komputer to sprzęt a C++ to szua
https://youtu.be/qm1NLg4QOmM?t=10

#historie_uczniow #pokazac
Aplikacja Piotra:
– zachęcam do pomocy / dołączenia
– aplikacja która ma pomóc w matematyce
– Piotr wskazówką, każdy z nas ma w przyszłości brać udział w projektach
– tworzyć samemu aplikację, w grupie
– Piotr zachęca by testować / tworzyć wspólnie
– przed nami wakacje
– dlaczego nie skrzyknąć się jak Piotr, poszukać w necie i tworzyć
– tak jak my uczył się tu na OKI
– nie ma większej radości by odnaleźć swoją pasję
https://youtu.be/qm1NLg4QOmM?t=118

#mistrz_programowania
Runda 3 Mistrza Programowania:
– Slider – zadanie rozgrzewkowe – opis
https://youtu.be/qm1NLg4QOmM?t=254

#pokazac #interview
Co jest na interview do gigantów?
4 zadania z interview do gigantów komputerowych
– kto to zrobi? Damy radę
– Bez walki – interview facebook – a my spokojnie rozwiązujemy
– Wielka satysfakcja, super wpis do CV
– BANANA – interview Dropbox
– trzeba lekko pomyśleć, niedużo osób potrafi rozwiązać na interview, warto wpisać!
– Nieudany szyfr – interview Dropbox
– Platforma – interview do Microsoft
https://youtu.be/qm1NLg4QOmM?t=298

Po co nam liczby dwójkowe?
– komputer trzyma liczby dwójkowo!
https://youtu.be/qm1NLg4QOmM?t=1196

Operacja logiczna AND:
– dokładne wytłumaczenie
https://youtu.be/qm1NLg4QOmM?t=4887

Dominik – dlaczego w if są 2 znaki || a nie jeden?
– | or
– || lub
https://youtu.be/qm1NLg4QOmM?t=6745 

Challenge #17:
https://youtu.be/qm1NLg4QOmM?t=3280

Zapowiedź OKI #18:
https://youtu.be/qm1NLg4QOmM?t=4780

OKI #17 – olimpiada zaawansowana:

Jakie komendy na II etap Olimpiady?
https://youtu.be/4oIdqxHgS1w?t=764

Sortowanie topologiczne:
https://youtu.be/4oIdqxHgS1w?t=1062

II etap OI-a:
https://youtu.be/4oIdqxHgS1w?t=6167

OKI #17 – olimpiada poziom ii:
Zadanie Podciągi zmienne – finał Potyczek Algorytmicznych!
https://youtu.be/Jsh80jDmcvM?t=62

OKI #18 zapowiedź:
https://youtu.be/Jsh80jDmcvM?t=103

Challenge #16:
https://youtu.be/Jsh80jDmcvM?t=5143

Runda 2 Mistrza Programowania:
https://youtu.be/Jsh80jDmcvM?t=160

Ile podciągów ma słowo OKI?
– kahoot
Czym jest podciąg?
– wykreślanie
https://youtu.be/Jsh80jDmcvM?t=455

Podciągi zmienne – zadanie z finału Potyczek Algorytmicznych:
https://youtu.be/Jsh80jDmcvM?t=1116

Co jeśli damy 500 000?
– ile czasu zajmie 2^500 000
– 10^18 operacji na sekundę
– mamy komputer który wykonuje 2^100 operacji na sekund
https://youtu.be/Jsh80jDmcvM?t=1921

10 do potęgi 150 tysięcy lat vs Wszechświat!
Wszechświat w sekundę!
– potęga rośnie bardzo szybko
– wszechświat to jest 10^10
– zrobimy w mniej niż sekundę
https://youtu.be/Jsh80jDmcvM?t=2048

OKI #17 – olimpiada od podstaw:
Tworzymy wspólnie graf od zera

Wszystko jest grafem!
Wszystko można przedstawić jako graf!
Gdzie wykorzystuje się grafy?
– a wówczas również szybciej rozwiązać
– dużo możliwości
– zaczynamy fascynująca przygodę z grafami
–  nasze opinie – uczestników
– drogi / Szymon / google maps – szuka w grafie najkrótszą drogę
– zależność w matematyce czy gdziekolwiek
– osoby które się lubią
– korzystają z tego sieci społecznościowe
– algorytm stara się podpowiadać podobne posty
– w podejmowaniu decyzji – statek kosmiczny, plan lekcji, dom
– graf zależności
– elektryk nie może wejść zanim nie ma ścian
– są w konkursach w Olimpiadzie!
– za tydzień będziemy chodzi
– by chodzić musimy włożyć go do komputera
– to dziś
https://youtu.be/dFKlYmMg6UY?t=46

#pokazac #potrzebni #place
Czy wszyscy znają grafy?
Ależ jesteśmy gigantycznie potrzebni
Dużo ludzi zna te grafy, potrafi się nimi posługiwać
– potrzeba nas – bardzo dużo:
– na rynku potrzeba 150 tysięcy specjalistów
– Ci którzy znają grafy, umieją przyspieszyć działanie komputera – Ci sa najbardziej cenieni
– Niedobór wpływa na płace
– Senior nawet 90 000 tysięcy
– Bardzo brakuje osób
– Początkując 10 000
– Ależ jesteśmy gigantycznie potrzebni
https://youtu.be/dFKlYmMg6UY?t=219

Dziękuję za I etap OIJ!
– Dziękuję wszystkim za czas poświęcony na rozwiazywanie problemów
– W ten przygotowujemy się do pięknej przyszłości
– Dać wartość firmom
– Aplikacje które będą nam coś podpowiadały, dla banków, sieci społecznościowych
– Będą z Was mieli pożytek
– Wy satysfkację
– Do tego prowadzi olimpiada, dziękuję
– Nie ma znaczenia liczba punktów
– Ma znaczenie to czego się nauczyliśmy – to wykorzystamy
https://youtu.be/dFKlYmMg6UY?t=304

Niech drugi etap będzie motywacją!
– jeszcze więcej poznać
– graf który dziś poznamy by samemu zaimplementować
https://youtu.be/dFKlYmMg6UY?t=395

Niech każde zadanie z Mistrza Programowania gdzie mam niepełną liczbę punktów będzie motywacją do ulepszania:
– przygotowanie do rozwiązywania problemów w przyszłości
– zrobić podzadanie, otrzymać 50 punktów i ulepszać
– zobaczycie jak gigantycznie się rozwijacie
– jak jest 40 to znaczy że mogę się rozwinąć
– w życiu też problemy i będziem nasze rozwiązania też będziemy ulepszać
https://youtu.be/dFKlYmMg6UY?t=550

Pełne omówienie grafów, kod wczytania i wypisania grafu:
Grafy
– pełne omówienie, kod wczytania i wypisania grafu:
https://youtu.be/dFKlYmMg6UY?t=1615

Challenge #16:
https://youtu.be/dFKlYmMg6UY?t=5707

Zajęcia #17:
https://youtu.be/dFKlYmMg6UY?t=5768

OKI #17 – programowanie od podstaw:

Bitwa pod Wiedniem, struct
Czego chcą ludzie?
Gdzie wykorzystujemy własne sortowanie?
Własne sortowanie:
– najczęstsza funkcjonalność
– użytkownik w sklepie z ubraniami czy elektroniką chce posortować po różnych rzeczach
– popularność, cena, rekomendacja, od najdroższych czy najtańszych
– każdy chce inaczej
– zmierzamy do własnych aplikacji – przyda się
– chcemy być w grupach które tworzą własne aplikacji – gry, strony internetowe
– damy tą wartość – będziemy w stanie posortować monitory po przekątnej, jasności, wielu kryteriach – damy radę napisać, będzie sortować jakkolwiek
– fantastyczna sprawa – możemy sterować każdym elementem gdy wszystko rozumiemy
– na milionach danych komputer robi to chcemy
https://youtu.be/IlhF2UGjJRU?t=9

Dlaczego powinniśmy stosować własne funkcje?
Własne funkcje:
– pomocnicy, pracownicy
– możemy ich wywoływać wiele razy
– zmieniamy tylko w jednym miejscu
– nazywamy czasem jedną linijkę by było wiadomo o co chodzi
– Czysty kod
https://youtu.be/IlhF2UGjJRU?t=117

Struct pełne wyjaśnienie od początku, kiedy wykorzystujemy
Jakie lubisz piosenki?
struct od początku, dlaczego ma sens
Własny typ danych
– przykład z piosenkami
https://youtu.be/IlhF2UGjJRU?t=905

Funkcje / własne sortowanie
– aplikacja dla rynku muzycznego
– ktoś chce listę po nazwie utworu, po czasie trwania
– inspiracja dla do napisania aplikacji przez nas
https://youtu.be/IlhF2UGjJRU?t=162

Mistrz Programowania – runda 2:
– przygotowujemy się do Olimpiady spokojnie w domu
– nazwy zadań
– strona mistrza
– Usuwanie bugów – żart liczba bugów rośnie o połowę
– Nuda – jest twórcza, na lekcji – wiele rzeczy tworzy się z nudy Fermat, utwory muzyczne
– nuda jest piękna, fantastyczna, pomaga w kreatywności
– Kucharz 2 – opis zadania
– Puzzle – omóienie zadania
– Dąb Bajtek – trudniejsze
https://youtu.be/IlhF2UGjJRU?t=292

Ranking runda 2:
– brak Dębu Bajtek
https://youtu.be/IlhF2UGjJRU?t=475

Do niedzieli zadania z Rundy 1 dostają MAX punktów:
– zawsze bierzemy MAX!
https://youtu.be/IlhF2UGjJRU?t=511

Statystyka zadań na 23 stycznia:
– Kucharz prostszy od platformówki!
https://youtu.be/IlhF2UGjJRU?t=564

Jeśli nie mamy setki ulepszajmy, rysujmy
https://youtu.be/IlhF2UGjJRU?t=608

Zadanie Kucharz zgłosiło mniej osób – ale same setki
– Ci którzy zatrzymali się na platfmormówce – niepotrzebnie
– Kucharz prostszy
https://youtu.be/IlhF2UGjJRU?t=618

Przyspieszyliśmy ponad 15 razy!
– raz liczymy sumę cyfr a nie za każdym razem gdy sortujemy
https://youtu.be/IlhF2UGjJRU?t=6102

Bitwa pod Wiedniem 2 – szybsza wersja:
https://youtu.be/IlhF2UGjJRU?t=4567

Challenge #16:
https://youtu.be/IlhF2UGjJRU?t=3924

OKI #17! Bawimy sie bitami!
https://youtu.be/IlhF2UGjJRU?t=3957

 

Co jest na II etapie?
https://youtu.be/YSnlIbP_02s?t=1178

Dwuspójna składowa:
https://youtu.be/YSnlIbP_02s?t=1782

Drzewo DFS:
https://youtu.be/YSnlIbP_02s?t=2566

Mistrz Programowania:
https://youtu.be/YSnlIbP_02s?t=6905

Jak przetwarzać duże liczby w zadaniach olimpijskich?
https://youtu.be/YSnlIbP_02s?t=7142

 

Mistrzowskie wskazówki
Mistrz Programowania – na co zwrócić uwagę?
https://youtu.be/w6i_hP-0YuU?t=118

Od końca!
– technika Find And Union
https://youtu.be/w6i_hP-0YuU?t=17

Zadanie Farm Updates – USACO:
https://youtu.be/w6i_hP-0YuU?t=1345

OKI #16:
https://youtu.be/w6i_hP-0YuU?t=61

Challenge #15:
https://youtu.be/w6i_hP-0YuU?t=5758

Omówienie zadania Reszta:
https://youtu.be/BlN7axD_Ko0?t=1267

Co w interview do Google’a?
Interview do Google’a!
https://youtu.be/BlN7axD_Ko0?t=126

Język czy rozwiązywanie problemów?
https://youtu.be/BlN7axD_Ko0?t=273

Zapowiedź #16:
https://youtu.be/BlN7axD_Ko0?t=6077

Challenge #15
https://youtu.be/BlN7axD_Ko0?t=6014

 

Zaczęło się!
– najważniejsze robienie samemu zadań
– dlatego ruszył Mistrz Programowania 2023!
https://youtu.be/DZg-nxee2Lk?t=84

Runda 1 Mistrz Programowania – omówienie zadań:
https://youtu.be/DZg-nxee2Lk?t=119

Bitwa pod Wiedniem!
https://youtu.be/DZg-nxee2Lk?t=5242

Własne sortowanie:
https://youtu.be/DZg-nxee2Lk?t=5991

Programowanie #15:
Challenge #15:
https://youtu.be/DZg-nxee2Lk?t=3666

Zapowiedź OKI #16:
https://youtu.be/DZg-nxee2Lk?t=3702

 

Zapowiedź #15:
https://youtu.be/z24Gr5kDa0w?t=69

Challenge #14:
https://youtu.be/z24Gr5kDa0w?t=5252

Najtrudniejsze to najfajniejsze?
Często tak!
https://youtu.be/z24Gr5kDa0w?t=255

Mistrz Programowania 2023:
– wystartował
– zadania dla każdego
– jest omówienie jednego z zadań
– nagrody w regulaminie
https://youtu.be/z24Gr5kDa0w?t=341

Jak przygotowywać się do Olimpiady?
– przerobić OKI
– nauczyć się nowych rzeczy
– ćwiczyć
– robić zadania
https://youtu.be/z24Gr5kDa0w?t=1361

Zadanie Closing the farm:
https://youtu.be/z24Gr5kDa0w?t=1426

Czy Python przechodzi w USACO?
– ideal nie zależy od języka?
– algorytmika to nie jest coś ro bimy w python, java, c++
– jak matematyka – nie ma języka – w głowie, na kartce
– algorytmika nie potrzebuje kodu, kodujemy tylko by sprawdzić
https://youtu.be/z24Gr5kDa0w?t=4891

Dziękuję!
– POKAZAĆ
– Fantastyczny widok
https://youtu.be/JZZXtscpcGI?t=47

O co chodziło?
– nie o punkty a o myślenie
– POKAZAĆ
https://youtu.be/JZZXtscpcGI?t=233

Mistrz Programowania 2023 zaczyna się!
– ma za zadanie przełamać barierę programistyczną
– wprawić się w pętle, sortowanie, własne sortowanie, pary – potrzebne w zawodowym programowaniu
– posmakować rozwiązywania problemów przy pomocy komputera
– sumy prefiksowe, binary searche, sita, euklides,
– bez stresu w spokoju, w zaciszu domowym
– jak będzie na konkursie, olimpiadzie – będzie wiedział jak rozwiązać zadania
– bo myślał nad nim
– nic mnie tu nie zaskoczy
– ma nad wprawę
– potem będą zadania w 5s i w 5h
– komitet główny w składzie z Maćkiem zadba
– ma nam się przydać na olimpiadzie ale w przyszłości także w firmach
– w polskich firmach, na interview, rozwiązywanie problemów jest bardzo ważne
– bardziej jest zwracane uwagę na rozwiązywanie problemów niż na programowanie
– algorytmika jest coraz ważniejsza
https://youtu.be/JZZXtscpcGI?t=275

Strony Mistrza Programowania:
– strona główna / rejestracja / video / zadania
– zadania z rund próbnej
– Głosowanie – Maciek autorem
https://youtu.be/JZZXtscpcGI?t=430

Zachęcam do układania zadań:
https://youtu.be/JZZXtscpcGI?t=538

Podzadania – czym są – na przykładzie Wioska Logiki:
https://youtu.be/JZZXtscpcGI?t=794

 

Na czym polega programowanie dynamiczne?
Dla wszystkich czy dla jednego?
– dla wszystkich poprzednich
– bazujemy na poprzednich
https://youtu.be/JZZXtscpcGI?t=4456

Zapowiedź OKI #15:
https://youtu.be/JZZXtscpcGI?t=5466

Challenge #14:
https://youtu.be/JZZXtscpcGI?t=5506

Choinka? To droga!
– pokaż projekty które zrobiłeś
– krok do przodu
– gigantyczny atut
https://youtu.be/ryI-vznV3DI?t=184

Mistrz Programowania 2023:
– biegłość programistyczna
– wprowadzić w rozwiązywanie problemów przy pomocy komputera
– ćwiczenia pętli, if
– zaawansowane programowanie – własne sortowanie
– będziemy mogli wejść w większe projekty
– zadania algorytmiczne – pomyśleć
– pułapki algorytmiczne
– strony konkursu
https://youtu.be/ryI-vznV3DI?t=425

Kto jest organizatorem konkursu?
– wymienione osoby
– zadania fajne i rozwijające
– dużo funu, odkrywania
https://youtu.be/ryI-vznV3DI?t=684

Mistrz Programowania ma spowodować, że bariera programistyczna zniknie:
– poznamy specyfikę szkopuła
– jak jest przykład z 5-cioma liczbami to wycztują 5 a nie n – dowolną liczbę
– albo piszą tekst “podaj n” – co jest złe – bo to czyta szkopuł
https://youtu.be/ryI-vznV3DI?t=783

Do Mistrza Programowania można się zgłosić przez 6 cały czas trwania konkursu:
– problem z podziałem punktów zaznaczony
https://youtu.be/ryI-vznV3DI?t=861

Masz pomysł na zadanie – zgłoś się!
https://youtu.be/ryI-vznV3DI?t=914

Wady tablic – wstęp do vector:
https://youtu.be/ryI-vznV3DI?t=1178

vector – początek omówienia:
https://youtu.be/ryI-vznV3DI?t=1694

vector – resize:
https://youtu.be/ryI-vznV3DI?t=2995

vector – sortowanie:
https://youtu.be/ryI-vznV3DI?t=5164

Challenge #14:
https://youtu.be/ryI-vznV3DI?t=5906

Zapowiedź OKI #15:
https://youtu.be/ryI-vznV3DI?t=6036

Lemat o Świętach:
– są bez śmiechu – nieważne co myślimy
https://youtu.be/DRxFX46_YCM?t=237

Święta i atak
Idealny czas by zwolnić i odpocząć!
https://youtu.be/DRxFX46_YCM?t=357

Co jeśli chcemy OI-a zrobić?
– trochę pocisnąć
– tak zrobił Mikołaj
– najpierw Rodzina
– kolacja i porozmawiać na spokojnie
https://youtu.be/DRxFX46_YCM?t=376

Pierwszy OI Mikołaja
https://youtu.be/DRxFX46_YCM?t=929

 

OKI #14 – Find And Union
https://youtu.be/KmVbiKRG_Fk?t=85

Co dostaje Mikołaj?
Co robi Mikołaj?
Zadanie które posłuży do testów.
https://youtu.be/KmVbiKRG_Fk?t=473

Linux czy Windows?
– Tomek woli Linux – poleca
– testowanie na obu!
https://youtu.be/KmVbiKRG_Fk?t=891

Czym jest testowanie?
– program to wejście / wyjście
– możemy testować ręcznie na 2 testach
https://youtu.be/KmVbiKRG_Fk?t=935

Czy testy przykładowe gwarantują że program jest dobry?
https://youtu.be/KmVbiKRG_Fk?t=1029

Warto testować
– nawet ręcznie jeśli nie potrafimy automatycznie
– dla brzegowych, małych, posortowanych nieposortowanych
https://youtu.be/KmVbiKRG_Fk?t=1076

Testowanie automatyczne:
– jak przetestować nasze rozwiązanie na wielu testach
https://youtu.be/KmVbiKRG_Fk?t=1099

Co jest potrzebne do testowania?
– wiedza czy nasz wynik jest dobry czy zły
– ręcznie sami oceniamy
– dla miliona testów musimy mieć inny program który na pewno jest dobry bo nie damy rady sami
– być może wolniejszy
– też chcemy mu dać te wejścia i zobaczyć jego odpowiedzi
– to brut!
https://youtu.be/KmVbiKRG_Fk?t=1128

Co to jest brut?
Czy brut jest przydatny?
– Rozwiązanie poprawne ale niekoniecznie najszybsze to brut!
– warto je pisać
– sam brut zwykle daje jakieś 15 punktów
– ale jeszcze możemy go użyć by sprawdzić czy nasz program jest dobry?
https://youtu.be/KmVbiKRG_Fk?t=1222

Generator testów
– ostatni element
– nie damy rady ręcznie generować
– potrzebny generatorkę
https://youtu.be/KmVbiKRG_Fk?t=1258

Na czym polega testowanie – podsumowanie?
– pętla która idzie po testach
– uruchamiamy program na brucie i wzorcówce
– jeśli wyniki różne to przerywamy
https://youtu.be/KmVbiKRG_Fk?t=1317

Zaczynamy tworzyć testy
Treść zadania:
– SUMA LICZB OD 1 DO N
– wzorcówka w C++ – wzór Eulera
– mały błąd
– piszemy brut – po kolei dodajemy
– testy przekładowe przeszło
https://youtu.be/KmVbiKRG_Fk?t=1729

Generujemy testy:
https://youtu.be/KmVbiKRG_Fk?t=2095

Challenge #13:
https://youtu.be/KmVbiKRG_Fk?t=5995

Gość specjalny! – profesor Marek Cygan:
https://youtu.be/mKismyMKUVw?t=124
Droga po Olimpiadzie?
https://youtu.be/mKismyMKUVw?t=195
Programowanie robotów:
https://youtu.be/mKismyMKUVw?t=402
Gdzie studiować Sztuczną Inteligencję?
https://youtu.be/mKismyMKUVw?t=1306
Czy Olimpiada ma wpływ na to co później robimy?
https://youtu.be/mKismyMKUVw?t=1434
Co jeśli nie wychodzi?
https://youtu.be/mKismyMKUVw?t=1737

Challenge #13:
https://youtu.be/mKismyMKUVw?t=3473

OKI #14 zapowiedź:
https://youtu.be/mKismyMKUVw?t=3536

 

Przed nami Święta
Ubieramy choinkę:
https://youtu.be/WrtYgCXxpPY?t=11

Omówienie programistycznej pocztówki Białe Święta:
https://youtu.be/WrtYgCXxpPY?t=706

Tworzymy plik index.htm:
https://youtu.be/WrtYgCXxpPY?t=841

Pokazać
Choinka to radość!
https://youtu.be/WrtYgCXxpPY?t=3101

Pokazać
Święta i śnieg!
Święta to śnieg!
https://youtu.be/WrtYgCXxpPY?t=4912

Podsumowanie kodu:
https://youtu.be/WrtYgCXxpPY?t=6311

Challenge #13:
https://youtu.be/WrtYgCXxpPY?t=7117

OKI #14 zapowiedź:
https://youtu.be/WrtYgCXxpPY?t=7183

 

LINKI_OLIMPIADA_POZIOM_II:
Będziemy testować!
https://youtu.be/uVA_-LddVN8?t=75
Pond:
https://youtu.be/uVA_-LddVN8?t=1063
Python i bash!
https://youtu.be/uVA_-LddVN8?t=3825
Challenge #12:
https://youtu.be/uVA_-LddVN8?t=3882

LINKI_OLIMPIADA_ZAAWANSOWANA:
DSU czy FAU?
https://youtu.be/_cvplcXTUdE?t=702
Struktura zbiorów rozłącznych:
https://youtu.be/_cvplcXTUdE?t=1162
Co poza zadaniami?
https://youtu.be/_cvplcXTUdE?t=4466
Czy cykl Hamiltona jest na Olimpiadzie?
https://youtu.be/_cvplcXTUdE?t=4534
Co za tydzień?
https://youtu.be/_cvplcXTUdE?t=4646

Olimpiada Informatyczna OD PODSTAW #12 – 2022.12.13
Zadanie Liczby półpierwsze – Sito Eratostenesa w akcji
Link do zajęć: https://youtu.be/V7ZB_9X28j0?t=16
Czy Olimpiada przyda się w życiu?
https://youtu.be/V7ZB_9X28j0?t=16
Omówienie zadania Liczby półpierwsze:
https://youtu.be/V7ZB_9X28j0?t=1436
Programowanie OD PODSTAW #11 – 2022.12.13
Zadanie z USACO – Tablica stringów
Link do zajęć: https://youtu.be/_u4h5UbzKCw?t=39

Dlaczego USACO?
https://youtu.be/_u4h5UbzKCw?t=39

Omówienie zadania Herdle – USACO:
https://youtu.be/_u4h5UbzKCw?t=1796

Tablica stringów:
https://youtu.be/_u4h5UbzKCw?t=3777

Tablica stringów – quiz kahoot:
https://youtu.be/_u4h5UbzKCw?t=6808

Challenge #12:
https://youtu.be/_u4h5UbzKCw?t=6510

Zapowiedź OKI #13:
https://youtu.be/_u4h5UbzKCw?t=6564

Olimpiada ZAAWANSOWANA #11 – 2022.12.08
Drzewa przedział-przedział
Link do zajęć:

Zwykłe drzewo przedziałowe:
https://youtu.be/3BNBmgCtOHw?t=1359

Drzewa przedział – przedział:
– zmieniamy przedział i pytamy o przedział
https://youtu.be/3BNBmgCtOHw?t=1480

Kod drzewa przedziałowego:
https://youtu.be/3BNBmgCtOHw?t=3476

Zapowiedź OKI #12:
https://youtu.be/3BNBmgCtOHw?t=5741

Olimpiada Informatyczna POZIOM II – zajęcia #11 – 2022.12.07
Sumy prefiksowe 2D
Link do zajęć: https://youtu.be/JQo4dmjlkg8?t=19

OKI #12
https://youtu.be/XBQLpximpIk?t=51

Ile to jest A+B?
Startują potyczki algorytmiczne
– poniedziałek – niedziela
– sp, szkoła średnia
– pracuje w google, youtube
– Tomek będzie brał udział
https://youtu.be/XBQLpximpIk?t=75

Omówienie zadania Szybki Zysk:
https://youtu.be/XBQLpximpIk?t=619

Inna rzeczywistość i wiele wymiarów
W zadaniu informatycznym wszystko ma sens!
– inna rzeczywistość
– mniej pieniędzy, więcej pieniędzy
– wskoczymy na więcej niż 2 wymiary
https://youtu.be/XBQLpximpIk?t=908

W kasynie nie lubią matematyków:
– wyrzucają
https://youtu.be/XBQLpximpIk?t=961

Dlaczego nie możemy liczyć iloczynów?
– może być ogromny 10^9milionów
https://youtu.be/XBQLpximpIk?t=1100

Nas obchodzi tylko znak a nie wartość
– jeśli jest 0 w prostokącie to iloczyn jest 0
– nieparzysta liczba -1 to ujemne – tracimy
– musimy umieć zliczać ile jest zer i minus jedynek
https://youtu.be/XBQLpximpIk?t=1154

Jak zliczać ile jest zer w prostokącie?
– jedynka to zero – suma prefiksowa 2D większa od zera – jest zero
https://youtu.be/XBQLpximpIk?t=1359

Jak zliczać ile jest minus jedynek w prostokącie?
– minus jedynka to 1 – suma prefiksowa 2D nieparzysta – ujemne
https://youtu.be/XBQLpximpIk?t=1418

Dziś zobaczymy jak liczyć sumy na prostokącie:
– zwykłe na przedziale jednowymiarowym
– jak to jest na 2 czy więcej wymiarów
https://youtu.be/XBQLpximpIk?t=1475

Sumy prefiksowe jednowymiarowe:
https://youtu.be/XBQLpximpIk?t=1509

Sumy prefiksowe dwuwymiarowe i trójwymiarowe:
– co trzymamy w jednej komórce
https://youtu.be/XBQLpximpIk?t=1627

Czy Tomek narysuje 4-wymiary?
https://youtu.be/XBQLpximpIk?t=1841

Liczymy sumy prefiksowe 2D:
– dokładne wytłumaczenie
https://youtu.be/XBQLpximpIk?t=1906

Liczymy sumę na prostokącie na podstawie sum prefiksowych 2D:
– dokładne wytłumaczenie
https://youtu.be/XBQLpximpIk?t=2750

Podsumowanie liczenia sum na prostokącie  2D:
https://youtu.be/XBQLpximpIk?t=3317

Rozwiązanie zadania – wykorzystujemy sumy prefiksowe
– funkcja która liczy sumy prefiksowe – liczymy je 2 razy
https://youtu.be/XBQLpximpIk?t=3368

Kod funkcji która liczy sumy prefiksowe:
https://youtu.be/XBQLpximpIk?t=3608

Kod funkcji która liczy sumę prostokąta:
https://youtu.be/XBQLpximpIk?t=3798

Omówienie całego kodu:
https://youtu.be/XBQLpximpIk?t=4085

Złożoność naszego rozwiązania:
https://youtu.be/XBQLpximpIk?t=4347

Sumy prefiksowe 2D to kolejny krok zasady włączeń i wyłączeń:
– pierwszy krok to sumy jednowymiarowe
– sumy 3-4 wymiarowe to kolejne
https://youtu.be/XBQLpximpIk?t=4407

Challenge #11:
https://youtu.be/XBQLpximpIk?t=4522

Kilka tysięcy zadań?
Ile zadań z OI-a zrobił Tomek i jak się przygotowywał?
– kilka tysięcy?
https://youtu.be/XBQLpximpIk?t=4845

 

Olimpiada Informatyczna OD PODSTAW #11 – 2022.12.06
Sito Eratostenesa
Link do zajęć: https://youtu.be/WxDmiMwPiRc?t=15
O co chodzi z tym bezpieczeństwem?
– płacimy telefonem, kartą – dane transakcji karty są przesyłane do banku
– muszą być zaszyfrowane
– dyplomacja – wiadomości zaszyfrowane
– USA przystąpiły do wojny – odszyfrowały niemiecką wiadomość
– komunikatory – komunikacja szyfrowana
– przeglądarka – kłódka – domyślnie szyfruje wiadomości
https://youtu.be/WxDmiMwPiRc?t=15
Od czego zależy los świata?
Co to znaczy że wiadomość jest zaszyfrowana?
– w jaki sposób?
– w środku jest matematyka
– bank podaje każdemu jak zaszyfrować
– ale tylko bank może odszyfrować
– to możliwe jest tylko dzięki liczbom pierwszym
– załóżmy że jako bank chcemy mieć info o ze sklepu dotyczącą transakcji
– sklep zaszyfruje, ale tylko bank może odszyfrować
– sklep skorzysta z publicznego klucza
– to iloczyn dwóch dużych liczb pierwszych
– żeby odszyfrować tą wiadomość trzeba znać te dwie liczby pierwsze
– bank podaje iloczyn 2 liczb pierwszych – na przykład 15 (iloczyn 3 i 5)
– szyfrowanie jest 15
– żeby odszyfrować trzeba wiedzieć że 15 to 3 * 5
– i tylko my to wiemy
– ale przecież każdy wie, że 15 to 3*5
– ale jak mamy 2 gigantyczne liczby pierwsze i podamy ich iloczyn
– uuuuuuuuuuuuu trudno znaleźć te 2 liczby pierwsze które tworzą iloczyn
– na czym opiera się bezpieczeństwo?
– trudno jest rozłożyć duże liczby na czynniki pierwsze
– do tego sprowadza się bezpieczeństwo
– bezpieczeństwo płatności, dyplomacji
– los świata wisi na bezpieczeństwie
https://youtu.be/WxDmiMwPiRc?t=88
Mundial
– mecz Australia – Dania 1:0
– trener duński na kartce informacje dla graczy jak mają mieć taktykę
– australijczycy przechwycili kartkę, wiedzieli jaka jest taktyka
– ten wynik dowieźli do końca
https://youtu.be/WxDmiMwPiRc?t=244
Wszystko opiera się na bezpieczeństwie, poufności, matematyce!
– nawet na liczbach pierwszych
– te liczby pierwsze będziemy dziś poznawać i omawiać je
– pierwszy sposób znajdowania liczb pierwszych – Sito Eratostenesa
– wspólnie napiszemySito Eratostenesa
Jak znaleźć wszystkie liczby pierwsze od 1 do 1000:
https://youtu.be/WxDmiMwPiRc?t=1928Wykreślamy od kwadratu liczby pierwszej:
https://youtu.be/WxDmiMwPiRc?t=2462
Potyczki algorytmiczne – weź udział!
– do 12 grudnia
– nieoficjalne Mistrzostwa Polski w algorytmice / programowaniu
– startują i dorośli i młodzież
– każdy punkt jest wielkim sukcesem
– miejsce to powód do dumy
https://youtu.be/WxDmiMwPiRc?t=5774Challenge #11:
https://youtu.be/WxDmiMwPiRc?t=5665OKI #12 – Sito Eratostenesa w akcji:
https://youtu.be/WxDmiMwPiRc?t=5730
Programowanie OD PODSTAW #11 – 2022.12.06
Teksty
Link do zajęć: https://youtu.be/uAv2AzDzLOc?t=9

Napisy są wszędzie!
– banery na autostradzie
– analiza Pana Tadeusza
– książka kucharska
– SMSy – czyste napisy
https://youtu.be/pxCpFlXX9sA?t=22

Komputer musi jako
– nie zna angielskiego, polskiego, chińskiego
– a jednak pokazuje nam odpowiednie litery
– jak to się dzieje że komputer przechowuje litery a pamięci trzyma liczby
https://youtu.be/pxCpFlXX9sA?t=70

USACO!
– 16 – 19 grudnia
– zrobimy zadanie z USACO przed Olimpiadą
– wielki fun, radość, duma z każdego zadania
– motywacja
– konkret by pokazać w przyszłości, dołączyć do zespołu, collage
https://youtu.be/pxCpFlXX9sA?t=119

Omówienie tekstów – od początku, omówienia ideone:
https://youtu.be/pxCpFlXX9sA?t=286

Początek omówienie napisów w C++:
– przykład aplikacji bankowej
– identyfikator klienta jako tekst – wypisywanie tekstu
https://youtu.be/pxCpFlXX9sA?t=359

Początek omówienia string / napisów sensu stricte:
– typ string – może przechować cały napis
– porównanie do typu int, char
– podstawienie / wypisywanie zmiennej string
– dodanie biblioteki string
https://youtu.be/pxCpFlXX9sA?t=458

Jakie zastosowanie ma nasza zmienna string:
– pamięta napis -> identyfikator klienta, umowy, text SMS, baner na autostradzie
https://youtu.be/pxCpFlXX9sA?t=696

Czym się różni string od int-a?
– liczba nie może się równać napisowi, może być 12
– char to pojedynczy znak, ale nie możemy być napisem
– liczby można dodawać
– napisy łączymy
https://youtu.be/pxCpFlXX9sA?t=764

Podwójne znaki cudzysłowu – tekst, pojedyncze – znak:
– C++ odróżnia napis od znaku
– char pojedynczy znak
– pojedynczy znak “b” to tekst a ‘b’ to znak
https://youtu.be/pxCpFlXX9sA?t=915

string może przechowywać dowolny ciąg znaków:
– ze spacjami, dowolna długość
https://youtu.be/pxCpFlXX9sA?t=1023

Czemu nie możemy wszystkich zmiennych skasować i zrobić string:
– zmienne int dodają, a string łączy
– co innego zmienna 15 a co innego napis 15
https://youtu.be/pxCpFlXX9sA?t=1073 

String czyli tablica znaków
Podsumowanie zmiennej string / kodu
– numeracja od 0
– możemy traktować jako napis
– możemy traktować jako tablicę
– wypisywanie komórek tablicy: numer 0
https://youtu.be/pxCpFlXX9sA?t=1298 

Długość string – size:
– dokładne omówienie
– ostatni znak, numeracja od 0
– metoda – string jest bardziej inteligentny i ma metody
– indeks ostatniego elementu id.size()-1
https://youtu.be/pxCpFlXX9sA?t=1655

Wypisanie ostatniego znaku stringu:
https://youtu.be/pxCpFlXX9sA?t=1791

Piszemy poza stringiem
– wywłaszczenie, niekreślone działanie, …
– dokła wyjaśnienie
https://youtu.be/pxCpFlXX9sA?t=1954

Łączenie / dodawanie stringów:
– dokładne omówienie
– mamy przedrostek i dodajemy 15 jako kolejny numer klienta
– łączymy a nie dodajemy stringi
– spacja zachowana
– łączenie ze znakiem
– kolejne dołączanie stringów do naszego stringa;
https://youtu.be/pxCpFlXX9sA?t=2100

Dodawanie napisów vs dodawanie stringów / inicjalizacja stringów:
– “bklw” + ” 015″ to sklejanie napisów a nie string
– dodawanie może tylko tyczyć stringów a nie ciągów znaków – tu jest zdefiniowane
– dodawanie na ciągach znaków nie jest zdefiniowane
– rzutowanie napisu na string i pokazanie że wówcza dodawanie działa bo dodawanie stringów
https://youtu.be/pxCpFlXX9sA?t=2485

Kahoot – Dodawanie napisów vs dodawanie stringów / inicjalizacja stringów:
– “XAP” + ” 924817″
– nie da rady bo napisy
– (string)”XAP” + (string)” 924817″
– to już da radę bo operacja + na stringach jest zdefiniowana
–  poprawa to rzutowanie
– inicjalizacja string pojedynczym napisem
– dodać do niego kolejny napis
https://youtu.be/pxCpFlXX9sA?t=3879

Omówienie napisów w kahoot:
– dodawanie stringów i wypisywanie
– omówienie kodu
https://youtu.be/pxCpFlXX9sA?t=3049

Druga część spotkania – KOD ASCII:
https://youtu.be/pxCpFlXX9sA?t=4289

Challenge #11:
https://youtu.be/pxCpFlXX9sA?t=5759

OKI #12:
https://youtu.be/pxCpFlXX9sA?t=5814

Olimpiada ZAAWANSOWANA #10 – 2022.12.01
I etap Olimpiady
Link do zajęć:

Nasze punkty z I etapu:
https://youtu.be/sill5r7hY4g?t=372

Treść zadania Kolorowy Wąż – I etap OI-a:
https://youtu.be/sill5r7hY4g?t=1113

Treść zadania Płytkie nawiasowanie:
https://youtu.be/sill5r7hY4g?t=1359

Treść zadania Pociąg:
https://youtu.be/sill5r7hY4g?t=1484

Omówienie zadania Kolorowy Wąż:
https://youtu.be/sill5r7hY4g?t=1827

Omówienie zadania Płytkie nawiasowanie:
https://youtu.be/sill5r7hY4g?t=2545
Dlaczego zachłan jest dobry?
https://youtu.be/sill5r7hY4g?t=3387

Deser!
Pociąg towarowy
https://youtu.be/sill5r7hY4g?t=3625

 

 

Olimpiada Informatyczna POZIOM II – zajęcia #10 – 2022.11.30
Zadania z Challenge: Multiplication table, Enemy is weak
Link do zajęć: https://youtu.be/JQo4dmjlkg8?t=19

Znamy drzewa przedziałowe:
– struktura
– suma na przedziale i zmiana wartości – poprawa sum prefiksowych
– zmiana na przedziale i wartość w punkcie
https://youtu.be/JQo4dmjlkg8?t=19

OKI #11 zapowiedź:
https://youtu.be/JQo4dmjlkg8?t=106

Mediana ciągu liczb:
– środkowy element posortowanego ciągu
https://youtu.be/JQo4dmjlkg8?t=282

Mediana ciągu gdzie podana jest częstotliwość ciągu:
https://youtu.be/JQo4dmjlkg8?t=466

Ile jest dodatnich liczb parzystych nie większych od 15?
https://youtu.be/JQo4dmjlkg8?t=617

Ile jest dodatnich liczb parzystych nie większych od 91?
– ile jest pełnych bloków nieparzysta-parzysta
https://youtu.be/JQo4dmjlkg8?t=663

Ile jest liczb dodatnich które są wielokrotnościami 5 nie większych od 2022:
– patrzymy na bloki długości 5 i bierzemy pełne
https://youtu.be/JQo4dmjlkg8?t=779

Omówienie zadania Multiplication Table:
– Szukamy mediany tabliczki mnożenia
https://youtu.be/JQo4dmjlkg8?t=927

Rozwiązanie wzorcowe zadania Multiplication Table:
https://www.youtube.com/watch?v=JQo4dmjlkg8&t=1437

Potrzebujemy wiedzieć ile jest liczb mniejszych od danej wartości:
https://youtu.be/JQo4dmjlkg8?t=1637 

Kluczowe obserwacje:
– jeśli liczba elementów dla wartości mniejsza od połowy nie ma sensu szukać na lewo
– jeśli liczba elementów dla wartości większa od połowy nie ma sensu szukać na prawo
– mamy  binary search
https://youtu.be/JQo4dmjlkg8?t=1814

Jak napisać funkcję która odpowiada ile jest liczb mniejszych od danej wartości -> np: 16:
https://youtu.be/JQo4dmjlkg8?t=2012

Złożoność rozwiązania:
https://youtu.be/JQo4dmjlkg8?t=2881

Omówienie kodu:
https://youtu.be/JQo4dmjlkg8?t=2957

Omówienie zadania Enemy is weak:
– indeksy nie muszą być kolejne, nie muszą być spójne
https://youtu.be/JQo4dmjlkg8?t=3241

Rozwiązanie brutalne:
https://youtu.be/JQo4dmjlkg8?t=3527

Optymalne rozwiązanie:
– bierzemy środkowy element i sprawdzamy ile jest lewych większych, prawych mniejszych i mnożymy
– wystarczy rozpatrzeć wszystkie środki
https://youtu.be/JQo4dmjlkg8?t=3711

Jak liczyć ile jest liczb większych od danej – na lewo / na prawo?
– policzyć trójki liczb, że indeksy rosnące a wartości malejące
– drzewo przedziałowe
– dynamicznie sumy sufiksowe = drzewo przedziałowe
https://youtu.be/JQo4dmjlkg8?t=3821

Problem w podejściu z drzewem przedziałowym:
– elementy są do 10^9
– musielibyśmy mieć tablicę 8GB
https://youtu.be/JQo4dmjlkg8?t=4024

Rozwiązanie problemu:
– sortujemy ciąg zachowując indeksy – parami
– odwracamy problem
– mamy zagwarantowane że wartości są większe ale nie mamy gwarancji kolejności/indeksów
– teraz szukamy ile jest elementów i indeksie mniejszym ode mnie na lewo i większym na prawo
– elementów jest tylko 10^6 – pamięci potrzeba tylko 8MB a poprzednio 8GB
https://youtu.be/JQo4dmjlkg8?t=4136

Nasze zadanie ma teraz postać:
– pytamy się drzewa przedziałowego, ile jest indeksów mniejszych na lewo, indeksów większych na prawo
– na drzewie pamiętamy ile razy mamy 1, 2, 3, … aż do 10^6
https://youtu.be/JQo4dmjlkg8?t=4422

Symulacja algorytmu:
https://youtu.be/JQo4dmjlkg8?t=4445

Każda permutacja występuje raz
– możemy poznać ile jest liczb większych na prawo
– mając indeks 5, ilość liczb mniejszych jest 5-1 czyli 4, wiem, że 2 są po lewej, zatem tych po prawej będzie 4-2 czyli też 2
– rachunek na licznościach, indeksach
– dać do quizu
https://youtu.be/JQo4dmjlkg8?t=4581

Złożoność rozwiążania:
https://youtu.be/JQo4dmjlkg8?t=4894

Z 317 lat do ułamka sekundy!
– zamiast 10^18 mamy 2*19^7
– ależ moc!
https://youtu.be/JQo4dmjlkg8?t=4913

Omówienie kodu:
https://youtu.be/JQo4dmjlkg8?t=4949

Challenge #10:
https://youtu.be/JQo4dmjlkg8?t=5326

Kahoot:
Jak znaleźć medianę liczb?
https://youtu.be/JQo4dmjlkg8?t=5472

 

Olimpiada Informatyczna OD PODSTAW #10 – 2022.11.29
Maski bitowe – Zadanie Gołębie pocztowe
Link do zajęć: https://youtu.be/55KbGr2LDwQ?t=19
POKAZAĆ
Po co liczby dwójkowe?
Jak myśli komputer?
Ile palców ma komputer?
Liczby dwójkowe:
– reprezentacja liczb w komputerze
– jest prąd / brak prądu
– w ten sposób może myśleć komputer
– My myślimy dziesiętnie – mamy 10 palców 0->9
– Komputer ma 2 palce – jest naładowanie nie ma naładowania
– Liczby dwójkowe kojarzą nam się ze zrozumieniem architektury komputera
https://youtu.be/55KbGr2LDwQ?t=19
POKAZAĆ
Liczby dwójkowe to coś więcej!
– 1 / 0 może oznaczać że coś jest lub czegoś nie ma
– szklanka talerz i widelec
– 1 1 1 wszystkie mamy
– 1 0 1 – środkowego elementu nie mamy
– Możemy bawić się, wykorzystać do tego by wykorzystać zbiory
– Błyskawicznie operować na tych zbiorach, wybierać optymalny
– Michał Szeliga poprowadzi nas przez ta piękną przygodę, liczby dwójkowe, zbiory, wybieranie
– a że w ten sposób w przyszłości zrozumiemy architekturę komputera to dodatkowy bonus
https://youtu.be/55KbGr2LDwQ?t=72
OIJ trwa, OI czekamy na wyniki
– W SP? weż udział
https://youtu.be/55KbGr2LDwQ?t=155
POKAZAĆ
Olimpiada? Jak najwięcej myśleć nad zadaniami!
– najlepiej spędzony czas to ten nad myśleniem
– jest pomysł? implementujemy, eleimunujemy bugi
– wiedza którą nabędziemy będzie bezcenna
– ilość technik które poznamy da nam moc nie tylko w olimpiadzie ale również później w rozwiązywaniu problemów, w tworzeniu, przyspieszaniu aplikacji – porównywac dna, szukać ekologicznego plastiku
– to jest przyszłość do której się pryzgotowujemy
Przed nami USACO – 16-19 grudnia
– pierwsza część amerykańskiej olimpiady
– może brać udział cały świat
– to również my
– nieważne w której klasie – bierzmy udział
– zarezerwujmy sobie weekend – 4h ciągłego czasu
– wystartujmy, pokażcie światu jak jesteście mocni
https://youtu.be/55KbGr2LDwQ?t=240 
Remi mówi że wie już jak zoptymalizować:
– no własnie o to chodzi
– małymi kroczkami
– pierwsza wersja przechodzi jakieś testy
– poprawiamy i poprawiamy
https://youtu.be/55KbGr2LDwQ?t=451
Pokazać
Wyjaśnienie modulo:
– dokładne wyjaśnienie ile wynosi 32*32 +21^1928 – 184
– jakie działania można zrobić na resztach?
– modulo liczby ujemnej: -2 mod 8
https://youtu.be/55KbGr2LDwQ?t=545
Liczby dziesiętnie – system pozycyjny:
https://youtu.be/55KbGr2LDwQ?t=1168
Zamiana 83 dziesiętnej na dwójkową przez odejmowanie potęg dwójek:
– konwersja jest zachłanna
– czym są bity
https://youtu.be/55KbGr2LDwQ?t=1446 
Czym różni się system dwójkowy od dziesiętnego?
– dziesiętnie pozycje mnożymy przez potęgi 10
– dwójkowo pozycje mnożymy przez potęgi 2
https://youtu.be/55KbGr2LDwQ?t=1704
Quiz: Czym różni się liczba 101 dwójkowo i dziesiętnie?
Dlaczego?
Operacje bitowe:
– tak jak dodawanie i odejmowanie
– możemy dodawać swoje!
https://youtu.be/55KbGr2LDwQ?t=1820
OR / Lub:
– przykład z życia – słońce i dzwoni kolega
– na dwójkowych i dziesiętnych
https://youtu.be/55KbGr2LDwQ?t=1938
AND / I:
– przykład z życia – słońce i dzwoni kolega
– na dwójkowych i dziesiętnych
https://youtu.be/55KbGr2LDwQ?t=2349
Sprawdzanie czy bit jest zapalony?
– przykład z życia – słońce i dzwoni kolega
– na dwójkowych i dziesiętnych
– w programowaniu na dziesiętnych
https://youtu.be/55KbGr2LDwQ?t=2623
Jak szybko podnieść dowolną liczbę do dowolnej potęgi w C++?
– przesunięcie bitowe
– przykład w ideone
– najszybsze operacje – jedna instrukcja
https://youtu.be/55KbGr2LDwQ?t=2874
Quiz
XOR:
– przykład
– dwójkow dziesiętnie
– ideone przykład
https://youtu.be/55KbGr2LDwQ?t=3346
Właściwości XOR:
a ^ a = 0
a ^ 0 = a
https://youtu.be/55KbGr2LDwQ?t=3572
Zagadka – wino i król!
– 1000 beczek i 10 poddanych
– jedna beczka zatruta
– w ciągu nocy trzeba sprawdzić która beczka jest zatruta
– każdą z tysiąca beczek określamy jednoznacznie maską bitową.
https://youtu.be/55KbGr2LDwQ?t=3691
Quiz:
Wymyśl ciekawszą wersję zagadki – nie tak makabryczną
Omówienie zadania Gołębie pocztowe:
https://youtu.be/55KbGr2LDwQ?t=5401
Programowanie OD PODSTAW #9 – 2022.11.28
Własna aplikacja
Link do zajęć: https://youtu.be/uAv2AzDzLOc?t=9

Własna aplikacja!
– dopiero 10-te zajęcia i już możemy pisać własną aplikację?
– tak, będziemy mogli ją rozwijać albo samemu wdrażać swój pomysł
https://youtu.be/uAv2AzDzLOc?t=9

Dlaczego własna aplikacja?
– najbardziej się rozwijamy
https://youtu.be/uAv2AzDzLOc?t=39

Pomysły na aplikacje:
– zamiana systemu dwójkowe na dziesiętną
– pokazywanie czas, datę, konwersacja
– pisząc aplikację i dodając kolejne elementy będziemy uczyć się i cieszyć tym programowaniem
– pisząc aplikację będziemy uczyć się, odkrywać, przeszukiwać internet, rozmwaiać na discordzie
– właśnie odkrywać
https://youtu.be/uAv2AzDzLOc?t=51

Zdobądź szczyt!
Wejdź na górę!
Wielke WOW
Piękna górska wycieczka – projekt naszej aplikacji:
– wyobraźmy sobie, że przed nami góra
– możemy wejść na górę a możemy nie wejść
– dlaczego ludzie chodzą po górach
– dla widoków
– jak ta nasza aplikacja będzie to wielka radość
– każdego dnia gdy będziemy na tej górze coraz wyżej to każdy krok to będzie zmęczenie
– idziemy przecież pod górę
– ale będzie radość że go wykonaliśmy
– nie zawsze chodzi o to bycia na górze, radością jest już droga
– do tej drogi chciałem Was zachęcić
– cieszyć się się tym co robisz
– jeśli programowanie, to pisanie swojej aplikacji
– każdego dnia będzie mocniejsza
–  przykładów mamy bardzo dużo
– Mateusz i sprawne miasto
– Piotr Donański – pomaga we wzorach fizycznych i chemicznych
– Wojtka i Szymona którzy w ramach lekcji piszą własną aplikację
– zachęcam do własnej aplikacji
– ta droga jest już piękna
– a jak dojdziemy, widok będzie wspaniały!
– ale możecie powiedzieć kiedy będę widział taki widok, przecież ta góra jest wysoka
– Ci którzy weszli na taką górę tez postawili pierwszy krok
– jeżeli tylko każdego tygodnie będziesz dodawać tylko jedną rzecz do swojej aplikacji
– za rok będziesz miał 50 funkcjonalności, na normalnej stronie www, swojej aplikacji
– będziesz miał wielką radość, wielką dumę, wielkie WOW od kolegów nauczycieli
– ja też się ucieszę, pokażę światu
– bardzo się cieszę każdym naszym krokiem
– zachęcam do tej drogi
– my dziś pokażemy jak można rozpocząć taką aplikację
https://youtu.be/uAv2AzDzLOc?t=123

 

Kahoot – program który wczytuje 7 wartości i je wypisuje
– sortowanie bez ostatniego elementu
– argumenty funkcji sort
https://youtu.be/uAv2AzDzLOc?t=572

Ostatni element tablicy:
https://youtu.be/uAv2AzDzLOc?t=1290

Piszemy aplikację “Szybka Matma”!
https://youtu.be/uAv2AzDzLOc?t=1587

Plik index.html:
– szczegółowe wyjaśnienie.
https://youtu.be/uAv2AzDzLOc?t=1778

Zamiana na system dwójkowy:
https://youtu.be/uAv2AzDzLOc?t=4733

To działa!
https://youtu.be/uAv2AzDzLOc?t=5665

Skrócone omówienie naszej aplikacji:
https://youtu.be/uAv2AzDzLOc?t=5770

Zapowiedź OKI #11:
https://youtu.be/uAv2AzDzLOc?t=7476

Opis challenge #10:
https://youtu.be/uAv2AzDzLOc?t=6717

Olimpiada Informatyczna POZIOM II – zajęcia #8 – 2022.11.23
Megalopolis
Link do zajęć: https://youtu.be/QMHaZBxUQks?t=156

Wrażenia z II etapu OI:
https://youtu.be/QMHaZBxUQks?t=156

PreOrder – quiz kahoot:
https://youtu.be/QMHaZBxUQks?t=752

Z jakiego systemu korzysta Tomek?
– Linux!
https://youtu.be/QMHaZBxUQks?t=1259

Omówienie zadania Megalopolis – Olimpiada Informatyczna:
https://youtu.be/QMHaZBxUQks?t=1279

Kod / linki: https://oki.org.pl/megalopolis

Gdy nie mam zmian zadanie jest proste
– gdy są zmiany – trzeba pomyśleć
https://youtu.be/QMHaZBxUQks?t=2343

Kod zadania Megalopolis:
https://youtu.be/QMHaZBxUQks?t=5611

Uczymy się nie tylko rozwiązywać ale też trików programistycznych!
https://youtu.be/QMHaZBxUQks?t=5629

Złożoność rozwiązania:
https://youtu.be/QMHaZBxUQks?t=6155

Zapowiedź #10
https://youtu.be/QMHaZBxUQks?t=120

Challenge #9:
https://youtu.be/QMHaZBxUQks?t=6433

Umiemy drzewa!
Sporo umiemy z drzew!
– dodawać na przedziale
– dodawać w punkcie
– wybierać min / max
https://youtu.be/QMHaZBxUQks?t=7290

Olimpiada Informatyczna OD PODSTAW #9 – 2022.11.22
Zadania z Challenge – Duże liczby / Usuwanka
Link do zajęć:
Mundial? To informatyka!
Mistrzostwa? To informatyka!
Trwają Mistrzostwa Świata w Piłce Nożnej
– nawet mecz Polski teraz trwa
– Co to ma wspólnego z Informatyką
– Możemy przewidzieć kto wygra Mistrzostwa Świata
– Jest dziedzina na pograniczu informatyki i matematyki
– Modelowanie
– Co możemy modelować?
– Kto wygra mecz / kto wygra turniej?
– Bardziej poważne rzeczy: Jak rozchodzi się lek w organizmie?
– Jak atakuje rak ciało człowieka?
– Wtedy jesteśmy w stanie stworzyć lek który zatrzyma ten proces
– Jesteśmy w stanie światu pomóc
– Ja też zajmowałem się modelowaniem
– Z pogranicza matematyki i informatyki
– Być może my będziemy się tym zajmować
https://youtu.be/PZTW-83UMHM?t=11

Zapowiedź #10:
https://youtu.be/PZTW-83UMHM?t=7402

Sporo umiemy z drzew!
– dodawać na przedziale
– dodawać w punkcie
– wybierać min / max
https://youtu.be/QMHaZBxUQks?t=7290

Programowanie OD PODSTAW #9 – 2022.11.21
Sortowanie w akcji – Codeforces – Remove Smallest
Link do zajęć: https://youtu.be/v1kIwQqod2M?t=18

Lego, buty i sortowanie!
Po co nam to sortowanie?
– robot, klocki lego, sortuje piłki, rozpoczęcie mistrzostw świata w piłce nożnej
– sortowanie butów
– szersze sortowanie niż my rozumiemy rosnąco czy malejąco
– tu sortowanie to paczki które idą do jednego miasta
– rozszerzamy sortowanie
– przygotowujemy się do tej pięknej przyszłości
– chcemy uczestniczyć w najciekawszych projektach

https://youtu.be/v1kIwQqod2M?t=18

Spróbujmy samemu zrobić zadania
– możemy zajrzeć dowolnie długo
– możemy zajrzeć do kodu ile chcemy
– potem zamykamy i robimy sami
– żeby nie zaglądać co chwilę bo przepisywanie
– może zajrzeć na 4h / 8h
https://youtu.be/v1kIwQqod2M?t=6622

Dlaczego mi zależy
– jeśli zrobicie to umiecie
– nie ma większej wartości jeśli zrobimy zadanie od początku do końca sami
– liczy się to co zrobimy samemu.
https://youtu.be/v1kIwQqod2M?t=6665

Omówienie zadania Remove Smallest:
https://youtu.be/v1kIwQqod2M?t=2183
Kod / linki: https://oki.org.pl/remove-smallest 

Tablice globalne vs lokalne – dokładne wytłumaczenie:
https://youtu.be/v1kIwQqod2M?t=3328

Tablice globalne vs lokalne – kahoot – dokładne wytłumacznie:
https://youtu.be/v1kIwQqod2M?t=6711

Challenge #9:
https://youtu.be/v1kIwQqod2M?t=6612
Zapowiedź OKI #10:
https://youtu.be/v1kIwQqod2M?t=7287

 

Olimpiada ZAAWANSOWANA #8 – 2022.11.17
Algorytmy tekstowe
Link do zajęć:

Zostało mało czasu do końca OI-a
– kto się nie zabrał warto się zabrać
– wymyślenie to połowa sukces
– ale rozwiązania na podstawie kodu
– nie zostawiajmy kodu na ostatnią chwilę
– losowe błędy mogą wyniknąć
– są 2 zadania które się pisze dłużej
https://youtu.be/Egt5W93F1DU?t=632

Jakieś fajne materiały do teorii liczb:
– cp-algorithms.web.app
– więcej niż trzeba na olimpiadzie
https://youtu.be/Egt5W93F1DU?t=801

Dlaczego Mikołaj nie został finalistą w jednym z OI-ów?
Czy Mikołaj miał tak na OI-u że dostał mniej punktów niż się spodziewał?
– dał tylko własne testy
– nie puścił testów automatycznych
– wykryłyby drobnego bug-a
– dostał 38 zamiast 100
– warto testować
https://youtu.be/Egt5W93F1DU?t=1243

Olimpiady nie piszemy na Windows a a na Linux
– II etap na Linux
– Debian
– działa inaczej niż Windows
– szybszy
– mamy gotowe programy testujące
https://youtu.be/Egt5W93F1DU?t=1457

Algorytmy tekstowe – KMP
– efektywne wyszukiwanie wzorca w tekście
– algorytm liniowy
https://youtu.be/Egt5W93F1DU?t=1564

Jakie są algorytmy tekstowe?
– KMP, hashe, może inne
– KMP jest szybsze od hashy i deterministyczne
https://youtu.be/Egt5W93F1DU?t=1682

Pseudokod znajdowania prefikso-sufiksów:
https://youtu.be/Egt5W93F1DU?t=2641

Złożoność prefikso-sufiksów:
https://youtu.be/Egt5W93F1DU?t=3119

Po co nam te prefikso-sufiksy?
– tak samo robimy dla wzorców
https://youtu.be/Egt5W93F1DU?t=3258

Pseudokod KMP:
https://youtu.be/Egt5W93F1DU?t=3637

Nie warto pamiętać
KMP to 3 linijki!
– prefikso-sufiks to 4 linijki
– na warsztatach można KMP skopiować
– na Olimpiadzie się nie da
– wystarczy zrozumieć
– wystarczy zrozumieć ideę
– będziemy w stanie to wyprowadzić
– gdzie ma być +1 w kodzie – nie wiemy ale wrócimy bo rozumiemy / rysunek
https://youtu.be/Egt5W93F1DU?t=4094

Tablica p / funkcja p – zastosowania
https://youtu.be/Egt5W93F1DU?t=4272

Zadanie Szablon:
https://youtu.be/Egt5W93F1DU?t=4606

Olimpiada Informatyczna POZIOM II – zajęcia #8 – 2022.11.16
Drzewa przedziałowe w akcji
Link do zajęć: https://youtu.be/vg_g0zTxUVo?t=20

Do czego drzewa przedziałowe?
– suma, iloczyn, nwd, xor, operacje bitowe
https://youtu.be/_NKkBeXjMXg?t=25

Omówienie zadania Palindrome Queries
https://youtu.be/_NKkBeXjMXg?t=753
Kod / linki: https://oki.org.pl/palindrome-queries

Piękno drzew przedziałowych!
Zmieniamy pół linijki i drzewo nam liczy zupełnie coś innego!
– sumę, nwd, max, …
https://youtu.be/_NKkBeXjMXg?t=2756

Złożoność naszego rozwiązania:
https://youtu.be/_NKkBeXjMXg?t=4104

Dostajemy zielone!
– nie kasa a 100%
https://youtu.be/_NKkBeXjMXg?t=5828

Mocne zadanie!
https://youtu.be/_NKkBeXjMXg?t=6083

II etap OI-a!
– ale będzie łatwiej
https://youtu.be/_NKkBeXjMXg?t=7156

Zapowiedź OKI #9: https://youtu.be/_NKkBeXjMXg?t=107
Challenge #8: https://youtu.be/_NKkBeXjMXg?t=5941

 

Olimpiada Informatyczna OD PODSTAW #8 – 2022.11.15
NWD w akcji – Codeforces – Alice and Bob
Link do zajęć: https://youtu.be/wQ-txOToh8g?t=16

NWD bohaterem:
– matematyczny
– pomaga rozdzielać zasoby, terminy spotkań, kto wygra w grę, podobieńśtwa
– tak jak dziś – Codeforces / gra
https://youtu.be/wQ-txOToh8g?t=16

Olimpiada nas przygotowuje by w przyszłości
– rozdzielać zasoby, znajdować podobieństwa
– prosty algorytm, napisaliśmy go poprzednio w chwilę
https://youtu.be/wQ-txOToh8g?t=66

Zobaczyliśmy że NWD policzyć można wolno 30 000 lat
– tysiące lat dla 10^18 lub ułamek sekundy
https://youtu.be/wQ-txOToh8g?t=90

POKAZAĆ
UWAGA! Przychodzi mocna osoba!!!
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

Róbmy zadania olimpijskie od razu!
– chodzi o myślenie, nowe drogi, odkrywanie, poznanie
– na ostatnia chwile nie nauczymy się dużo
– nie chodzi o punkty
– żeby jak najwięcej się nauczyć!
– dużo więcej się rozwiniemy, wniosków
https://youtu.be/wQ-txOToh8g?t=261

Aplikacja OKI – wielka prośba
https://youtu.be/wQ-txOToh8g?t=335

Zadanie Alice and Bob:
https://youtu.be/wQ-txOToh8g?t=1985

Warto symulować!
https://youtu.be/wQ-txOToh8g?t=6851

Symulacja szybkiego NWD z resztami
– szczegółowa analiza kolejnych wartości zmiennych a, b, reszta
– początkowo 7, 21
https://youtu.be/wQ-txOToh8g?t=6702

Challenge #8
https://youtu.be/wQ-txOToh8g?t=6259
Zajęcia #9:
https://youtu.be/wQ-txOToh8g?t=6335

 

Programowanie OD PODSTAW #8 – 2022.11.15
Sortowanie
Link do zajęć:

Co gdy jesteś w sklepie internetowym?
– chcemy by elementy były posortowane
– po cenie, popularności, ocenie
– aplikacje pozwalają sortować elementy
– w kolejności rosnącej po cenie, opinii, czymkolwiek
– komputer bardzo łatwo sortuje
– w życiu – bieg na 100m czy wyniku testu
https://youtu.be/x1WHMRK_WNM?t=4

Przygotowujemy się by w przyszłości pisać fantastyczne aplikacje!
– takie które pomagają coś wybrać
– w sklepie elektronicznym, sportowym, ogrodniczym
– żeby użytkownicy byli szczęsliwi
https://youtu.be/x1WHMRK_WNM?t=83

Sortowanie potrzebne w rozwiązywaniu problemów:
– Binary Search – błyskawicznie znajduje coś – sprawdza środek i odrzuca lewą lub prawą część
– my też go używamy – patrzymy na środkową cenę i odrzucamy lewą lub prawą połówkę
– algorytmika też korzysta z uporządkowania
– algorytmy zachłanne
– dziś ustawiamy klasę w rzędzie!
https://youtu.be/x1WHMRK_WNM?t=111

Mamy arsenał by zaatakować Olimpiadę Informatyczną Juniorów / Licealistów
– umiemy tablice, pętlę, warunki
– zostały teksty, funkcje
https://youtu.be/x1WHMRK_WNM?t=195

Możemy zaatakować zadania z Olimpiady!
– dlaczego zachęcam
– informatyka to pisanie programów
– informatyka to też rozwiązywanie problemów
– jakich problemów
– by program nie liczył się dni a sekundy
– jeśli chcemy by program coś doradził to by zrobił to szybko
– i tego nas nauczy Olimpiada Informatyczna SP / Liceum
– strasznie się przyda w życiu
– nie chodzi o wynik
– macie moc – patrzę po quizach
– w sp też w licealnej
– przeczytajmy zadania
– nie chodzi o wynik, chodzi o to ile się nauczymy!
– myśląc nad zadaniami – najpiękniejszy czas
– Szymon Hajderek – rozkoszuje się czasem gdy myśli nad zadaniami
– nie zagląda szybko szybko do odpowiedzi bo to do czego dojdzie jest najcenniejsze
– nie tylko uczymy się myśleć
– ale też uczymy się kodować
– popełnimy błędy, będziemy szukać błędów
– uczmy się C++ / Pythona
– straszliwy skok do przodu
– a my już mamy narzędzia by wystartować!
https://youtu.be/x1WHMRK_WNM?t=241

Jak opanować chaos?
Sortowanie:
https://youtu.be/x1WHMRK_WNM?t=1378

Weźmy udział w quizach i challengach!
https://youtu.be/x1WHMRK_WNM?t=361

Zapowiedź OKI #9: https://youtu.be/x1WHMRK_WNM?t=6013

Opis challenge #9: https://youtu.be/x1WHMRK_WNM?t=5975

Olimpiada ZAAWANSOWANA #7 – 2022.11.10
Programowanie zachłanne
Link do zajęć: https://youtu.be/Gu2unW6i1lM?t=950

Początek zajęć:
https://youtu.be/Gu2unW6i1lM?t=950

Czy możemy programowanie zachłanne użyć do problemu plecakowego?
– nie można
– nie da się brać optymalnych stosunków
– najkrótszy przykład z 3-ma przedmiotami
https://youtu.be/Gu2unW6i1lM?t=999

Algorytmy zachłanne:
– dynamik plecakowy – n^2
– uporządkowanie i zachłanne podejście byłby n albo nlogn – ale nie mogę
– w Dijkstra też nie mogę brać zachłannie aktualnie najlepszej krawędzi
– ale czasem uporządkowanie i branie najlepszego działa
– słoiki z miodem – ciągłe przedmioty – można dowolnie dzielić częściowo
– dlaczego zachłan ze słoikiem działa?
https://youtu.be/Gu2unW6i1lM?t=1153

Bierzemy najlepiej jak się da!
To jest zachłan!
https://youtu.be/Gu2unW6i1lM?t=1506

Jak wpaść na zachłana?
https://youtu.be/Gu2unW6i1lM?t=1626

Klasyka zachanów – Szeregowanie czynności:
https://youtu.be/Gu2unW6i1lM?t=1927

Zadanie Trójkontenerowiec – Potyczki algorytmiczne:
https://youtu.be/Gu2unW6i1lM?t=3484

 

Olimpiada Informatyczna OD PODSTAW #7 – 2022.11.08
Razem piszemy kod NWD
Link do zajęć:
Przygotowujemy się do Olimpiady!
– Droga do tego by rozwiązywać problemy w przyszłości
– Jakie problemy?
– W R&D gigantów, na uczelniach, w firmach
– te miejsca do których się przygotowujemy
– tam chcemy być
– chcemy mieć ciekawe życie
– każdego dnia chcemy mieć problem które świat nie umie rozwiązać
– i będziemy go próbowali zaatakować na różny sposób
– to chyba nie może być prawda….
– kto ma jakie problemy?
https://youtu.be/gEgsWnMbBNs?t=8
Historia Alicji Kruczek – 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ńśtwem
– 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
Napiszemy NWD / NWW
– coś co jest potrzebne w bezpieczeństwie
– jeśli ktoś jest zafascynowany bezpieczeństwem, ochroną przed wirusami to zapraszam serdecznie
– wspólnie napiszemy kod NWD
– jak najszybciej
https://youtu.be/gEgsWnMbBNs?t=295 
Wolny Euklides:
Programowanie OD PODSTAW #7
Tablice
2022.11.7
Link do zajęć: https://youtu.be/IxwQcOkKY30?t=16

Komu potrzeba pomagać
Piszemy System Wspomagania Decyzji!
– do czego wspomaganie decyzji
– kampanie marketingowe przed świętami
– kto podpowie kadrze zarządzającej która najbardziej co robić?
– My informatycy!
– Rolnictwo – kiedy nawozić, kiedy zbierać plony, kiedy nawodnić
– My informatycy podpowiadamy rolnikowi, co najbardziej efektywne dla niego dla ziemi
– Gdzie zbudować sklep
– Analiza transkacji, drogi pokonywanej przez klientów
– Znowu my informatycy podpowiadamy
– Coś najbardziej pasjonującego dla mnie!
– Kończyłem Komputerowe Wspomaganie Decyzji
– Coś co mnie bardzo pasjonuje
– Dziś coś takiego zrobimy!
https://youtu.be/IxwQcOkKY30?t=16

Po co tablice?
– musimy pamiętać dane – transakcje, stan gleby, pogodę – żebyśmy mogli coś doradzić.
https://youtu.be/IxwQcOkKY30?t=143

Po co tu jesteśmy?
– żeby fantastyczna pogoda, takie projekty były przed nami
– przyszłość jest nasza
– jeśli to Was pasjonuje, to możemy to robić
https://youtu.be/IxwQcOkKY30?t=178

Nasze marzenia!
Bo chodzi o marzenia!!!
Jeden z nas chce pracować w konkretnej firmie programistycznej:
– pomogę – czego się uczyć, jaką strategię, wolontariat w tej firmie
– pomyśl kim chcesz być za 10 lat
– ja Jan Kowalski – ma dziś 15, 18, 11 lat
– dodaj sobie 10 i gdzie chciałbyś być
– te marzenia są przed nami, do zmaterializowania, wystarczy po niego sięgnąć.
– każdego dnia mocniejsi
https://youtu.be/IxwQcOkKY30?t=207

Zauważ czego brakuje!
Projekt naszego kolegi – Piotra Domańskiego
– absolwent OKI
– też uczył się programowania
– zauważył że jest problem!
– nie ma programu który liczy matematyczne zadania, formuły
– zaczął robić swój Software House!
– coś co robi programy dla nas – grę, wspomaganie decyzji, formuły matematyczne
https://youtu.be/IxwQcOkKY30?t=272

Pomóżmy Piotrowi!
https://youtu.be/IxwQcOkKY30?t=375

Całościowe wyjaśnienie tablic:
– od samego wejścia do online’owego kompilatora C++ ideone
– pokazanie problemów ze zmiennymi
– dokładne omówienie tablic
https://youtu.be/IxwQcOkKY30?t=1965

Dobry punkt startowy do zrozumienia i nauki tablic:
– jaki jest problem ze pojedynczymi zmiennymi?
– gdy jest dużo zmiennych
– wczytywanie / wypisywanie / operowanie
– jak pomagają tablice?
https://youtu.be/IxwQcOkKY30?t=2230

Tablice sensu stricte omówienie
https://youtu.be/IxwQcOkKY30?t=2302

Tablice znaków – dokładne omówienie w trakcie quizu:
https://youtu.be/IxwQcOkKY30?t=6682

 

Tablice znaków – dokładne omówienie w trakcie quizu:
https://youtu.be/IxwQcOkKY30?t=6682

 

Opis Challenge #7:
https://youtu.be/IxwQcOkKY30?t=6494

Programowanie #8:
https://youtu.be/IxwQcOkKY30?t=6552

Podsumowanie kodu Szybka paczka:
https://youtu.be/IxwQcOkKY30?t=5751

Olimpiada ZAAWANSOWANA #6 – 2022.10.27
SQRT – Pierwiastki
Link do zajęć:

Meet in the Middle:
– czy może się przydać ona Olimpiadzie?
– Co to jest?
https://youtu.be/ltHNUi6KKmw?t=1037

SQRT – Pierwiastki – SQRT Decomposition – Dekompozycja pierwiastkowa
– podobny pomysł do drzew – przedziały które scalamy
https://youtu.be/ltHNUi6KKmw?t=1219

Złożoność algorytmu pierwiastkowego:
https://youtu.be/ltHNUi6KKmw?t=1454

Gdzie się przydaje pierwiastek?
– suma wartości równa x – różnych wartości nie więcej niż 2*sqrt(x)
https://youtu.be/ltHNUi6KKmw?t=1563

Klasyczne zadanie na pierwiastek:
https://youtu.be/ltHNUi6KKmw?t=1725

Dlaczego algorytmy pierwiastkowe są potężne?
https://youtu.be/ltHNUi6KKmw?t=2618

Kontenery – XXIV OI:
– male ruchy – brut
– duże ruchy – zgromadzić – mało – szybko
https://youtu.be/ltHNUi6KKmw?t=3987

Co to jest ścieżka w grafie?
https://youtu.be/ltHNUi6KKmw?t=4262

Olimpiada Informatyczna
– jak zadawać pytania?
https://youtu.be/ltHNUi6KKmw?t=4804

W OI- jest 25 zgłoszeń – liczy się ostatnie!
https://youtu.be/ltHNUi6KKmw?t=4912

Nie wolno kopiować kodu!
– dzielić rozwiązaniami
https://youtu.be/ltHNUi6KKmw?t=4950

Zadanie Gang Biciaków:
https://youtu.be/ltHNUi6KKmw?t=4987

 

Olimpiada Informatyczna POZIOM II – zajęcia #6 – 2022.10.26
Drzewa przedziałowe część 1 – pierwsze zajęcia
Link do zajęć: https://youtu.be/vg_g0zTxUVo?t=20
Umiemy hashe!
Do tej pory hashe
– jak znajdować wzorce w tekstach
– problemy w hashach – kolizje
– zadanie z Olimpiady Informatycznej
https://youtu.be/vg_g0zTxUVo?t=20
OKI #7
– Zadanie Palindrom queries
https://youtu.be/vg_g0zTxUVo?t=95
Zaproszenie #2
– Palindrom queries
– połączenie dwóch tematów
https://youtu.be/vg_g0zTxUVo?t=8449
Do czego przydają się drzewa przedziałowe?
– XXIX OI – finał – zadanie – Marudny Bajtazar
– XXVIIO OI – Zadanie Pakowanie Plecaka
– dwa lata temu
– procentowo dość często – jest uniwersalny
https://youtu.be/vg_g0zTxUVo?t=176
Minimum na przedziale – kahoot
– problem min prefiksowych
– nie wiemy co jest na przedziałach pomiędzy
https://youtu.be/vg_g0zTxUVo?t=425

Jak strasznie wolno rośnie logarytm!
– 10^18 vs 60
– czekanie, czas
https://youtu.be/vg_g0zTxUVo?t=800

Ile wynosi suma potęg dwójki? 1+2+4+
– kolejna potęga dwójki – 1
Zarys naszego rozwiązania:
https://youtu.be/vg_g0zTxUVo?t=1917
Brakuje nam szybkiego brania max na przedziale!
https://youtu.be/vg_g0zTxUVo?t=2148
Poprawiamy Pythona!
CHCEMY PODWAŻYĆ ALGORYTM KTÓRY MA PYTHON!
– krótkie ale fajne!
https://youtu.be/vg_g0zTxUVo?t=2242
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
Co się wydarzyło?
– policzyliśmy dodatkowe wartości
– możemy szybciej odpowiadac na zapytania
https://youtu.be/vg_g0zTxUVo?t=2765
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

Jak działa drzewo przedziałowe – przykład zapytania
Drzewo przedziałowe w akcji
– pytamy o max na skomplikowanym przedziale
https://youtu.be/vg_g0zTxUVo?t=3975

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

Challenge #7:
https://youtu.be/vg_g0zTxUVo?t=7371

Kahoot – drzewa binarne
– kto jest synem wierzchołkiem 123
– czy wierzchołki 29 i 43  są na tej samej wysokości?
– chcesz szybko znajdować minimum w 20-elementowej tablicy – jakiego rozmiaru musi być drzewo?
– Jaki wierzchołek w drzewie binarnym sąsiaduje naraz z 50 oraz 201
– Czy wierzchołki 45 i 46 mają tego samego ojca w drzewie binarnym?
– Min 2-3 to 6, min 4-5 to 8 -> Jakie jest min 2-5
https://youtu.be/vg_g0zTxUVo?t=7577

Tomek super tłumaczy!
https://youtu.be/vg_g0zTxUVo?t=8365

Olimpiada Informatyczna OD PODSTAW #6 – 2022.10.25
Gąsienica
Link do zajęć: https://youtu.be/TMgFEpTuBvQ?t=18
Informatyka i natura!
Algorytm inspirowany naturą czy kojarzący się z naturą
– 2 pointers
https://youtu.be/TMgFEpTuBvQ?t=18
Inspirujemy się naturą!
– algorytmy genetyczne
– sztuczna inteligencja
– podpatrujemy naturę – jak wybierane są kolejne pokolenia, jak szukane jest optimum
– jak radzi sobie mózg
– dlaczego wpadamy na pomysły?
– komputery są wolne, staramy się pomóc komputerowi by nie liczył bezsensownie
– nie starczy mu czasu
– jak mają jechać ciężarówki, jak upakować elementy w samochodach
– olimpiada jest motywacją
– bieżące informacje
– test SP
– Olimpiada Informatyczna – bierzemy udział bez względu czy SP / Liceum
– komentarz Szymona
– zadania są ciekawe, pomyśleć
– rozplanowuje zadania na cały miesiąc
– kolorowy wąż – gra w Snake
– zrozummy treść, napismzy bruta poprawiajmy
– dołączmy do grupy OKI
https://youtu.be/TMgFEpTuBvQ?t=60
Ile punktów trzeba na II etap OI-a?
– nie myślmy o tym
– każdy trener powie – myśl tylko o kolejnej akcji?
– naszym zadaniem jest jak najlepiej zrobić te 5 zadań
– popatrzeć poszukać
– potem będzie koniec, 21 listopada
– w rękach Olimpiady jakie będa progi
https://youtu.be/TMgFEpTuBvQ?t=472 
OKI #7 – 8 listopada
– razem piszemy nowy algorytm
https://youtu.be/TMgFEpTuBvQ?t=579

Zachęta #2
https://youtu.be/TMgFEpTuBvQ?t=6649
OKI#9 – 22 listopada
– zadania z naszych challenge!
https://youtu.be/TMgFEpTuBvQ?t=623

Zachęta #2:
https://youtu.be/TMgFEpTuBvQ?t=6675
Challenge #6
Ile operacji może wykonać program by mieć 100 punktów:
https://youtu.be/TMgFEpTuBvQ?t=703
Spodziewana złożoność rozwiązania – na Olimpiadzie:
https://youtu.be/TMgFEpTuBvQ?t=778
Przeczytanie zadania jest ważne!
– to już jest początek robienia zadania!
– początek myślenia nad zadaniem
– przeczytajmy zadania
https://youtu.be/TMgFEpTuBvQ?t=1033
Na Olimpiadzie musimy wykonać minimalnie tyle operacji ile danych na wejściu – wczytać:
https://youtu.be/TMgFEpTuBvQ?t=1169
Co to jest złożoność?
– jak bardzo wzrośnie czas obliczeń
https://youtu.be/TMgFEpTuBvQ?t=1257
Omówienie zadania Count Distinct Slices:
https://youtu.be/TMgFEpTuBvQ?t=1577
Rozwiązanie najbardziej brutalne:
https://youtu.be/TMgFEpTuBvQ?t=2149
Złożoność brutalnego bruta!
Jak poprawić brutalne rozwiązanie n^3 do n^2?
https://youtu.be/TMgFEpTuBvQ?t=2543
Może użyć w zadaniu tablicy – nie musimy użyć set / map – mniejsza złożoność:
https://youtu.be/TMgFEpTuBvQ?t=2700
Początek rozwiązania optymalnego:
https://youtu.be/TMgFEpTuBvQ?t=3058
Symulacja działania naszego algorytmu!
https://youtu.be/TMgFEpTuBvQ?t=3940Hurra! Radość Pokazać
– Jedynka nam bruździła i ją usunęliśmy!!!
https://youtu.be/TMgFEpTuBvQ?t=4967
Dlaczego nasz algorytm jest gąsienicą?
https://youtu.be/TMgFEpTuBvQ?t=5215
Złożoność naszego algorytmu!
– przejdziemy 1-2-3
– liniowa
https://youtu.be/TMgFEpTuBvQ?t=5286
Omówienie kodu – mamy podać tylko funkcję:
– inaczej niż jesteśmy przyzwyczajeni
https://youtu.be/TMgFEpTuBvQ?t=5459
Omówienie kodu:
https://youtu.be/TMgFEpTuBvQ?t=5505Jak wkleić kod / rozwiązanie do Codility?
https://youtu.be/TMgFEpTuBvQ?t=6172
Dostajemy SETKE 100! – POKAZAĆ
https://youtu.be/TMgFEpTuBvQ?t=6286
Rozwiązanie problemu – najdłuższy przedział o sumie 4 – kahoot:
https://youtu.be/TMgFEpTuBvQ?t=6786

Mamy 100% – bardzo dziękuję! POKAZAĆ
– trudne rzeczy, olimpiada, a wy fenomenalnie ogarniacie
https://youtu.be/TMgFEpTuBvQ?t=7322

Mini pięknie spojleruje
Następna 100
– jesteście mistrzami
– nie są łatwe rzeczy
– pięknie, serce rośnie
– możemy paść na podłogę i pełzać  – jesteśmy mistrzami gąsienicy
Gratulacje dla nas wszystkich!
– gąsienica jest dla Was proste
– możecie z pełną wiarą przystępować do Olimpiad
– myślenie nad zadaniami
– codeforces stres
– Ukłony, pokazaliście potęgę
– zajęcia zdalne gdzie nie ma łatwej integracji
– jesteście mistrzami
https://youtu.be/TMgFEpTuBvQ?t=7620Drzewa przedziałowe – zaproszenie na zajęcia Tomka
– są proste
– ten element który mówi, że jesteśmy zaawansowanymi algorytmikami
https://youtu.be/TMgFEpTuBvQ?t=7703
Programowanie OD PODSTAW #5
Team – Codeforces – pętla w pętli
2022.10.24
Link do zajęć:
Zadanie platformy numer 1!
Jak dołączyć do projektów programistycznych?
Zadanie z Codeforces – najpopularniejsza platforma programistyczna
– 600 000 użytkownikó w 2018
– prześcignęła TopCoders
– każdego tygodnia dwa konkursy
– dywizja 2 nasza – zadania A
– zachęcam by tak się uczyć
– każde zadanie które zrobiliśmy to piękny wpis do CV – CV samo się tworzy – będzie jak znalazł
– staż, praca, grupa, szkoła, itp – mamy piękne CV
– konkurs ma 2h – sprawdzamy się w warunkach stresu – przed Olimpiadą
– my dziś zrobimy zadanie Team z Codeforces
– zadania po angielsku – ważny, ćwiczymy, zdejmuje z nas barierę
– a jak będziemy w grupach międzynarodowych to oczywiście będzie po angielsku
– a uczymy się po to by brać udział w najfajniejszych projektach – autonomiczne auta, drony, sklepy samoobsługowe
– żeby brać udział w najbardziej ambitnych projektach
– dlatego dobrze od razu wejść w taką platformę
https://youtu.be/fk04apHH4SQ?t=16
Grupa Olimpiada na facebooku:
https://youtu.be/fk04apHH4SQ?t=303
Zmienne – otwieramy ideone
– definiowanie zmiennej int, podstawienie wartości
https://youtu.be/fk04apHH4SQ?t=372
Czy zmienne są nieskończone?
Przekraczamy zakres int:
 – wypisujemy po kolei 3 liczby aż przekroczymy zakres int
– cały czas ++liczba
– int ma ograniczony zakres
– my mamy pamiętać jaki jest zakres – C++ nie da ostrzeżenia
https://youtu.be/fk04apHH4SQ?t=771
long long  – większe pudełko
– program wypisuje dobrze
 – jak pamiętać int jak pamiętać long long
https://youtu.be/fk04apHH4SQ?t=934
rzutowanie typów
– int na long long
https://youtu.be/fk04apHH4SQ?t=1226
RADOŚĆ POKAZAĆ
– 4 fatalnie, jak to, nie powinno tak być, wow!
– radość z błędu
– mamy -4 a powinno być 4 * 10^6
– dodajemy dwa int i przechowujemy w double
– demonstracja koneiczności rzutowania
– dokładne wyjaśnienie rzutowania
– operuje na int a potem zamienia
– rzutujemy (long long)
– uważać na operacje na krótszych typach i podstawienie pod dłuższy
– druga opcja to wszystkie zmienne dać jako long long i nie trzeba rzutowania
https://youtu.be/fk04apHH4SQ?t=1386
Chodzi o to byśmy rozumieli!
– komentarz uczestnika, że rozumie!
– o to nam chodzi
– jak rozumiemy to kwestie techniczne sami dojdziemy – sprawdzimy zakres z,iennej
– cieszę się że wnikasz, że fascynuje Cię informatyka
https://youtu.be/fk04apHH4SQ?t=1856
Cieszę się że wnikasz i walczysz!
– Zosia, dziewczyna chce sama zrozumieć, dojść
– podchwytliwe, pułapka
– nie było na zajęciach
– nieważne czy ktoś wpadł czy nie
– chodziło o Wasze myślenie
– mogę zastawiać pułapki!
– chodzi by samemu pomyśleć!
– Dziękuję Zosiu!
https://youtu.be/fk04apHH4SQ?t=1959Zadanie pierwsza – wystarcza sprawdzać dzielniki do pierwiastka
– błyskawiczna podpowiedź 30 s
https://youtu.be/fk04apHH4SQ?t=1913
Wytłumaczenie pętli
– suma liczb od 9000 do 9010
– ideone, cały kod
https://youtu.be/fk04apHH4SQ?t=2081Eksperymentujmy
– jeśli nie do końca rozumiemy
– wypiszmy wartości pośrednie
– pokazanie jak
– wtedy się uczymy
Kolejne pytania – kahoot
– ile razy wykona się pętla
– który element w pętli jest raz, który jest warunkiem, poleceniem po, ciałem pętli
https://youtu.be/fk04apHH4SQ?t=2185
Dokładne wytłumaczenie += – kahoot:
 – to jest wow wow wow
https://youtu.be/fk04apHH4SQ?t=2587Przekroczenie int, suma liczb od 2mld do 2mld10 – kahoot:
https://youtu.be/fk04apHH4SQ?t=2654
Omówienie zadanie Team – Codeforces – pętla w pętli
https://youtu.be/fk04apHH4SQ?t=3156
Kod / linki:
https://oki.org.pl/team
Jaki jest nasz pomysł na zadanie?
https://youtu.be/fk04apHH4SQ?t=3423Pomyśl nad architekturą rozwiązania
– najpierw pomyśleć nad układem, strukturą
– nie piszemy od razu tylko się zastanowić nad układem, strukturą
Struktura naszego rozwiązania:
– musimy przejść po zapytaniach
– druga pętla sprawdza jedynki
– mamy 2 pętle
https://youtu.be/fk04apHH4SQ?t=3561
Zaczynamy pisać kod
– wejście i omówienie ideone
https://youtu.be/fk04apHH4SQ?t=4070Piszemy zmienne po angielsku:
– CV
– grupy międzynarodowe
https://youtu.be/fk04apHH4SQ?t=4109
Czemu zmienna która przechodzi po pętli nazywa się i?
https://youtu.be/fk04apHH4SQ?t=4321
Podsumowanie dwóch pętli:
– pętla po problemach
– dla danego problemu wczytijemy 3 liczby
https://youtu.be/fk04apHH4SQ?t=4965
Codeforces – CV – WIELKA RADOŚĆ ? POKAZAĆ!
https://youtu.be/fk04apHH4SQ?t=5649
Olimpiada ZAAWANSOWANA
Maski bitowe
2022.10.13
Link do zajęć: https://youtu.be/pz9AIfZ81H8?t=1166

Czy jest coś większe niż long double?

https://youtu.be/AFjt13eIZl8?t=1141

Int 128 bitów:
– nie gwarantowany na Olimpiadzie
https://youtu.be/AFjt13eIZl8?t=1165

Która biblioteka jest potrzebna na Olimpiadzie?
https://youtu.be/AFjt13eIZl8?t=1345

Jaki maksymalnie możemy użyć setprecision w long double
– realnie do 7
– o jedną więcej niż każą
https://youtu.be/AFjt13eIZl8?t=1507

Jak odczarować maski bitowe?
Maski bitowe!
https://youtu.be/AFjt13eIZl8?t=1872

Kiedy 2^40 nie jest 2^40?
https://youtu.be/AFjt13eIZl8?t=3013

Bitset:
https://youtu.be/AFjt13eIZl8?t=3329

Olimpiada Informatyczna POZIOM II – zajęcia #5 – 2022.10.19
Hashe – Zadanie Korale – Olimpiada Informatyczna
Link do zajęć:
Już są!
– zadania z Olimpiady Informatycznej
– nawet w SP
– test OIJ – do zdobycia 14/ punktów
https://youtu.be/RScESwzLWIE?t=156
Jak przejechać 100 kilometrów?
Jak przejechać 100 kilometrów dziennie?
– pierwszy raz nie ma szans!
– 20 km za miesiąc 40km
– aż się uda
– i wtedy te 10 km będzie spacerek
Olimpiada Informatyczna OD PODSTAW #5 – 2022.10.18
Binary Search w akcji  – szukamy pierwiastka
Link do zajęć: https://youtu.be/pzPACXcSuss?t=5
Gdzie wykorzystuje się Binary Search?
Witam w deszczowy wieczór!
– wyszukiwarka
 – debugowanie
– przydzielanie zasobów
Uczymy się by być w ośrodkach naukowych, Reserach & Development:
– będziemy naszym podstawowym narzędziem
https://youtu.be/pzPACXcSuss?t=61
Jak się motywujemy by poznawać
– Olimpiada Informatyczna
– OIJ
–  w OI-u bierzemy udział bez względu gdzie jesteśmy
– liczy się to co odkryjemy
– nie chodzi o punkty
– już samo zrozumienie zadania to sukces
– dostajemy kolejne narzędzia do optymalizacji procesów
– weźmy udział w teście
Warto wziąć udział w Olimpiadzie
To droga – chcemy w przyszłości
– optymalizować drogi ciężarówek
– znaleźć materiał dający energię
– w jakiej kolejności czynności przy budowie statku
 – jeleń i las
 – jest sens wystartować!
– na szkole średniej ta przygoda się skończy
– będziemy w R&D gigantycznych firm Dell, HP
– powstają też w Polsce
– po się tu przygotowujemy
– po to piszemy Olimpiadę
– nieważne czy zdobędziemy 0 czy 300 punktów
– ważne to czego się nauczymy
https://youtu.be/pzPACXcSuss?t=192
Maciek Wiśniewski
 – dużo zabawy
– przyjemne w rozwiązywaniu
 – nie zniechęcajmy się jak jesteśmy w SP
– warto zrobić te zadania
– nie porównujemy się do innych, porównujemy się do siebie
Test OIJ – jak się zapisać?
https://youtu.be/pzPACXcSuss?t=399
Zadania OI:
– gdzie są?
– przeczytajmy, pomyślmy przed snem
– Maciek myśli wszędzie, na lekcji, przed zaśnięciem
https://youtu.be/pzPACXcSuss?t=421
OIJ – co trzeba zrobić – szczegółowy opis:
– test
– zadania
– niezależne rzeczy
https://youtu.be/pzPACXcSuss?t=561
Programowanie #6
Gąsienica
– warto się poczołgać jak gąsienica
– jej ruch jest bardzo sprytny
– inspirujący dla algorytmiki
https://youtu.be/pzPACXcSuss?t=6424
Programowanie OD PODSTAW #5
Pętla – dyskusja, quizy
2022.10.17
Link do zajęć: https://youtu.be/rZb8EsSnHU8?t=3
Kot lubi nudę?
Nikt nie lubi nudy!

– nikt z nas nie lubi nudy, powtarzać się
– nie lubimy wracać się
– oddzielenie grochu od maku – masakra
– na szczęście są komputery
– dla nich nie jest problemem by powtarzać w nieskończoność to samo.
– wyszukiwać, znajdować
– bardzo to lubią!
https://youtu.be/rZb8EsSnHU8?t=3

Przykłady gdzie trzeba powtarzać:
– średnia z ocen, dodanie po kolei, podzielenie
– potem powtórzyć policzenie ocen dla wszystkich przedmiotów
– kolejna pętla to wszystkie osoby w szkole
– liczenie wypłaty, podatku, powtarza i liczy
– wypłata w bankomacie, 100 zł w 20 – w pętli policzyć pieniądze
– puszczenie w pętli muzyki – program to powtarza
– wszędzie jest powtarzanie
– nie jest to dla niego żaden kłopot
https://youtu.be/rZb8EsSnHU8?t=49

Kto z nas lubi odkurzać?
– komputera który steruje odkurzaczem nie ma problemu by potarzać raz przy razie
– nikt z nas nie lubi!
– dla komputera nie ma problemu
– roboty samobieżne to nic innego jak programowanie!
– pomalować płot sztacheta prz sztachecie – może ktoś z nas wymyśli takie urządzenie!
– czujnik ruchu na włamywacza, w pętli wysyła fale i sprawdza czy wróciła odpowiednia
– wszędzie jest powtarzanie, wszędzie komputery powtarzają!

Samobieżny wózek w magazynie
– czyste powtarzanie
– powtarza – jedź dopóki nie przekroczysz linii, nie zobaczysz czegoś z boku
– nie silnik zrobi jeszcze jeden po rok bo nie ma informacji z czujnika że inaczej
– cały czas ruszaj kołami aż nie otrzymasz sygnału że koniec
– programowanie takich robotów to fascynująca sprawa
– tego typu projekty to jest coś co jest przed nami!
– małym kroczkiem do przodu
– możemy marzyć i być w takich projektach!
– które konstruują takie roboty, dodają nowe funkcjonalności
– to jest przed nami – Ci którzy je projektują też byli w naszym wieku i też zaczynali!
– robili krok po kroku i dązyli do marzeń
https://youtu.be/rZb8EsSnHU8?t=254 

Opis Challenge #5:
https://youtu.be/rZb8EsSnHU8?t=435

Zajęcia #6 – pętla w pętli!
https://youtu.be/rZb8EsSnHU8?t=492

Quiz warunek
– opis dokładnego programu
– warunek wpływa tylko na kolejną instrukcję
https://youtu.be/rZb8EsSnHU8?t=560

Czysty kod!
Czy formatowanie ma wpływ na kod?
– dlaczego formatujemy wcięciami
– nie dla komputera
– formatujemy dla nas – clean code
https://youtu.be/rZb8EsSnHU8?t=791

Czy miesiąc po napisaniu kodu dalej wiesz o co w nim chodzi?
– dyskusja z chatem
– trochę fun
https://youtu.be/rZb8EsSnHU8?t=1055

Deklaracja zmiennej char
– zmienne pudełka – typ
https://youtu.be/rZb8EsSnHU8?t=1109

Jak powinniśmy nazywać zmienne?
– zmienne powinny oznaczać to czym ona jest
– nigdy nie nazywajmy zmiennych k, k1
– nie jest to wydatek czasowy a nawet oszczędność czasu
https://youtu.be/rZb8EsSnHU8?t=1180

Zgodnie z clean code nie powinno być wymagane komentarzy
https://youtu.be/rZb8EsSnHU8?t=1321

Obrzydliwy błąd – pojedyncze równa się w warunku
– dokładne wyjaśnienie
– wyjaśnienie, że warunek potrzebuje 0 lub coś więcej niż zero
https://youtu.be/rZb8EsSnHU8?t=1355

++i – wytłumaczenie
inkrement w C++
https://youtu.be/rZb8EsSnHU8?t=1627

C++ ++i – mały fun
– także wytłumaczenie ++i
https://youtu.be/rZb8EsSnHU8?t=1734

Pętla – początek – wejście do ideone
– omówienie przykładowego kodu
https://youtu.be/rZb8EsSnHU8?t=1886

Pętla czyli męczy mnie powtarzanie!
Pętla – chcemy żeby komputer powtarzał
– komputer ma wypisać liczby od 60 do 70
– ja zmęczyłem się jak wypisywałem te liczby
– for czyli pętla
– zmienna i będzie się zmieniać
– w pętli mamy 3 rzeczy – początek, do kiedy, co ma się zmieniać po każdej pętli oraz sama pętla – dokładne omówienie
https://youtu.be/rZb8EsSnHU8?t=1946

Symulacja ręcznie działania pętli, zmiany wartości zmiennych:
https://youtu.be/rZb8EsSnHU8?t=2475

Zmiana wartości początkowych i symulacja
https://youtu.be/rZb8EsSnHU8?t=2803

Co gdy zmieni się warunek pętli?
https://youtu.be/rZb8EsSnHU8?t=2921

Co gdy zmiana inkrementu?
– na i+2 – co 2 i
– dokładna symulacja
https://youtu.be/rZb8EsSnHU8?t=3014

++i ++i zamiast i=i+2
https://youtu.be/rZb8EsSnHU8?t=3214

Wnikajmy!
POKAZAĆ – Wnikajmy!
– podziękowanie dla Janka za wnikanie
– w ten sposób się uczymy!
– eksperymentujmy! – jak nie wiemy!
-piszcie na maila
https://youtu.be/rZb8EsSnHU8?t=3259
Wartość zmiennej za pętlą:
– symulacja że i jest poza pętlą 70 a w pętli do 68
https://youtu.be/rZb8EsSnHU8?t=3273
Jak dojść do challenge Programowanie OD PODSTAW?
Przykład pętli która leci w dół – inkrement –i:
https://youtu.be/rZb8EsSnHU8?t=3613
Pokazać Radość
– pięknie nam wypisał 100 liczb!
– zgodzicie się ze to jest bardzo fajne
Pętla for powtarza jedną instrukcję!
Radość – zlały nam się liczby bo for powtarza jedną instrukcję, nie powtarza spacji
Reszta w C++:
– dokładne wyjaśnienie reszty
 – dokładne wyjaśnienie dzielenia w liczbach całkowitych – bez reszty
https://youtu.be/rZb8EsSnHU8?t=3961
Co to jest liczba pierwsza?
https://youtu.be/rZb8EsSnHU8?t=4270
Jak kazać komputerowi sprawdzić czy liczba jest pierwsza?
– dzielimy przez wszystko od 2 do n-1
https://youtu.be/rZb8EsSnHU8?t=4367
Olimpiada ZAAWANSOWANA
Dijkstra
2022.10.13
Link do zajęć: https://youtu.be/pz9AIfZ81H8?t=1166

Zadania Aquapark:
– metryka Manhattan
https://youtu.be/pz9AIfZ81H8?t=1166

Algorytm Dijkstry:
https://youtu.be/pz9AIfZ81H8?t=2273

Zadanie Teleporty – grafy warstwowe:
https://youtu.be/pz9AIfZ81H8?t=2833

Do czego wykorzystuje się grafy warstwowe?
https://youtu.be/pz9AIfZ81H8?t=3312

W którym momencie pisać podzadania na II etapie zamiast wzorcówki?
– podzadania mogą nam pomóc – mogą dać wskazówki
https://youtu.be/pz9AIfZ81H8?t=4156

Siła konsekwencji:
– czy dokończysz projekt który nie ma sensu?
https://youtu.be/pz9AIfZ81H8?t=4219

Złożoność pamięciowa mapy:
– jest pamięciożerna
https://youtu.be/pz9AIfZ81H8?t=4362

Olimpiada Informatyczna POZIOM II – zajęcia #4 – 2022.10.12
Hashe – Zadanie Repeating Substring – paradoks urodzin
Link do zajęć: https://youtu.be/dfpERcmogNM?t=18
Hashe #2 – kontynuacja
https://youtu.be/dfpERcmogNM?t=18
Zaczyna się Olimpiada Informatyczna!
– weź udział
– nic nie kosztuje
– wstęp na studia
– początek pięknej przygody?
https://youtu.be/dfpERcmogNM?t=142
Ile czasu trzeba się uczyć by być w II etapie OI-a?
– 3-4 zadania tygodniowo, parę miesięcy
https://youtu.be/dfpERcmogNM?t=540
Czy duża jest różnica między OIJ oa OI?
– I etap OIJ jest łatwy
https://youtu.be/dfpERcmogNM?t=612
Czy można się włamać na konto?
– nie tylko hash wystarczy
– prawdopodobieństwo złamania hasha
https://youtu.be/dfpERcmogNM?t=1369
Omówienie zadania Repeating Substring:
https://youtu.be/dfpERcmogNM?t=1504
CSES – Ulubiona platforma Tomka – krótka konkretna treść:
https://youtu.be/dfpERcmogNM?t=1512
Początek omówienia zadania Repeating Substring:
https://youtu.be/dfpERcmogNM?t=1543
Czy jeśli istnieje powtarzające podsłowo o długości 101 to istnieje powtarzające się podsłowo o wielkości 29?
Czy powtarzanie się podsłowa jest monotoniczne? -> można użyć Binary Search
https://youtu.be/dfpERcmogNM?t=2280
Czy istnieje magiczna wróżka która powie nam czy 2 słowa są równe?
https://youtu.be/dfpERcmogNM?t=2699
Stosujemy hashe!
– będziemy trzymać hashe na strukturze która powie nam czy hash się powtórzył
– jeśli tak to podsłowo się powtórzyło
– map lub set
https://youtu.be/dfpERcmogNM?t=2931
Czy nie łatwiej porównać od razu stringi?
– nie, złożoność nam się wysypie
– każde porównanie to porównanie wszystkich znaków
– hashe porównują liczby
– hashe są szybkie
– hashe zbijają złożoność!
https://youtu.be/dfpERcmogNM?t=3067
Jakie jest prawdopodobieństwo kolizji hashy?
Bawimy się! – Paradoks urodziny na żywo
– czy wśród osób na czacie są 2 które mają ten sam dzień i miesiąc urodzin?
Paradoks dnia urodzin – na czym polega?
https://youtu.be/dfpERcmogNM?t=3571
Jakie jest prawdopodobieństwo, że 2 hashe się powtórzą?
Szansa na wywalenie się – powtórzenie hashy jest ponad 99% – mamy prawie pewność!
– jak to rozwiązać, zwiększyć liczbę hasy z 10^9 do 19^18
https://youtu.be/dfpERcmogNM?t=3930 
Jak zwiększyć liczbę hashy?
– nie możemy zmienić modulo do 10^18 – bo mnożenie wyjdzie poza long long
– weźmiemy parę hashy – dwa różne modulo
https://youtu.be/dfpERcmogNM?t=4143
Jakie jest prawdopodobieństwo czy w klasie są 2 osoby o tym samy dniu urodzin?
– 50% dla klasy 23 osobowej
– dla klasy 30 osobowej to już około 70%
https://youtu.be/dfpERcmogNM?t=4287
Dlaczego to jest paradoks dnia urodzin?
– bo wydaje się, że potrzeba 180 osób by 2 miały ten sam dzień urodzin
– a potrzeba tylko 23 osoby by mieć szansę 50% na urodziny 2 osób tego samego dnia
https://youtu.be/dfpERcmogNM?t=4409
Podsumowanie jak wybierać hashe
https://youtu.be/dfpERcmogNM?t=4445
Jak będzie działać funkcja Check dla dwóch różnych hashy?
– podwójne hashe – zamiast jednej liczby będziemy mieć dwie różne liczby
https://youtu.be/dfpERcmogNM?t=4534
Jak wygląda rozwiązanie zadania do tej pory?
– wymyślona funkcja check
– szukamy ostatniej jedynki – najdłuższe powtarzające się słowo
https://youtu.be/dfpERcmogNM?t=4599
Jak działa funkcja Check?
https://youtu.be/dfpERcmogNM?t=4635 
Jak jest złożoność funkcji Check dla słowa o długości n?
– O(n*Log^2)
https://youtu.be/dfpERcmogNM?t=4706
Podsumowanie rozwiązania zadania:
https://youtu.be/dfpERcmogNM?t=4948
Kiedy możemy użyć pojedynczego hasha a kiedy musimy użyć podwójnego hasha?
https://youtu.be/dfpERcmogNM?t=5509
Hashe działają na prawdopodbieństwie
– mamy praktycznie pewność, ale nie jest to 100%
https://youtu.be/dfpERcmogNM?t=5611
Dobijmy to zadanie!
– poznajmy hashe!
– zadania tekstowe to często hashe!
https://youtu.be/dfpERcmogNM?t=5659
Warto!
– jest binary search, hashe
– ciężkie zadania – da statyfkację!
https://youtu.be/dfpERcmogNM?t=6822
Czy hashe mogą się pojawić w OIJ?
– może będzie można wykorzystać
– algorytm bardziej pod OI-a
https://youtu.be/dfpERcmogNM?t=5756
Hashe w quizie:
– co wynika, że 2 hashe są różne?
https://youtu.be/dfpERcmogNM?t=6020
Ile minimalnie razy muszę rzucić kostką by mieć 50% szans że będę miał dublet?
– wytłumaczenie paradoksu urodzin
https://youtu.be/dfpERcmogNM?t=6266

Olimpiada Poziom II – zajęcia #5:
https://youtu.be/dfpERcmogNM?t=100

Olimpiada Informatyczna OD PODSTAW #4 – 2022.10.11
Binary Search
Link do zajęć: https://youtu.be/81P5ZalDPoc?t=10
Przygotowujemy się do fascynującej przygody na całe życie!
– poznamy jeden z najbardziej niesamowitych pomysłów!
– pomysł na który każdy z nas spokojnie by wpadł
– przyspiesza rozwiązanie tysięcy problemów
– olimpijskich ale nie tylko
 – nieustannie zadziwia
https://youtu.be/81P5ZalDPoc?t=10

Mamy milion pudełek – nie zajrzymy do 500 tysięcy z nich a będziemy wiedzieć, że tam nie ma tego czego szukamy!

Jak nie zajrzeć, a wiedzieć!
Pomysł jest najważniejszy!

– to pomoże komputerowi
– komputer zamiast przeszukiwać miliardy miliardów lat znajdzie to czego szuma w ułamku sekundy
– pomysł jest najważniejszy!
– potęga siłą
– patrzmy dookoła – jak rozwiązujemy olimpiadę ale także w życiu, dookoła
– olimpiada to wymyślanie,
https://youtu.be/81P5ZalDPoc?t=39

Olimpiada to wymyślanie!
– zastanawianie się czy komputer musi to wszystko liczyć?
Każde rozwiązanie jest dobre:
– na Olimpiadzie czy w życiu
– potem usprawniamy
– zapisujemy obserwacje
– nawet banalne
– bo z nich może wynikać to że komputer przyspieszy z milionów lat do sekund
– czy wszystko trzeba policzyć
– przewodnik po Rzymie też miał wiele ulepszeń, poprawek
https://youtu.be/81P5ZalDPoc?t=89To czego się uczymy to co poznajemy to wstęp do Resaerch and Development
– Ci którzy są starsi od nas już tam często są
– wykorzystamy te same mechanizmy
– chodzi rozwiązanie problemu
– w życiu nie będziemy wiedzieć czy to już jest najlepsze
– w życiu zawsze można być bardziej kreatywnym
https://youtu.be/81P5ZalDPoc?t=148
Czy zaczynając na początku października od zera można przejść do II etapu?
– oczywiście
– przykładem jest Szymon Hajderek nasz prowadzący
– można da się
– trzeba wejść w problemy algorytmiczne
– wykształcić nasze pomysły – ona są najważniejsze – częściej niż znane algorytmy
– wyjść od rozwiązania bazowego i je poprawiać
Wyjaśnienie logarytmu:
– log2 z 32
https://youtu.be/81P5ZalDPoc?t=484
Nasz prowadzący Michał Szeliga – przedstawienie
https://youtu.be/81P5ZalDPoc?t=790
Ma pomysł ale nie wie jak przekuć w kod – co robić?
– więcej kodować
– praktyka czyni mistrza
– poszukiwać w necie, odkrywamy
https://youtu.be/81P5ZalDPoc?t=840
Binary Search:
– nasz temat
– najczęstszy algorytm, najważniejsza technika
https://youtu.be/81P5ZalDPoc?t=950
Początek zadania
– czy wartość występuje w ciągu?
– znajdź indeks o wartości
Omówienie rozwiązania brutalnego:
– dla danego zapytania sprawdzamy po kolei z wartościami w tablicy
https://youtu.be/81P5ZalDPoc?t=1538
Złożoność rozwiązania brutalnego:
https://youtu.be/81P5ZalDPoc?t=1786
Binary Search wymaga ciągu posortowanego:
https://youtu.be/81P5ZalDPoc?t=2056
Omówienie Binary Search – od tego zacząć!
– zgadywanie w połowie
– odrzucamy połowę nie sprawdzając
https://youtu.be/81P5ZalDPoc?t=2155
Piękno Binary Search – wyjaśnienie od początku:
https://youtu.be/81P5ZalDPoc?t=2333
To daje RADOŚĆ!
Pokazać RADOŚĆ braku sprawdzania prawej połowy!
– pół miliarda nie sprawdzamy!
Binary Search to wyszukiwanie słownikowe:
– otwieramy słownik w połowie i tak dalej…
https://youtu.be/81P5ZalDPoc?t=2606
Binary Search występuje w wielu problema olimpijskich i w życiu:
– warto zrozumieć
https://youtu.be/81P5ZalDPoc?t=2769
Złożoność Binary Search:
https://youtu.be/81P5ZalDPoc?t=2798
Co to jest duże O – złożoność?
https://youtu.be/81P5ZalDPoc?t=3151
Piękna rzecz!
Zamiast miliona operacji wykonujemy 17 operacji!
– z miliardów lat zmniejszamy liczbę operacji do ułamka sekundy!
https://youtu.be/81P5ZalDPoc?t=3304
Do czego przydaje się Binary Search:
– coś najmniejszego / coś największego
– wyszukiwanie po wyniku
https://youtu.be/81P5ZalDPoc?t=3505
Jak wejść do treści zadania – zadanie jest z kursu i trzeba się
– być zalogowanym na Codeforces
– zapisać się do kursu edukacyjnego
https://youtu.be/81P5ZalDPoc?t=3883
Symulacja działania kodu Binary Search:
– odrzucenie polega na przesunięciu początku lub końca
https://youtu.be/81P5ZalDPoc?t=4460
RADOŚĆ pokazać brawa – mamy 100!
– brawa
– cv
– 100 z codeforces’ów
– możemy pokazać znamy binary search możemy przyspieszać
– gratulacje dla nas wszystkich
https://youtu.be/81P5ZalDPoc?t=5387
Podsumowanie kodu Binary Search:
https://youtu.be/81P5ZalDPoc?t=5546
Jak często pojawia się Binary Search na Olimpiadzie?
https://youtu.be/81P5ZalDPoc?t=5784
Kahoot – wyjaśnienie Binary Search:
https://youtu.be/81P5ZalDPoc?t=6446 
Programowanie OD PODSTAW #4
Animacja spadającej piłki
2022.10.10
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
Informatyka to piękno!
– animacja / grafika
– drony tworzące piękne rysunki
– w edukacji – my zrobimy symulację spadającej piłki
– samochody
– sztuczna rzeczywistość, reklamy
– jeśli tylko nas to fascynuje to zapraszam do tej pięknej podróży
– zapraszam do informatyki która jest piękna i potrzebna
– pomaga zrozumieć zjawiska fizyczne
– jak wejść w taką informatykę
– kroczek po kroku, bawić się, challenge
– nadaje sens naszemu życiu, to co robimy pomaga, służy innym
https://youtu.be/m_sSmhvS1RQ?t=14
Omówienie zadania Piłka – animacja spadającej piłki:
https://youtu.be/m_sSmhvS1RQ?t=1048
Lepiej jest pisać gry niż w nie grać!
https://youtu.be/m_sSmhvS1RQ?t=1070Rozszerzenia plików – robimy by były widoczne:
https://youtu.be/m_sSmhvS1RQ?t=1237
Tworzymy plik index.html w dowolnym katalogu:
– otwierany domyślnie przez przeglądarkę
https://youtu.be/m_sSmhvS1RQ?t=1347
Rozszerzenia naszego pliku musimy być *.html
Plik index.html otwieramy na 2 sposoby:
– w przeglądarce
– w edytorze tekstowym
https://youtu.be/m_sSmhvS1RQ?t=1537
Otwieramy plik index.html Visual Studio Code?
https://youtu.be/m_sSmhvS1RQ?t=1668
Podsumowanie naszych działań:
– Pokazuj rozszerzenia polików
– Tworzymy index.hml
– Otwieram ten plik przy pomocy przeglądarki
– Otwieram przy pomocy notatnika
– Tu będziemy pisać kod
– Jak mamy lepszy edytor to w tym edytorze
– Na razie plik jest pusty
https://youtu.be/m_sSmhvS1RQ?t=1821Tworzymy stronę www.
Tekst: Logika zaprowadzi Cię z punktu A do punktu B.
Wyobraźnia zaprowadzi Cię wszędzie.
Opis najprostszej strony www / index.html z prostym tekstem:
https://youtu.be/m_sSmhvS1RQ?t=2058

Nasz cytat z zajęć:

Logika zaprowadzi Cię z punktu A do punktu B.
Wyobraźnia zaprowadzi Cię wszędzie.
Cytat Einstein – podziękowanie dla Adama
Pokazujemy białe płótno:
– nie chcemy tekstu w części body
– chcemy płótno / canvas
https://youtu.be/m_sSmhvS1RQ?t=2656
Płótno nam się narysowało na biało – nie widać:
– czy narysował się?
https://youtu.be/m_sSmhvS1RQ?t=2902
Zamalowujemy canvas na żółto:
– współrzędne planszy
– parametry wypełniania, rysowanie prostokąta
https://youtu.be/m_sSmhvS1RQ?t=2954
WIELKA RADOŚĆ z prostego żółtego prostokąta
– nawet zwykły żółty prostokąt narysowany przez nam może dać nam radość!
– pięknie nam narysował
Podsumowanie – czego potrzebujemy by mieć piękny, żółty prostokąt?
– 3 rzeczy
– index.html a nie index.txt
– otworzyć w edytorze tekstu / przeglądarce
– wpisać w notatniku tekst strony www
Rysujemy podłogę – niebieski prostokąt:
https://youtu.be/m_sSmhvS1RQ?t=3266
RADOŚĆ z niebieskiej podłogi!
https://youtu.be/m_sSmhvS1RQ?t=3573
Podsumowanie kodu do niebieskiej podłogi:
https://youtu.be/m_sSmhvS1RQ?t=3682
Bawmy się! Eksperymentujmy!
– zmieniamy parametry prostokąta
– wiemy jak działają parametry
– WTEDY OKDRYWAMY!
– jak psujemy to wtedy wiemy jak działa nasza funkcja
https://youtu.be/m_sSmhvS1RQ?t=3735
RADOŚĆ – pokazać – eksperymentowania!
– w programowaniu fajnie się eksperymentuje, psuje, można wrócić do przedniego kodu!
https://youtu.be/m_sSmhvS1RQ?t=3772
Rysujemy piłkę!
https://youtu.be/m_sSmhvS1RQ?t=3859Na czym polega rysowanie piłki?
Radość czerwonej piłki!
– mocne jest
https://youtu.be/m_sSmhvS1RQ?t=4102
Na czym polega ruch?
– jest rysowany kilkadziesiąt kilkaset razy na sekundę…
https://youtu.be/m_sSmhvS1RQ?t=4340
JavaScript – tworzymy animację:
– funkcja Animacja
https://youtu.be/m_sSmhvS1RQ?t=4364
POKAZAĆ – dzieje się magia:
– 100 razy na sekundę wywołuj kod Animacja
– nie ma ruchu
https://youtu.be/m_sSmhvS1RQ?t=4464
Ależ RADOŚĆ
RADOŚĆ ze spadającej piłki!
– WIELKA RAROŚĆ
– pokazać
– leci, przebija ziemie!
https://youtu.be/m_sSmhvS1RQ?t=4601
W JavaScript jedna rzecz źle – jeden znak – i już wszystko nie działa!
– jak znajdować błąd?
https://youtu.be/m_sSmhvS1RQ?t=4856
Wytłumaczenie kodu animacji:
– następne rysowanie przesunięte o prędkość
– to cała animacja
https://youtu.be/m_sSmhvS1RQ?t=4828
Kolizja – piłka odbija się od Ziemi:
– detekcja kolizji
https://youtu.be/m_sSmhvS1RQ?t=4971WIELKA RADOŚC – POKAZAĆ
– piłka odbija się ale leci w kosmos
– jedzie jedzie
https://youtu.be/m_sSmhvS1RQ?t=5105Challenge #4:
Olimpiada ZAAWANSOWANA
Grafy I
2022.10.06
Link do zajęć: https://youtu.be/LeTSxzf0XuI?t=2015

Jak znak końca linii w C++?
– ‘\n’ w pojedynczych cudzysłowach by znak nie string
https://youtu.be/LeTSxzf0XuI?t=2015

Szlaczek bez odrywania
Jak narysować szlaczek bez odrywania ręki?
Narysuj szlaczek bez odrywania ręki
Ścieżka Eulera
– każdą krawędzią przejść raz!
https://youtu.be/LeTSxzf0XuI?t=2687

Algorytm Eulera:
https://youtu.be/LeTSxzf0XuI?t=3236

Do czego przydaje się algorytm Eulera?
https://youtu.be/LeTSxzf0XuI?t=4357

Zadanie Plus – minus 1
https://youtu.be/LeTSxzf0XuI?t=4819

Olimpiada Informatyczna POZIOM II – zajęcia #3 – 2022.09.28
Hashe – Zadanie Caps Lock
Link do zajęć: https://youtu.be/WZojS2DHEK0?t=21
Poprzednie zajęcia – Potyczki Algorytmiczne
Na zajęciach pomysł który ma nazwę!
Pomysł który ma nazwę!
– hashe
– użyliśmy hashowania logując się do librusa, banku, dowolnego serwisu
https://youtu.be/WZojS2DHEK0?t=41
Zaproszenie na zajęcia #4:
– Hashe rozdzielone na 3 zajęcia!
https://youtu.be/WZojS2DHEK0?t=106
Co się dzieje gdy logujesz się do banku?
Co to jest hashowanie?
– logowanie się do youtube’a
– hasło zamieniamy na liczbę 16-tkową i to wysyłamy
– nie można odwrócić tego procesu
– łatwo porównywać
– pokazanie hash-a od każdego słowa
– SHA-1 to około 20 bajtów
Co to jest hashowanie?
Przypisanie napisowi liczby
Gdzie jest potrzebne hashowanie?
– sprawdzenie czy plik nie jest zmieniony w trakcie pobierania
– różne hashe – treść pliku została zmieniona
– pokazanie hasha dla pliku w internecie
https://youtu.be/WZojS2DHEK0?t=447
Czy hashe mogą się powtórzyć?
– chcemy szybko porównywać
– hash do miliarda ale tekstów jest dużo więcej
– hashe różnych słów mogą się powtózyć
– to są kolizje
– tego nie chcemy
https://youtu.be/WZojS2DHEK0?t=640
Dlaczego hashowanie – podsumowanie:
– bezpieczeństwo – trudno odtworzyć hasło z hasha
– szybkie porównywanie
– na zajęciach szybkie porównywanie
https://youtu.be/WZojS2DHEK0?t=757
Czy mając hash możemy go rozszyfrować?
Omówienie zadania Caps Lock:

https://youtu.be/WZojS2DHEK0?t=1623

Kod / linki:
https://oki.org.pl/caps-lock/

Hashujemy ręcznie!
Co to jest hashowanie?
– przypisywanie napisom liczb..
– zamieniamy literki na ASCII
https://youtu.be/WZojS2DHEK0?t=2202Challenge #3:
https://youtu.be/WZojS2DHEK0?t=6998

Olimpiada Informatyczna OD PODSTAW #3 – 2022.10.04
Jak wykorzystać Sumy prefiksowe – zadanie Dziwne Cząsteczki
Link do zajęć: https://youtu.be/jsaVtx5WQv0?t=14
Co jest naszym celem?
Dlaczego odkrywamy?
– by gigancie tego świata – facebooki, google chcieli nas do rozwiązania problemów
Dlaczego się spotykamy?
– przygotowujemy się do olimpiady informatycznej
– komputery wolne
– chcemy by komputer znalazł lek, ekologiczny plastik, najlepszą strategię inwestycyjną
https://youtu.be/jsaVtx5WQv0?t=14
Olimpiada kontra życie!
Olimpiada to takie samo – prawdziwe rozwiązywanie problemów!
– Komputery mogą znaleźć lek ale za miliardy miliardów lat
– to nas nie interesuje
– chcemy by zrobiły to szybciej
– Tak jak na Olimpiadzie!
– We wszystkich zadaniach najpierw brut prosty
– nie wyranba się w 1s olimpiadowej czyli od miliona do 100 milionów operacji
– staramy się przyspieszać
– i dokładnie tak chcemy robić w przyszłości
– jeżeli znalezienie trasy dla 10 tysięcy ciężarówek zajmuje 50h a my to skrócimy do 1h to będzie fantastycznie!
– potem może do 1 minuty
– po to tak naprawdę się spotykamy!
– by te same problemy które rozwiązujemy na Olimpiadzie byśmy rozwiązywali w dorosłym życiu
– to będa takie same problemy
– też będziemy chcieli polepszyć pomóc temu komputerowi by on pomógł nam wszystkim i rozwiązał ten problem szybciej
– my pomożemy jemu by nie rozpatrywał wszystkich możliwości wszystkich przypadków
– a on będzie miał nuż tyle mocy by ten problem rozwiązać
– w odpowiednim czasie
– to piękna perspektywa, perspektywa w której my temu światu pomagamy
– jest radość ludzi, że jest lek, chora osoba, chore dziecko,  może wyzdrowieć, jest radość ludzi, matki, ojca
– jest nasza gigantyczna radość
– że wymyśliliśmy, nie udało się
– sami w grupie w zespole
– korzystając z a lgorytmów które poznajemy
– rozwiązaliśmy problem – niesamowita satysfakcja
https://youtu.be/jsaVtx5WQv0?t=42
Ten który daje szczęście innym sam na pewno jest szczęśliwy!
Mamy pierwsze narzędzie do przyspieszania komputera!
– to pierwsze narzędzie, wiertarka, które poznaliśmy
– żeby zmusić komputer żeby robił coś szybko
– żeby rozwiązał problem w czasie który nas satysfakcjonuje! – który mamy
–  na Olimpiadzie to jest 1 sekunda, w życiu może minuta może godzina może rok
https://youtu.be/jsaVtx5WQv0?t=210
Do czego przydają sumy prefiksowe?
– realnie wykorzystywane
– pamięć współdzielona
– w niektórych algorytmach sortowania
– w tworzeniu rankingu
– jak będziemy pracować nad systemami operacyjnymi, aplikacjami bankowymi, obsługa pacjenta
– wszędzie będziemy w stanie to wykorzystać!
https://youtu.be/jsaVtx5WQv0?t=245
Potrzeba nas!
Przed nami piękna przyszłość!
– praca w firmach które mają Research and Development – Facebook / Google
– by wyszukiwarka działała szybko
– by proponowane posty były jak najlepsze w jak najkrótszym czasie na facebooku
– wszędzia tam potrzeba szybkich algorytmó, pomysłów
– potrzeba nas!
– po to tu jesteśmy by być w przyszłości w ośrodkach Research and Development, ośrodkach naukowych
– może na uniwersytetach?
– tam będziemy te problemy rozwiązywać
– dla takiej przyszłości
– życie ma być przygodą
– różnica jest taka że w realnych problemach nie będziemy wiedzieć jakie jest najlepsze rozwiązanie
– na Olimpiadzie wiemy że jakieś jest i musimy je zgadnąć
– ale problemy będą te same
https://youtu.be/jsaVtx5WQv0?t=285
Ośrodki Reserach and Development powstają też w Polsce!
– są w w Anglii  / USA
– Powstaje w Łodzi dla jednego z gigantów
– Ponad 300 osób będzie zatrudnionych
– przyszłość jest przed nami!
https://youtu.be/jsaVtx5WQv0?t=361
Zadanie Dziwne cząsteczki jest bardzo mocne!
– jeśli będzie w stanie je zrobić to jesteście mocni!
– jedno z najtrudniejszych na finale OIJ lub I / II etap OI-a
– bardzo trudne zadanie
– możemy wieloma metodami, my zrobimy to sumami prefiksowymi
– jest ciężkie – prośba o wysiłek
– Jak ogarniecie – wielki krok do przodu
– jeśli po zajęciach sami zrobicie to danie to moje ukłony!
https://youtu.be/jsaVtx5WQv0?t=968
Przedstawienie Patryka Bulińskiego
https://youtu.be/jsaVtx5WQv0?t=1038
Omówienie zadania Dziwne Cząsteczki:
https://youtu.be/jsaVtx5WQv0?t=1206
Kod: https://oki.org.pl/dziwne-czasteczki/Przykład tłumaczący zadanie
https://youtu.be/jsaVtx5WQv0?t=1393Rozwiązanie brutalne:
https://youtu.be/jsaVtx5WQv0?t=1730
Zadanie z Olimpiady!
Oddziaływania możemy podzielić na 2 rodzaje:
https://youtu.be/jsaVtx5WQv0?t=2450
Wyjaśnienie 2:
https://youtu.be/jsaVtx5WQv0?t=4085
Oddziaływania liczymy tylko raz – dla danej cząsteczki z poprzednimi w lewo:
https://youtu.be/jsaVtx5WQv0?t=2892
Oddziaływanie z mocą k – jak liczymy
Oddziaływanie z mocą k – jak tworzymy sumy prefiksowe

https://youtu.be/jsaVtx5WQv0?t=3187

Podsumowanie liczenia oddziaływania z mniejszymi równymi k:
https://youtu.be/jsaVtx5WQv0?t=3598Ile jest liczb które oddziałują o więcej niż k:
https://youtu.be/jsaVtx5WQv0?t=3723Jak liczymy ile jest liczb dalej niż k od danej liczny?
https://youtu.be/jsaVtx5WQv0?t=3979
Jak liczymy tablicę zlicz?
https://youtu.be/jsaVtx5WQv0?t=4171
Liczymy sumę oddziaływań z cząsteczkami dalszymi niż k:
https://youtu.be/jsaVtx5WQv0?t=5018
Analiza działania algorytmu na przykładzie:
https://youtu.be/jsaVtx5WQv0?t=5632
Analiza kodu który rozwiązuje nasze zadanie:
https://youtu.be/jsaVtx5WQv0?t=6990
Mamy kłopot – przeanalizujemy sami przykład
https://youtu.be/jsaVtx5WQv0?t=8042Złożoność naszego rozwiązania:
– sortowanie w c++ jest szybkie
https://youtu.be/jsaVtx5WQv0?t=8133
Zapowiedź Olimpiada OD Podstaw #4:
https://youtu.be/jsaVtx5WQv0?t=9190
Programowanie OD PODSTAW #3
Uczymy komputer decyzji
2022.10.03
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
Decyzje!
– uczymy komputer
– bo sami je podejmujemy
– ubieranie (pogoda, gdzie), co zjeść (pora dnia, na co mamy ochotę), gdzie zamieszkać (praca, szkoła, jak się nam podoba)
– my jako ludzie podejmujemy dużo decyzji
– ale komputer też musi podejmować decyzje
– czy pozwolić wypłacić pieniądze, nawigacja (jaka droga)
– my jako programiści mówimy mu jakie decyzje ma podejmować
– odpowiedzialność, ważna praca informatyka – samochody kierowane na górsikie ścieżki
– warto wnikać, warto być mocnym, nasze programy by nie miały błędów
– gry – czy nie wyszliśmy poza ekran, kolizje, ile żyć
https://youtu.be/lxiIPZvPgKI?t=11
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
Jeśli sami będzie sami pisać challenge, robić challenge:
– po 2-3 dniach dostaniemy mocy!
– liczy się zrobimy samemu
– zachęcamy do quizów
– to daje nam power by się rozwijać, ułożyć, przemyśleć, każdego dnia mocniejsi
– liczy się to co sami zrobimy
https://youtu.be/lxiIPZvPgKI?t=1403
Gdzie są informacje o zajęciach?
– na górze strony http://oki.org.pl/ jest link do zajęć, challenge
– są quizy
Lista wszystkich zadań
– Zajęcia -> Challenge -> Lista zadań
– to najważniejsze – dziękuję
58 osób wrzuciło przynajmniej jedno zadanie
– to jest ten nasz wysiłek
– to nasz krok w podróży 1000 mil
– by tworzyć gry, aplikacje bankowe, nawigacje
– najważniejsza sprawa
– w ten sposób sprawiacie mi radość, rozwijacie się, każdego dnia mocniejsi
Dogłębna analiza błędu
– brak przekierowania i cudzysłowu
– dokładny opis programu
– zmienne, wejście, wyjście – dokładny opis
https://youtu.be/lxiIPZvPgKI?t=774
Wprowadzanie danych z klawiatury – cin:
– zapamiętywanie w zmiennej
– wprowadzanie danych z klawiatury w ideone
https://youtu.be/lxiIPZvPgKI?t=1580
Komputer podejmuje decyzje – początek zajęć
– uruchamiamy ideone
– omawiamy kod początkowy
– wypisujemy na banerze na autostradzie tekst ostrzegający przed ślizgą nawierzchnią
https://youtu.be/lxiIPZvPgKI?t=1889
Jakie mogą być nazwy zmiennych?
– dowolny ciagly tekst
– nazwy zmiennych powinny mieć nazwę tego oznaczają – nie nazywajmy ich a lub b
https://youtu.be/lxiIPZvPgKI?t=2039Początek omówienia warunku
– baner na autostradzie
– ostrzeżenie o ślizgo tylko gdy odczyt temperatury pokazuje 4 lub mniej
 – dokładne omówienie if
https://youtu.be/lxiIPZvPgKI?t=2194Po warunki if w nawiasach nie dajemy średnika:
https://youtu.be/lxiIPZvPgKI?t=2435
Dlaczego dajemy spacje po komendach zależnych od if?
– bo ta komenda nie wykona się zawsze a tylko wtedy gdy warunek prawdziwy
– zasad czystego kod
– ktoś kto będzie czytał ten kod będzie mógł go łątwo poprawić

Chcemy wykonać 2 komendy gdy warune spełniony
– warunek tyczy się tylko kolejnej instrukcji
– klamra
https://youtu.be/lxiIPZvPgKI?t=2694

Warunek tyczy się tylko jednej instrukcji
– Samo mięso
Jak działa klamra – Chcemy by były 2 instrukcje wypisane
– klamra to jedna instrukcja z kilku mniejszych
https://youtu.be/lxiIPZvPgKI?t=2923Jeden z najpiękniejszych błędów!
– średnik od razu po if!
– występuje wszędzie – w zawodowych programach
– u nas jest najczęściej
– powoduje 6 czy 8 godzin debugowania

https://youtu.be/lxiIPZvPgKI?t=3185

Typ char
– pamięć przypomnienie int
– pamięć na char / charakter
– przechowujemy pojedyncze znaki
– pora roku – z – zima
– wypisz wartość zmiennej
https://youtu.be/lxiIPZvPgKI?t=3432

Możemy mieć różne typu zmiennych:
– int, char
– dwa różne pudełka
https://youtu.be/lxiIPZvPgKI?t=3657

Nie podstawiamy kilku znaków pod char
https://youtu.be/lxiIPZvPgKI?t=3688
Różnica między tekst i znak
– do char podstawiony znak w podwójmy cudzysłowuw pojedynczym cudzysłowie
https://youtu.be/lxiIPZvPgKI?t=3731
C++ bardzo mocno rozróżnia znak od tekstu
– pokazanie błędu w kompilatorze
– oszukaliśmy C++
Podwójny warunek I jednocześnie AND &&
– jeżeli jest jesień i temperatura spadła poniżej 4 stopni to zmień opony na zimowe
– podwójny ampercent, klucz wiolinowy
– omówienie warunku
– and / warunek and – obydwa muszą być prawdziwe
– sprawdzenie gdy jeden z warunków nie jest prawdziwy
– żaden nie jest prawdziwy
Podwójny warunek OR lub
– kiedy baner ze zmianą opon?
– pora roku jesień lub zima
– wystarczy ze jeden warunek jest prawidłowy i wypisze się baner
https://youtu.be/lxiIPZvPgKI?t=4280

Czym różni się or od and
– && od ||
– obydwa spełnione vs chociaż jeden
https://youtu.be/lxiIPZvPgKI?t=4444

Znaki w warunku muszą być podwójne
– pojedyncze to operacje bitowe
https://youtu.be/lxiIPZvPgKI?t=4615

Jak zajęcia w tym roku?
– na przemian rozmowa / odkrywanie vs kojene zajęcia i zadanie
https://youtu.be/lxiIPZvPgKI?t=4598

Gdzie wszystkie informacje dotyczące zajęć Programowanie OD PODSTAW
https://youtu.be/lxiIPZvPgKI?t=4661

Quiz – warunek przygotowanie do zajęć!
– jeśli w weekend będzie padać to…  w przeciwnym wypadku ….
– trzeba było rozwinąć
– nasze fantastyczne odpowiedzi
– zawsze  wypracowanie, rolki, programowanie, spał, grzyby, rolki, na dwór, pies spacer ja też, challenge, piłka nożna, moje dzieci też
https://youtu.be/lxiIPZvPgKI?t=4914

Piosenka Ciągle pada
– jeśli w weekend będzie padać to Zosia pójdzie na lody
– może nawet puścimy sobie tą piosenkę
– zrobić quiz z warunkiem i tą piosenką w kolejnym roku!!
https://youtu.be/lxiIPZvPgKI?t=5076

Jak dodać wynik naszego challenge do rankingu?
– wchodzimy na stronę
– zakładamy konto
– logujemy
– wybieramy challenge / zadanie
– deklarujemy punkty, screen, wysłać plik cpp zkodem
– klikamy dodaj rozwiązanie
https://youtu.be/lxiIPZvPgKI?t=5294

Gdzie znajdziemy nasz challenge?
– instrukcja jak dodawać zadania do rankingu
https://youtu.be/lxiIPZvPgKI?t=5362

Obrzydliwa sprawa!
– uwaga na pojedyncze równa się w warunku!
https://youtu.be/lxiIPZvPgKI?t=6555

Zapowiedź OKI #4
– Dzisiejsze zajęcia wstępem do zajęć za tydzień – animacji
– ćwiczymy decyzje
– za tydzień wykorzystamy do animacji piłeczki, czy ma się odbić?
– pierwsza lekcja na drodze do gry!
– pierwszy element na drodze do rozwoju gry
https://youtu.be/lxiIPZvPgKI?t=193

Zapowiedź OKI #4
– tworzymy animację od zera
– programowanie to fun
– znamy zmienne, nauczyliśmy komputer decyzji
– bądźmy o 18:00 – razem zrobimy animację
– żeby się działo
– żebyśmy mogli wykorzystać koledze / koleżance
 – możemy wysłać Pani od fizyki, informatyki
–  będzie satysfakcja
– te 3 kroki, challenge zaprocentują
https://youtu.be/lxiIPZvPgKI?t=5160
Olimpiada ZAAWANSOWANA
Dynamik
2022.09.29
Link do zajęć: https://youtu.be/dZTcFGECpyY?t=1403

Dynamiki:
– na czy polegają
https://youtu.be/dZTcFGECpyY?t=1403

Zadanie EDIST:
– odległość między tekstami
https://youtu.be/dZTcFGECpyY?t=1635

Jak rozwiązujemy zadania Olimpijskie?
– przechodzimy po wszystkich pomysłach
https://youtu.be/dZTcFGECpyY?t=1718

Przykład do zadanie EDIST:
https://youtu.be/dZTcFGECpyY?t=2400

Problem plecakowy:
https://youtu.be/dZTcFGECpyY?t=2736

Traf średnią!
https://youtu.be/dZTcFGECpyY?t=3087

Olimpiada? Wykorzystaj czas do lutego!
Warto brać udział w Olimpiadzie Informatycznej Szkół Średnich!
– pierwszy etap trwa miesiąc
– niepotrzebna jest wielka wiedza by rozwiązać jedno czy kilka częściowo zadań
– jeśli przez ten miesiąc przyciśniesz, pomyślisz – jak najbardziej wziąć udział
– bierz udział w Olimpiadzie!
– fajne doświadczenie
– mamy czas do lutego tak naprawdę!
https://youtu.be/dZTcFGECpyY?t=3930

Olimpiada Informatyczna POZIOM II – zajęcia #3 – 2022.09.28
Pomysł – zadanie Monety
Link do zajęć: https://youtu.be/dpedTv7MvAI?t=35
Kim jest Tomek Kwiatkowski?
– student I roku UW Informatyki
– Staszic
– prowadził Olimpiada Informatyczna OD PODSTAW
Zajęcia poziom II:
Co oznacza poziom II
https://youtu.be/dpedTv7MvAI?t=95
Zapowiedź zajęć #3 – Hashe:
– hashe są wszędzie, w trakcie streamowania, klucze są wysyłane
– wszystkie serwisy istnieją dzięki nim
https://youtu.be/dpedTv7MvAI?t=282

Kto może pisać Olimpiadę Informatyczną?
Olimpiada Informatyczna:
– kto może pisać
– finalista / laureat wstęp do szkoły średniej
– nie musimy się stresować egzaminami / maturą
– ocena końcowa 6
– 100% na maturze – wystarczy się zapisać
– terminarz olimpiady
https://youtu.be/dpedTv7MvAI?t=405

Jeśli nie spróbujesz….
Jeśli nie weźmiesz – nie masz szans na fajny wynik
– jak weźmiesz udział to masz szansę
– w zależności od nakładu pracy
https://youtu.be/dpedTv7MvAI?t=660

Jak wyglądają omówienia zadań przez Tomka?
– rozmowa
– nie uczymy się algorytmów ale jak myśleć jak wpaść
https://youtu.be/dpedTv7MvAI?t=1725

Omówienie zadania Monety:
https://youtu.be/dpedTv7MvAI?t=1765
Kod / linki:
https://oki.org.pl/monety

Challenge #2
– fajna forma rozwijania się
– zobaczymy progres po 2m – 6m
https://youtu.be/dpedTv7MvAI?t=8982
Olimpiada Informatyczna OD PODSTAW #2 – 2022.09.27
Sumy prefiksowe
Link do zajęć: https://youtu.be/K4QtM9ycYl8?t=23
Co jest naszym celem?
Dlaczego odkrywamy?
– by gigancie tego świata – facebooki, google chcieli nas do rozwiązania problemó
– nie byśmy my starali się o pracę u nich
– coś co się dzieje
– Mikołaj Bulge jest na stażu u giganta i właśnie to robi
– to jest coś do czego prowadzi nas olimpiada
– to jest ta droga którą zaczynamy
https://youtu.be/K4QtM9ycYl8?t=23
Myśl jak można lepiej!
Mogę lepiej!
Ulepszajmy / negujmy
– mamy ulepszać
– nie przyjmujemy na wiarę
– nie ma prawd objawionych – bo powiedział tak nauczyciel
https://youtu.be/K4QtM9ycYl8?t=81
– czy mogę lepiej
– do pomysłu jak dziś, czy w jednym ruchu mogę dodać milion liczb?
– zobrazowanie kreatywności – zwierzęta, osioł zamiast przeskakiwać zdjął belkę płotu
Ruszyła!
Olimpiada nas prowadzi
Rozpoczęłą się Olimpiada Informatyczna Juniorów:
– zaatakujmy zadania
– pomyślmy nad każdym zadaniem
– to pokazuje drogi, rozwija nas
– OI rozpoczyna się 17 października
https://youtu.be/K4QtM9ycYl8?t=162
Efekt po roku?
EJOI – piękny sukces polskiej reprezentacji!
– gratulacje dla Polskiej repreznetacji
– nawet jak nic umiesz – EJOI w Twoim zasięgu
– Maciek Wiśniewski jest tego najlepszym przykładem
– w roku w którym zaczynał był w III etapie!
Maciek Wiśniewski – przedstawienie:
Omówienie zadania Rewolucja ciapongowa 1:
https://youtu.be/K4QtM9ycYl8?t=1082
Czym są sumy prefiksowe:
https://youtu.be/K4QtM9ycYl8?t=2489
Jak policzyć sumy prefiksowe?
https://youtu.be/K4QtM9ycYl8?t=2725 
Jak policzyć sumę liczb przy pomocy sum prefiksowych?
https://youtu.be/K4QtM9ycYl8?t=3661 
Jedna operacja zamiast miliona!
Dlaczego sumy prefiksowe?
– wykonujemy jedną operację zamiast 1000 czy liniona operacji!
https://youtu.be/K4QtM9ycYl8?t=3869

Zajęcia numer #3 Olimpiada OD PODSTAW:
https://youtu.be/K4QtM9ycYl8?t=6424

Programowanie OD PODSTAW #2
Zmienne, wejście – program potęga
2022.09.19
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
Nasz poprzedni krok prowadzi do…
Motoryzacja i informatyka:
– pierwszy krok w podróży 1000 mil
– konstruowanie samochodów – jedna z możliwości
– sprawdzamy, symulujemy  wchodzenie w zakręty, bezpieczeństwo
– przed nami piękna przygoda
– algorytmika, renderowanie
– grafika, geometria analityczna – to ona tak naprawdę się tam dzieje
– też możemy tworzyć takie programy
– jednym z designerów  jest Polak
https://youtu.be/vkLBq7S2yC8?t=11Po co to wszystko?
Dlaczego/ Po co się spotykamy?
Polska źródłem pomysłów!
– żebyśmy byli architektami
– po to się uczymy
– niekoniecznie w przypadku samochodów
– Windows, tłumaczenie tekstów
– ktoś to musi wymyśleć
– po to się tu spotykamy
https://youtu.be/vkLBq7S2yC8?t=196
Jak nauczyć się wymyślać?
– kluczem jest Olimpiada
– rozpoczęła się Olimpiada Informatyczna Juniorów
– zaczynamy, może nam to sprawi trochę problemów
– 17 października Olimpiada Licealistów
– idziemy w stronę konstruowania
– wtorek, środa, czwartek idziemy w stronę wymyślania
https://youtu.be/vkLBq7S2yC8?t=252
Wprowadzanie danych z klawiatury:
https://youtu.be/vkLBq7S2yC8?t=1652

Omówienie zadania Potęgi:
https://youtu.be/vkLBq7S2yC8?t=4384

Kod / linki:
https://oki.org.pl/potegi/

Challenge numer 2!
https://youtu.be/vkLBq7S2yC8?t=6248 

Programowanie od PODSTAW #3:
– komputer podejmuje decyzje!
– moc, zaawansowana informatyka
https://youtu.be/vkLBq7S2yC8?t=6286

 


Olimpijska droga – rozmowa z Tomkiem Kwiatkowski – prowadzący Olimpiada POZIOM II

Kim jest Tomek Kwiatkowski?
– rok temu prowadził Olimpiada OD PODSTAW
– student I roku UW Informatyki
– Uczeń Staszica, klasa matematyczno informatyczna
https://youtu.be/gM6OMtY8ynQ?t=35

Jak zaczęła się przygoda z Olimpiadą Tomka Kwiatkowskiego?
– mama, minilogia, przed 6 klasą w wakacje, minilogia, mama zachęciła
https://youtu.be/gM6OMtY8ynQ?t=105

Rodzice są ważni – mogą bardzo pomóc
– mama, minilogia, przed 6 klasą w wakacje, minilogia, mama zachęciła
– żółwikiem trzeba było rysować
– konkurs był prosty, domek, kwiatki
– ale już były elementy programowania, 5 czy 10 kwiatkó, zmienne, pętle, funkcje, nawet rekurencja
– rekurencja była cięzka
https://youtu.be/gM6OMtY8ynQ?t=138

Czy językiem C++ możesz zaszpanować koleżankom?
Językiem C++ możesz zaszpanować!
– sam dla siebie uczył się C++
– dlaczego? nie wiadomo, trochę by zaszpanować?
– pokazać Pani, że coś umiem
– komputer zrobi to co powiem
https://youtu.be/gM6OMtY8ynQ?t=182

Młodzi ludzie potrzebują sensu, szukają sensu
– nie wiedział co może z tym C++ zrobić?
– wydawał się ciekawy, uczył się, wyglądał hakersko!
https://youtu.be/gM6OMtY8ynQ?t=203

Minilogia – konkurs kuratoryjny dawał Gimnazjum
– wybierał gimanzjum a nie gimnazjum wybierało jego
https://youtu.be/gM6OMtY8ynQ?t=228

Gimnazjum – konkurs Logia:
– python
– nadal C++ był w pamięci, coś robił, kalkulator, gra prosta kółko i krzyżyk
– w I klasie gimnazjum nie było finalisty Logii
https://youtu.be/gM6OMtY8ynQ?t=263

Motywuje nas coś krótko terminowego – tu i teraz:
– w II klasie usłyszał o kółku olimpijskim od kolegów
– nie zachęcił to go
– zachęciły cukierki, batony i cola – info od kolegów
– chyba warto przyjść?
– zaczął robić zadania
https://youtu.be/gM6OMtY8ynQ?t=310

Problem z wiarą w siebie, z uwierzeniem że dam radę, że to wyzwanie Olimpiada nie jest dla jakić kwadratowych głów, tylko ja też mogę zawalczyć! – Rola nauczyciela
– nauczyciel naciskał że jest ta Olimpiada
– wiedział o niej wceśniej ale nie myślał że to jest dla niego
– myślał że to jest coś trudnego, nie da się uzyskać
– zachęcany przez nauczyciela że nawet jak się nie uda to brać udział w I etapie
– wziął udział i dało się!
– nie było maksa ale był II etap!
– szedł z myślą ba II etap – może się uda może się nie uda….
– okazało się że się udało!
– był finał i w finale laureat! – w klasie gimnazum!
– zupełnie niespodziewany – uwierzmy w siebie!
https://youtu.be/gM6OMtY8ynQ?t=346

Jak dużo czasu trzeba poświęcić na Olimpiadę?
– Mocna rzecz – zaczynamy we wrześniu a maju laureat Olimpiady!
– ii klasa gimnazjum, pierwszy rok
– na początku nie było dużo czasu
https://youtu.be/gM6OMtY8ynQ?t=402

Dlaczego trzeba pokazywać sens młodym ludziom?
– nie było zrozumienia że warto robić Olimpiadę
– czasem zrobił pracę domową czasem nie
https://youtu.be/gM6OMtY8ynQ?t=421

Od pewnego momentu robi 4 zadania tygodniowo!
– czasem sam robił swoje zadania
– czasem 2-3h myślenia dziennie
– pamiętał o wypoczynku
– gdzieś ta olimpiada była
https://youtu.be/gM6OMtY8ynQ?t=433

Czy startując w Olimpiadzie muszę znać C++ / umieć programować?
– na początku roku tridnością było wczytanie liczb
– jak wczytać milion liczb?
– na zajęciah nauczył się cin, pętla, for
– potrzebował 2-3 zajęc by ogarniać
https://youtu.be/gM6OMtY8ynQ?t=471

Olimpiada nie wymaga dużej znajomości C++
– nie jest to ciężkie ale wymaga czasu
– można uczyć się programowania o Olimpiady razem
– tu było łatwiej – był wcześniej kontakt
– ale można się uczyć na bieżąco
https://youtu.be/gM6OMtY8ynQ?t=523

Nie umiemy – pytajmy, rozmiwajmy!
– uczył się na bieżąco
– gdy potrzebował wczytać dużo liczb z spacjami, pytał się jak zrobić – funkcja getin
– warto dociekać
https://youtu.be/gM6OMtY8ynQ?t=559

Programowanie dla Olimpiady jest proste:
– 3-4 rzeczy
– pętle w których wczytujemy, obliczamy, wypisujemy
https://youtu.be/gM6OMtY8ynQ?t=584

Moment przełomyw – rozumiem, mogę sam, wierzę w swoje umiejętności
Jak potrzebna jest wiara we własne siły młodego człowieka
https://youtu.be/gM6OMtY8ynQ?t=628

 

Co będzie na zajęcia Olimpiada Poziom II?
https://youtu.be/gM6OMtY8ynQ?t=2873

 

Olimpiada Informatyczna OD PODSTAW #1 – 2022.09.21
Kto wygra bitwę – szukamy Lidera
Link do zajęć: https://youtu.be/fyRxKSGxFLs?t=50
Dlaczego Olimpiada Informatyczna?
https://youtu.be/fyRxKSGxFLs?t=50
Olimpiada daje szkołę średnią!
https://youtu.be/fyRxKSGxFLs?t=326
Link do powyższego omówienia zadania Kto wygra bitwę?
https://youtu.be/fyRxKSGxFLs?t=1865
Kod / linki / omówienie:
https://oki.org.pl/kto-wygra-bitwe
Złożoność rozwiązania brutalnego – ile operacji musi wykonać komputer?
https://youtu.be/fyRxKSGxFLs?t=3042
Quiz – ile operacji na Olimpiadzie? – złożoność:
https://youtu.be/fyRxKSGxFLs?t=7976
Challenge Olimpiada OD PODSTAW #1
https://youtu.be/fyRxKSGxFLs?t=7775
Mamy zadanie z rozmowy kwalifikacyjnej Microsoft / Amazon:
– jeśli uda nam się to rozwiązać to czy jest większa radość?
https://youtu.be/fyRxKSGxFLs?t=7811
Ważne by pomyśleć nad każdym zadaniem!
– nieważne czy zrobimy to zadanie czy nie
– pomyślmy, porysujmy tak jak Szymon dziś
– zastanówmy się ile operacji wykona komputer
– chodzi o nasze myślenie
https://youtu.be/fyRxKSGxFLs?t=7847
Zapowiedź Olimpiada OD PODSTAW #2
– poprowadzi Maciek Wiśniewski – przedstawienie Maćka Wiśniewskiego
-prostsze niż dziś
-dziś z grubego C++
– niesamowita sztuczka – liczymy w jednym ruchu sumę miliona liczb
https://youtu.be/fyRxKSGxFLs?t=7879

Dla kogo przeznaczone są zajęcia Olimpiada Informatyczna POZIOM II: https://youtu.be/fyRxKSGxFLs?t=9068

 

Programowanie OD PODSTAW #1
Pierwszy Program – Auto
2022.09.19
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32

Zaczynamy!
– Programowanie to przygoda
– nic nie umiem – nie szkodzi
– każda podróż 1000 mil zaczyna się od pierwszego kroku
– poznamy tablice, klasy, sztuczną inteligencję
https://youtu.be/-_Yplxdir8s?t=31

Dlaczego warto programować?
Dlaczego uczymy się programować?
https://youtu.be/-_Yplxdir8s?t=31

Dlaczego programujemy w C++?
https://youtu.be/-_Yplxdir8s?t=335

Zadanie Auto – początek omówienie:
https://youtu.be/-_Yplxdir8s?t=1711
Kod / linki / omówienie:
https://oki.org.pl/auto

Początek rozwiązania zadania
– musimy narysować auto
https://youtu.be/-_Yplxdir8s?t=1841

Program C++ piszemy w przeglądarce Ideone:
– w Ideone możemy pisać programy w dowolnym języu programowania
– kod sekretny – ważne olimpiada
– mamy template który się uruchomi
https://youtu.be/-_Yplxdir8s?t=1854

Analiza template’u, schematu, kadłubka kodu C++
– iostream
– using namespace std;
https://youtu.be/-_Yplxdir8s?t=1980

Komendy w C++ kończą się średnikiem
– możemy dac polecenie w kilku linijkach – pokaz using namespece std;
https://youtu.be/-_Yplxdir8s?t=2120

Nasze zajęcia sa nagrywane – można wrócić i jeszcze raz wszystko zrobić!
https://youtu.be/-_Yplxdir8s?t=2216

Omówienie funkcji main
– Windows, Linux, przeglądarka wywołuje main – to co między nawiasami klawrowymi
https://youtu.be/-_Yplxdir8s?t=2259

Podsumowanie – krótkie omówienie schematu – template’u każdego programu w C++:
https://youtu.be/-_Yplxdir8s?t=2443

Jak wybrać C++ w ideone?
– dlaczego nie ma dwóch okienek w ideone – trzeba nacisnąć edytuje
https://youtu.be/-_Yplxdir8s?t=2522

Zaczynamy rysować samochód:
– z ilu linijek składa się samochód?
– od której linijki warto zacząć rysować samochód – od najdłuższej?
https://youtu.be/-_Yplxdir8s?t=2588

cout – wypisywanie na ekran w C++
– console out
– to co chcemy wypisywać musi być w podwójnym cudzysłowiu
– piszemy tekst “ala ma kota”
– przekierowanie czyli <<
https://youtu.be/-_Yplxdir8s?t=2812

Każda komendą kończymy średnikiem:
https://youtu.be/-_Yplxdir8s?t=2912

Rysujemy 3 linjkę – podwozie z kołami:
https://youtu.be/-_Yplxdir8s?t=2981

Znak nowej linii – zlewanie tekstu:
https://youtu.be/-_Yplxdir8s?t=3400

PIERWSZA RADOŚĆ!
– jest całe auto
– fantastico
– dach, maska, podłoga
https://youtu.be/-_Yplxdir8s?t=3927

Zapowiedź kolejnych Programowanie OD PODSTAW #2:
https://youtu.be/-_Yplxdir8s?t=4783

Opis naszego pierwszego challenge:
https://youtu.be/-_Yplxdir8s?t=4686

Olimpiada ZAAWANSOWANA
Pierwszy program
2022.09.22
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32

Jak będą wyglądały zajęcia?
https://youtu.be/CGosXlNrGTY?t=233

Co to jest challenge?
https://youtu.be/CGosXlNrGTY?t=286

Co jest motorem napędowym?
Challenge najważniejszy!
– motor napędowy
https://youtu.be/CGosXlNrGTY?t=306

Zadanie Krążki – XIII OI – I etap:
– rozwiązujemy na 2 sposoby
https://youtu.be/CGosXlNrGTY?t=1150

Jak ważne są obserwacje!
– prosta obserwacja
– niby nieistotny szczegół w zadaniu
– daje kluczowy efekt w zadaniu
https://youtu.be/CGosXlNrGTY?t=2150

Binary Search:
– wystarczy jeden – nie trzeba znać oddzielnie lewego i prawego
https://youtu.be/CGosXlNrGTY?t=2637

Kim to jest wartownik?
– coś co nie wystąpi w żadnym zapytaniu
– coś co zawsze będzie zawsze mniejsze albo zawsze większe od każdego wystąpienie
https://youtu.be/CGosXlNrGTY?t=3068

Pcha nas do przodu to co sami wymyślimy!
https://youtu.be/CGosXlNrGTY?t=3174

Dlaczego warto pisać samemu zamiast używać funkcji bibliotecznej?
– Jeśli sam umiem napisać alorytm i rozumiem go, to mogę zmodyfikować tak jak chcę!
– Inaczej jestem zależny od jakieś magii – funkcji bibliotecznej
– szczególnie, że zwykle to są 3 linijki
https://youtu.be/CGosXlNrGTY?t=3196

Jakich programów używa Mikołaj?
– czytnik pdf / beamer latex:
https://youtu.be/CGosXlNrGTY?t=3576

Czy Mikołaj poleca Informatykę na UW?
– jeśli programistyka bez matematyki to może niekoneicznie
– ale jeśli chodzi o statystykę, coś więcej to najlepsza uczelnia w Polsce
– dużo kontaktów – trzeba korzystać – staż w Finalndii
– jeśli pracować naukowo to też super
– działać w R&D – też super!
https://youtu.be/CGosXlNrGTY?t=3854

Olimpijska droga – rozmowa z Szymonem Hajderkiem – prowadzący Olimpiada OD PODSTAW

Szymon Hajderek – przedstawienie
– uczeń 2 klasy 3 LO w Gdyni:
–  W OIJ Olimpiadzie Informatycznej Juniorów tytuł Laureata
https://youtu.be/SMRhtrbm20w?t=58

Historia Szymona Hajderka:
– zaczął w 8 klasie – dowiedział się o Olimpiadzie o kole w Gdynii od brata
– koło informatyczne w Gdyni
– fascynowało go gdy umiał rozwiązać zadanie, wpadł na pomysł, że wie coraz więcej
– jeśli ktoś jest w 8 klasie to warto
https://youtu.be/SMRhtrbm20w?t=142

Nigdy nie jest za późno na rozpoczęcie przygody z Olimpiadą! Jesteś w 8 klasie? Super!
– Szymon zaczął w 8 klasie
– trochę miał if, ASCI w 7 klasie
– jeśli  jesteś w 8 klasie nic nie jest stracone, można mieć finalistę
– liczy się by się poświęcić…
– Szymon poświęcił dużo wysiłku, fascynowało go, wiele godzin na rozkminianie problemów
https://youtu.be/SMRhtrbm20w?t=228

Szymon startuje we wrześniu od zera i w tym samym roku zdobywa srebro Olimpiady Informatycznej Juniorów – czołowa 12-tka:
– fenomenalny sukces!
https://youtu.be/SMRhtrbm20w?t=435
Czasami jest tak, że nam się nie chce – to normalne!
– były tygodnie że robił dużo były tygodnie że w ogóle się nie chce
https://youtu.be/SMRhtrbm20w?t=456Skąd Szymon brał zadania?
– Challenge OKI
– Koło w Gdynii
– Codeforces / ZWOJ / Skzopuł
https://youtu.be/SMRhtrbm20w?t=502
Szymon robił około 4-5 zadania tygodniowo:
– 4 zadania wymagające
– czasami potrzeba przerwy / czytania książek
Każde kolejne zadanie nas napędza!
– każde z bardziej wymagających
https://youtu.be/SMRhtrbm20w?t=633
Szedł do Olimpiady na zajęciach bo ciekawe, by się pouczyć
– jak zaczęło wychodzić to Olimpiada dawało motywację
– chodziło o samorozwój
– każdego dnia mocniejsi
– bez presji, cieszyć się każdym kolejnym zadaniem, że jestem mocniejszy
– jak już był na III etapie liczył na finalistę
https://youtu.be/SMRhtrbm20w?t=671
Potrzebujemy potwierdzenia, że jesteśmy dobrzy
– każdy sukces dodaje paliwa
https://youtu.be/SMRhtrbm20w?t=792
Lauerat daje możliwośc pójścia do wybranej szkoły:
– wymagająca szkoła z matematyką
– wymierny efekt
– nie po to to robimy, przy okazji to robimy
https://youtu.be/SMRhtrbm20w?t=831
Czy warto zacząć wchodzić w Olimpiadę?
– nic nie umiem, czy jest sens?
– dlaczego nie miałby nie mieć sensu?
– każdy – nawet najwięksi zwycięzcy kiedyś niczego nie umieli
– potrzeba czasu, zaangażowania, cierpliwości
– pytanie jak bardzo mocno będziemy chcieli się zaangażować?
– jeśli nie lubimy to odpuszczamy
– nie robić dla punktów, by dostać się do szkłoy – wtedy inna olimpiada
– chodzi o by robić to co nas interesuje, pasjonuje, daje satysfkację
Co daje satysfakcję Szymonowi?
– 100 punktów po wielu próbach
– uda się samemu wymyślić zadanie a okazuje się, że to jest znany algorytm
– wspólny czas spędzony z kolegami na obozach
– dyskusje, wymiana pomysłów – piękna przygoda!
https://youtu.be/SMRhtrbm20w?t=999
Odkrywanie to najpiękniejsza nauka!
– Szymon sam wpadł na pomysł który okazał się algorytmem Find And Union / Silnie spójne / drzewo DFS
– część z Mikołajem Bulge
– jeśli sami odkrywamy i sami dochodzimy do algorytmu który ma swoją nazwę to piękna rzecz!
– odkrywanie samemu to najpiękniejsza nauka
https://youtu.be/SMRhtrbm20w?t=1119
Olimpijska droga – rozmowa z Mikołajem Bulge – prowadzący Olimpiada dla zaawansowanych

Olimpiada zaawansowana – Mikołaj prowadzącym
– cel –  bardzo dobry rezultat na finale OIJ / chcemy dostać się do finału OI
https://youtu.be/btN5PIn4eNU?t=70

Lista sukcesów Mikołaja
– laureat OIG
– brązowy medal EJOI
– laureat OI-u
– srebro BOI
– piękna historia
https://youtu.be/btN5PIn4eNU?t=131

Jak zaczęła się historia Mikołaja:
– Zachęcony przez kolegę
– Stacjonarne spotkania OKI
– Na początku mało umiał, przepisywał z tablicy
– Przełom grudnia / stycznia zaczął robić samodzielnie
– Startował w OIG
– Dojeżdżał do szkoły – coś musiał robić
– Zadanie które umiał zrobić napędzały kolejne
– Najpierw 2 tygodniowo potem 4/5
– Odnalazł radość w robieniu zajęć – wbijanie 100-tek – napędzały kolejne
https://youtu.be/btN5PIn4eNU?t=158

Ogromna radość z dostania się do finału
– próg 190 a Mikołaj 19
– po raz pierwszy widzi, że to co robi ma sens
– zaczął od października a już w tym roku piękny sukces – nie nastawiał się na jakis wielki sukces
https://youtu.be/btN5PIn4eNU?t=414 

Dlaczgo warto być na filnał Olimpiady
– fantastyczni ludzie, wyjazd, przygoda
https://www.youtube.com/watch?v=btN5PIn4eNU&t=480

Adam Małysz – zrób to co możesz najleiej – oddaj- 2 dbre skoki – nie myśl o wyniku:
– Mikołaj zrobił 3 zadania na max swoich możliwości i był z tego zadowolony
– Miejsce nie ma znaczenia
https://youtu.be/btN5PIn4eNU?t=530

Dlaczego warto brać udział w zajęciach Mikołaja
– potrafi wykorzystać wiedzę na konkursie
– przekazuje tą wiedzą na zajęciach
– jak zdjąc stres
https://youtu.be/btN5PIn4eNU?t=675

Co daje Olimpiada?
– wybór szkoły dla finalistów
– to jest powód dla której większośc osób startuje w Olimpiadzie
– osoba która bierze udział w Olimpiadzie pokazuje hart ducha, skupienie na celu
– nie tylko lubi ale też robi
– żeby zrobić te zadania to pokazujemy bystrość umysłu
– umie sobie poradzić ze stresem na konkursie
– szczególnie ważne dla przyszłego pracodawcy
– część firm daje na interview problemy na poziomie olimpiady – giganci
– również olimpiada posługuje się problemami z interview
– Mikołaj nie miał punktów z matury by dostać się na Informatykę na Uniwerstytet Warszawski
– dostał się dzięki Olmpiadzie
– 100% z matury z Informatyki
– 6-tke z przedmiotu
– korzyści materialne – stypendia uniwersytetów, marszałka województwa, miasta, wótja, mistra edukacji
https://youtu.be/btN5PIn4eNU?t=766

Rozwiązywanie problemów na uczelni, prace naukowe, programy dla Olimpijczyków
– część uczelni ma program prac naukowych – dostają opiekuna z którym rozwiązują problem naukowy
– problemy podobne do tych na olimpiadzie
– problemy otwarte – nei wiemy cz wynik jest czy nie ma
– na olimpiadzie wiemy, że jest rozwiązanie – my musimy je zgadnąć
– różnica między życiem a olimpiadą jest taka, że w pracy naukowej nie wiemy cz istnieje rozwiązanie
– jeśli ktoś ma ochotę kontynuować przygodę z olimpiadą – zaprszamy!
– konkret konkretny – przygoda z olimpiadą się nie skończy
– satysfkacja z każdego rozwiązanego zadania, że jesteśmy każdego dnia mocmiejsi
– olimpiada nie kończy się na szkole średniej
– można pracować w R&D – Research and Development
– można pracować na uczelni
– można wymyślać rozwiązania problemów
– żeby wyszkiwarki działały szybciej
– szybciej i lepiej Google maps znajdpwał trasę
https://youtu.be/btN5PIn4eNU?t=1232

Olimpiada nas kształtuje – rozwiązywanie problemó, automatyzacja!
– uczy rozwiązywania problemów
– przydaje się nie tylko w Informatyce
– podzielimy na kawałki, spiszemy obserwacje
– to przyda się niekoniecznie w Informatyce!
– Olimpiada to sposób myślenia!
– automatyzujemy
– Excel który ręcznie wymaga 2 dni pracy
– po Olimpiadzie będziemy chcieli to zautomatyzować, napisać skrypt który to zrobi w 2h
– już na Olimpiadzie piszemy skrypty które sprawdzają weryfikują rozwiązania – dziesiątki tysięcy testów w ciągu minut
– szczególnie I etap zachęca do nauki debugowania, tego jak można coś zautomatyzowac
– póxniej jako pracownicy firmy wiemy jak znaleźć błąd, analizować
https://youtu.be/btN5PIn4eNU?t=1436

Kiedy Mikołaj zaczął programować?
https://youtu.be/btN5PIn4eNU?t=1588

Olimpiada to odkrywanie
– nie ma gotowej wiedzy
– potrzebujemy tablic – uczymy się tablic
– nie jesteśy nauczani a to my odkrywamy
– mamy swoje inspiracje, pomysły
– nie możliwości nauczyć się tego w szkole
– Mikołaj sam się tego nauczył
– Olimpiada nie ma swojego programu
– nie ma spisu tego co musi się pojawić na Olimpiadzie
– na maturze wiemy że bedzie Excel, bazy, programowanie – to się pojawi
– ktoś kto po raz pierwszy patrzy na zadanie – nie wie co ze sobą zrobić
https://youtu.be/btN5PIn4eNU?t=1666 

Rola nauczyciela:
– ładnie się mówi, że ucze się sam
– robił Mikoaj zadania
– ale ktoś mu musiał pokazać jak do tego podejść
– jest nauczyciel, prowadzący, przewodnik – trochę z tych storżytnych czasów
– Mikołaj jest dziś takim nauczycielem
– uczeń się odkrywa,nauzyciel prowadzi
https://youtu.be/btN5PIn4eNU?t=1822

Ile czasu Mikołaj poświęcał na przygotowanie się do Olimpiady? Ile się uczył?
– robił prace domowe / challenge
– im trudniejsze tym więcej czasu
– średnio 1h do 2h dziennie
– nauczyciel wuznacza prace domowe, rozwiązuje prace domowe i każdego dnia staje się mocniejszy
https://youtu.be/btN5PIn4eNU?t=1912

Pierwsza motywacja – snickersy, słdycze, cukierki za 100% za zadanie
– na początku jest potrzebna taka motywacja
– to na początku
https://youtu.be/btN5PIn4eNU?t=2007

Rola nauczyczyciela jest ważna szczególnie na początku
– w liceum w wakacje działał sam – odkrywał
– robił zadania z poprzednich olimpiad / skzopuł
–  średnio jedno zadanie dziennie
– już odkrywał sam
– ale wiedział o co chodzi
https://youtu.be/btN5PIn4eNU?t=2037

Ile czasu potrzeba spędzić nad jednym zadaniem?
– kilka godzin, około 3h
– trzeba pomyśleć, napisać, debugować
– potrzeba czasu
https://youtu.be/btN5PIn4eNU?t=2076

Liceum – moment gdy sam Mikołaj zaczyna się prowadzić
– nie do końca
– robi zadania z kółek ale się powtarzają
– szuka sam
– jest bardziej zaawansowany
– poświęca wakacje na przygotowanie do Olimpiady
– robi po kolei zadana z z Olimpiad na szkopule – od najstarszej
– podobnie przygotowywał się do Olimpiad europejskich – od najstarszej
https://youtu.be/btN5PIn4eNU?t=2094

Zadania na Olimpiadach, konkursach powtarzają się:
– wpadają w schematy
– im więcej przerobimy zadań, tym bardziej je poznamy
– zaprocentuje na konkursie
– Mikołaj przerabiał zadania
– zaczął w październiku i po roku miał srebrny medal EJOI
– robiąc po prostu prace domowe
– robiąc te zadania coraz więcej ścieżek odkrywamy
– nawet jeśli nie wpadliśmy na pomysł, to ileś ścieżek odkryliśmy – dokąd prowadzą, czy są dobre
– sami odkrywamy
– te wnioski nam przydadzą w kolejnych zadaniach – nieważne nawet czy rozwiązaliśmy to zadanie
– liczy się ile myśleliśmy, ile odkryliśmy – te 2h myślenia
– z każdym kolejnmy zadaniem jesteśmy mocniejsi
– po pół roku, nagle, okazuje się, że jesteśmy niesamowicie mocni
– ilość pomysłów, ścieżek wokół których obraca się Olimpiada jest skończona
– mamy mocne doświadczenie, mocną bazę do kolejncyh zadań i etapów
https://youtu.be/btN5PIn4eNU?t=2189

Ważne jest by myśleć samemu, nie zaglądać od razu do rozwiązania
– nie zaglądamy od razu do rozwiązania
– nie kopiujemy kodu, wklejamy by dostać setkę
– nawet jak nie umiem, to przeczytam rozwiązanie, rozumie, potem piszę samodzielne
– Przykład zadania Łuk Tryumfialny / XX OI – Mikołaj nie umiał zrobić – przeczytał, ale napisał sam
– 3 tygodnie później widzi zadanie Dynamit z XIX OI-a – widzi, że pomysł jest ten sam jak dla Łuku – zadział
– jak widzimy rozwiązanie kopiujemy kodu
– rozumiem, analizuję i piszę samemu
– jak piszemy samemu to pewne problemy wychodzą
– musimy sobie poukładać
– troszkę jak piszemy notatkę ze spotkania – więcej pamiętamy, układa się nam w głowie
– samo czytanie rozwiązań nic nam nie da – nieczego nie odkrywamy, poznajemy
https://youtu.be/btN5PIn4eNU?t=2313

Labirynt
– mamy szczura którego puszczamy w labiryncie
– jak dochodzi do ściany to się nie denerwuje ale wraca i idzie dalej
– Za każdmy kolejnym puszczeniem będzie coraz łatwiej znajdował drogę
– W końcu się nauczy i będzie wiedział od razu
– Rozwiązanie problemów to pewna wiedza w ramach której sie poruszamy
– Im więcje rozwiązemy problemów – nawet z pomocą ale jednak sami, jak najwięcej sami – tym bardziej ten obszar znamy
https://youtu.be/btN5PIn4eNU?t=2432

Jakie Mikołaj obecnie zna języki programowania?
– C++ – język Olimpiady
– logiczny, efektywny, wydajny, dobry do nauki programowania, a na końcu nawet prosty
– czyste C
– Java – może napisac projekt
– Python – miał doczynienia – nie do Olimpiad – oducza myślenia – mam na to bibliotekę
– zmodyfikowany problem już jest nie do rozwiązania bo korzystał z gotowej biblioteki a nie myślał sam
– jest to bardzo szkoldiwe
https://youtu.be/btN5PIn4eNU?t=2521

Róbmy coś dla siebie – nie dla ocen:
– dlaczego Mikołaj nie pisał rozszerzeń na maturze?
– robi coś tylko wtedy gdy w to wierzy
– w robienie zadań uwierzył
– maturę by napisał tylko dla wyniku
– nie podniosłoby to jego kompetencji, nie miałby satysfkacji
– robi dla siebie nie dla ocen
– po co mieć brzydki pozłacany zegarek?
– po prostu jest mieć sens pasję której dobrze się poświęcić, w którą wierzymy, sprawia satysfkację
https://youtu.be/btN5PIn4eNU?t=2704

Jak znaleźć motywację
– gdy mamy 40h w tygodniu?
– zacząc po kolei robić zadania
– od naprostszych – każego dnia mocniejsi
– nie oglądać się na innych tylko na siebie wczoraj
– Mikołaj robił to co  sprawiało mu satysfakcję, potem zobaczył że to nie skończy się na szkole średniej
– to nie tylko dla Olimpiady to robił
https://youtu.be/btN5PIn4eNU?t=2812

Olimpiady motywatorem
– nie pisał jej po to by meić wynik
– to  był motywator
https://youtu.be/btN5PIn4eNU?t=2865

Stwórz wartościowy zawodowo rok! Rozmowa Daniel Olkowski i Mirosław Zelent  poniedziałek, 5 września 2022, 16:00

Część 1: https://youtu.be/Q6f2-_-8U4I
Kto się uczy – uczeń czy nauczyciel?
– Cześć Rodziców ma przeświadczenie, że nauczyciel nauczyc
– To ja jako uczeń muszę się nauczyć
– Zawsze jest to sukces ucznia
– Wpisuj do CV / Linkedin
– Nie szkodzi że jedno zadanie / I etap
– Pokazałeś chęć, walkę, determinację
– To Twój sukces
https://youtu.be/Q6f2-_-8U4I?t=24

Korepetycje – jakie?
– nie polecam korepetycji typu poprawienie ocen
– jeśli to przygotowanie się do czegoś – matury
– strasznie rozlewnia
– jest delikatna różnica między pomocą a wykorzystaniem
– lepiej umówić się na dział – wytłumaczyć, uczeń robi zadania, korygujemy i jedziemy dalej
– jeden z większych sukcesów – doprowadzenie ucznia z braku umiejętności tabliczki mnożenia do 90% na maturze rozszerzonej
– ja jako uczeń się uczę
– nauczyciel prowadzi
https://youtu.be/Q6f2-_-8U4I?t=108 

Mirosław Zelent lubi przygotowywać do matury:
– stymuluje
– przekazujemy cierpliwość dla błędów
– praca 1:1 jest inspriująca
https://youtu.be/Q6f2-_-8U4I?t=263 

Ile trzeba godzin by być w czymś dobrym?
– nauka to nie jest zapamiętywanie
– historia ucznia który od razu znała wynik
– żeby nauczyć się programowania trzeba programować – to my się uczymy
https://youtu.be/Q6f2-_-8U4I?t=355

Zakończenie Olimpijskiego Koła Informatycznego czwartek, 26 maja 2022, 18:00

Link do zajęć: https://youtu.be/MF-R2qlOWRk?t=5aa
Temat: Zakończenie

Dziękuję za fantastyczny rok!
– dziękuję za wysiłek, odkrywanie, wnikanie
– sukces każdego z nas
– każde zadanie które zaatakowaliśmy, zrobiliśmy, analizowaliśmy
– każdy z nas nauczył się sam – to my sami się uczymy – nie nauczyliście
– dziękuję za czas myślenia, debugowania – wtedy się uczymy
– dziękuję za samodzielne odkrywanie – internet, koledzy, discord, to jest ta nauka, to jest ten czas kiedy właśnie trwa na nasza przygoda, wycieczka rowerowa
– doświadczyliśmy przyjemnych chwil – gdy nasze zadania maja setki / dużo punktów
– ale ważne są te zadania których nie umiemy – one pokazują nam drogę, motywują
– Wy jesteście Olimpijskim Kołem Informatycznym – rozwiązujecie, poznajecie, odkrywacie
https://youtu.be/MF-R2qlOWRk?t=5

Dziękuję Tomkowi, Mikołajowi, Szymonowi – czas, wiedza, prowadzenie – tak byśmy każdego dnia byli mocniejsi
https://youtu.be/MF-R2qlOWRk?t=135

Dziękuję Rodzicom – uczymy się dla Was!
– że interesujecie się
– przyszłość tak, ale liczy się to co tu
– wystarczy raz dziennie zapytać jak poszło
– córka czy syn mogli powiedzieć zadanie, swój problem
https://youtu.be/MF-R2qlOWRk?t=175

Podziękowania Tomka:
– To wy uczyliście się ,odkrywaliście, będziecie zdobywać świat
– za uwagi / odpowiedzi
– za chęć do współpracy, pytanie, odpowiedzi
– za talent, rozumienie, macie lepsze pomysły
– rodzicom za wsparcie
https://youtu.be/MF-R2qlOWRk?t=268

Podziękowania Mikołaja
– Dziękuję każdemu kto brał udział w kółku, rozwiązywał zadania
– Każda minuta, chwila którą spędzamy nad rozwiązaniem zadań łączy się w coś większego
– Dziękuję za możliwość spotkania się twarzą w twarz.
https://youtu.be/MF-R2qlOWRk?t=363

Podziękowanie za każde zadanie:
https://youtu.be/MF-R2qlOWRk?t=3301

125 00 odsłon / 3 500 rozwiązań / … – DZIĘKUJĘ!
Statystyki:
– 125 000 odsłon wszystkich nagrań OKI na youtube
– 19 000 godzin w trakcie których były oglądane zajęcia OKI
– 1500 nowych subskrypcji na youtube
– 3 000 000 propozycji filmów OKI na kanale youtube
Każdy ma szansę
– 3 500 rozwiązań zadań wrzuconych przez uczestników OKI
– jak bardzo jesteśmy mocniejsi
– mocniejsi jesteśmy wtedy gdy sami robimy zadania
https://youtu.be/MF-R2qlOWRk?t=508

54 godziny / 32 spotkania – zajęcia Tomka Kwiatkowskiego:
– 42 kahooty
– ponad 200 zwycięzców
– ponad 300 pytań
– 123 zadania w Challenge Olimpiada OD PODSTAW
– ponad 98 000 punktów / ponad 900 zadań zrobionych
https://youtu.be/MF-R2qlOWRk?t=800

Dwa zadania z międzynarodowej olimpiady informatycznej IOI
– w trakcie zajęć / challenge
– niech się powiększa
– jesteśmy w stanie takie zadania robić!
– obyśmy się kiedyś tam znaleźli
– w tym roku w Indonezji
– najbardziej prestiżowa
– mierzmy wysoko!
https://youtu.be/MF-R2qlOWRk?t=900

Czy jest duży przeskok między Programowanie OD PODSTAW a Olimpiada OD PODSTAW:
– nie jest duży przeskok
– zmienia się to co robimy – nie skupiamy się na programowaniu a na rozwiązywanie problemów
https://youtu.be/MF-R2qlOWRk?t=1000

Pierwsze zajęcia OKI 2022/2023:
– powiemy sobie jaka będzie organizacja
https://youtu.be/MF-R2qlOWRk?t=1097

Gdzie są aktualności a propos zajęć OKI 2022/2023?
https://oki.org.pl/harmonogram-zajec/
– informacje do dotychczasowych zajęciach przejdą do archiwum
https://youtu.be/MF-R2qlOWRk?t=1782

Zapowiedź kółka Mikołaja  2022/2023
– poziom najwyższy
– przyjdź z wiedzą z C++
– olimpiadę trzeba pisać w C++
https://youtu.be/MF-R2qlOWRk?t=1240

Czy w edycji 2022/23 będzie algorytmika?
– oczywiście
– to algorytmika pozwala znaleźć lek, ekologiczny plastik
– jest sercem
– zajmiemy się też częścią heurystyczną
– czy przygotuje
https://youtu.be/MF-R2qlOWRk?t=1522

Czy OKI przygotowuje do matury?
– część algorytmiczna tak, bazy, excel, strony www – raczej nie
– ale ta część poza algorytmiczna jest łatwa
https://youtu.be/MF-R2qlOWRk?t=1568

Po co są zajęcia OKI?
– wydobyć z informatyki to co jest najciekawsze – algorytmikę
– nasza przyszłość / przygoda / dorosła część – byłą fascynująca
– nie walczymy o oceny – chcemy się dobrze bawić!
https://youtu.be/MF-R2qlOWRk?t=1878

Algorytmika jest sercem
– pozwala nam rozwiązać problem przy pomocy komputera
– dajemy największą wartość
– start-up, Google, Facebook – im pomożemy
– jest to najciekawsza przygoda
– algorytmika zawsze będzie
– uczymy się programować by wystartować w Olimpiadzie
https://youtu.be/MF-R2qlOWRk?t=1638

Statystyki Mikołaja:
– 30 kołek / 49 godzin
– 97 zadań
– 3-4 zadania tygodniowo to absolutnie minimum
– 113 osób podjęło próbę zrobienia zadań
– 168 punktów zdobytych przez uczestników
– zadanie Pociągi jako jedyne niepokonane
https://youtu.be/MF-R2qlOWRk?t=1335

Do czego nam się przydał Miś Uszatek?
– sortowania
– poznaliśmy ciekawego podejścia przyspieszające układanie misie uszatki na półce – zastosowanie algorytmiki
https://youtu.be/MF-R2qlOWRk?t=1950

Dino – nasza gra
– taka sama jak w Google Chrome
– grawitacja – nauczyliśmy się modelować a Dino grawitację
– kaktusy – krzyczał auuuuu
https://youtu.be/MF-R2qlOWRk?t=2054

Zrobiliśmy zadanie z IOI! – Międzynarodowej Olimpiady Informatycznej
– wiele z nas zrobiło
– nauczyliśmy się wykorzystywać sumy od początku – sumy prefiksowe
– już na jednych z pierwszych zajęć zrobiliśmy to zadanie
– związane z biologią DNA – możemy pomóc
– każdy z nas może zawalczyć
– wystarczą 3-4 zadania tygodniowo
https://youtu.be/MF-R2qlOWRk?t=2197

Co trzeba umieć z programowania by wziąć udział w Olimpiadzie programistycznej?
Dlaczego uczymy się programowania?
– by wziąć udział w olimpiadzie
– by przy pomocy komputera rozwiązywać problemu
– nie trzeba dużo programowania
– warunki, pętle, tablice
– warto, fantastyczna przygoda
https://youtu.be/MF-R2qlOWRk?t=2350

Zadania z USACO dotyczą krów farmera Johna
– krowy znają grafy
– wszystko może być grafem
– Graf is good!
https://youtu.be/MF-R2qlOWRk?t=2451

Było zadanie w USACO – krowy miały doktorat z fizyki kwantowej:
– do zrobienia przez każdego
https://youtu.be/MF-R2qlOWRk?t=2660

Co oznacza “każdego dnia mocniejsi”?
– lekko trudniejsze niż umiem
– powoli się rozwijać
https://youtu.be/MF-R2qlOWRk?t=2489

Tutorial OKI – Olimpijskiego Koła Informatycznego:
– programowanie
– na podstawie zajęć Tomka / Mikołaja
– część algorytmiczna
– zadania na pomysł
– po klei algorytmy
https://youtu.be/MF-R2qlOWRk?t=2532

Chcesz mieć fajną koszulkę na wakacje?
Chcesz wspomóc OKI?
– koszulki, czapeczki
https://youtu.be/MF-R2qlOWRk?t=2961

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

Warto robić zadania!
– 118 zadań Piokemona
– dało to złoto na finale OIJ
– wypracował sobie tymi zadaniami złoto!
https://youtu.be/MF-R2qlOWRk?t=3579

Olimpijskie koło informatyczne trwa!
– przed nami wielka przygoda
– 19 września 18:00
– będzie programowanie, olimpiada od podstaw
– zachęćmy kolegów i koleżanki – razem fajnie
– już niedługo!
https://youtu.be/MF-R2qlOWRk?t=3768

Wtorek, 7 czerwca, rozmowa online z Jankiem Strzeszyńskim
– zwycięzca międzynarodowej i polskiej olimpiady
– zachęcam do rozmowy jak zaczynał, czy to jest trudne, czy każdy może nie tylko marzyć ale wystartować w olimpiadzie
– jak się przygotowuje, jak robi zadanie, doświadczenie
– co dalej?
– to pierwszy film z serii
– bo olimpiada to przyszłość – rozwiazywanie problemów dla gigantów
https://youtu.be/MF-R2qlOWRk?t=3866

Zadanie wakacyjne – przed nami wakacje:
– gra połącz sąsiadująca pola
– jest czas, nie można wracać
– strona www, html
– logo
– gra na zamówienie
– nagrody
– klawiaturę, myszka, słuchawki, kamera
https://youtu.be/MF-R2qlOWRk?t=4034

Widać korelację między pracą a osiąganymi rezultatami:
– Stasiek Lada – zwycięzca OIJ
– każdego dnia mocniejsi, minimum 4 zadania tygodniowo, jest moc – tym się kierujemy
https://youtu.be/MF-R2qlOWRk?t=4261

Dziękuję wszystkim wspierającym Olimpijskie Koł Informatyczne:
– jedna kawa miesięcznie
– Tomek, Mikołaj to woluntariusze
– utrzymanie to są koszty
– powstaje aplikacja OKI
– dziękuję dobrodziejom i darczyńcom – tworzą OKI – każdy bez względu na miejsce, status może programować, startować w olimpiadzie, zmieniać świat, zakładać start-upy, mieć przygodę
https://youtu.be/MF-R2qlOWRk?t=4315

Życzę przygody!
– odpocznijcie, nabierzcie sił
– w domu – przygotujcie się do olimpiady
– najcenniejszy zasób w życiu czas
– na co poświęcicie czas to kochacie
– rodzina, najbliżsi , przyjaciele, chorzy – poświećcie czas
– pasja, lubicie – poświęcacie czas – bez punktów czy konkretów,
– nie pozwólcie by ten czas był kradziony przez używki, żeby one zabrały Wam czas, skróciły
– ofiarujcie ten czas na to co najważniejsze, dziękuję Tomkowi i Mikołajowi
– fantastyczny rok
– do zobaczenia 19 września, 18:00
https://youtu.be/MF-R2qlOWRk?t=4414

 

Programowanie od podstaw #31 – wtorek 17 maja 2022, 18:00

Link do zajęć:
Temat: Co dalej?

Co dalej?
– uczyliśmy się programować
– jesteśmy w środku wycieczki rowerowej
– co dalej
https://youtu.be/7Dkhh98nuFw?t=14

Przykłady projektów nastolatków:
Przykłady osób które zaczęły projekty programistyczne w młodym wieku
– streszczanie artykułów
– nagrody dla graczy
– sukces gdy złamiesz nogę? – bezpieczeństwo w sieci
– rynek aplikacji mobilnych – 6 bilionów operacji
– niekoniecznie  musimy założyć własny start-up
– możemy dołączyć do zespołu
– jeśli przeznaczymy wakacje na naszą pasję będziemy ekspertami i możemy dołączyć do start-upu firmy czy grupy kolegów
– w Polsce powstają też centra R&D – potrzebna algorytmika
– kolejny gigant zakłada R&D w Polsce
– potrzebni uczestnicy olimpiad, przygoda będzie trwać, każdego dnia coś nowego
– powiemy dziś jak znaleźć pomysły na palikacje
https://youtu.be/7Dkhh98nuFw?t=79

Dlaczego warto rozwijać swoją pasję?
Dlaczego Olimpiada?
Gratulacje dla uczestników Olimpiad!
– nieważne ile mieliśmy punktów
– ważne jest to czego nauczyliśmy się
– przed nami jest R&D
– do tego prowadzi nasza wycieczka rowerowa w tórą weszliśmy we wrześni
– by mieć fantastyczną pracę, godne życie
– spędźmy wakacje wypocząć, ale też pasja
– jeśli w domu 8:00 – 14:00 pasja, potem koledzy i rower
https://youtu.be/7Dkhh98nuFw?t=364

Co robić w wakacje?
https://youtu.be/7Dkhh98nuFw?t=514

Zakończenie OKI – czwartek, 26 maja:
https://youtu.be/7Dkhh98nuFw?t=1088

Jak znaleźć pomysł na własny program? – Mateusz Łojewski:
https://youtu.be/7Dkhh98nuFw?t=1335

Czy można dołączyć do grupy programistycznej Mateusza?
https://youtu.be/7Dkhh98nuFw?t=3481

 

Olimpiada od Podstaw #31 czwartek, 19 kwietnia 2022

Temat: Quick sort – zadanie Miś Uszatek 2

Gratulacje dla uczestników Olimpiady!
https://youtu.be/2aI_35xw-ms?t=17

Kto zrobił krok do przodu?
Porównujmy się tylko do siebie!
– porównajmy siebie do nas z początku zajęć
– co umiemy rozwiązać a co nie?
– jaki progres?
https://youtu.be/2aI_35xw-ms?t=89

Zaproszenie – zakończenie OKI:
https://youtu.be/2aI_35xw-ms?t=150

Wprowadzenie do sortowania – quiz:
– ile liczb na złych pozycjach
https://youtu.be/2aI_35xw-ms?t=442

Jakiego algorytmu sortowania używa C++?
https://youtu.be/2aI_35xw-ms?t=516

Jaka jest złożoność sortowania?
https://youtu.be/2aI_35xw-ms?t=588

Czy Tomek będzie prowadził OKI w kolejnym roku?
– raczej tak!
https://youtu.be/2aI_35xw-ms?t=1118

Omówienie zadania Miś Uszatek 2:
https://youtu.be/2aI_35xw-ms?t=1146

Jak działa Quick Sort?
https://youtu.be/2aI_35xw-ms?t=1394

Podsumowanie działania Quick Sort-a:
https://youtu.be/2aI_35xw-ms?t=1629

Jak zaimplementować quick sort w C++ / Python?
https://youtu.be/2aI_35xw-ms?t=1699
ODTAD ZACZAC

Zwiększamy efektywność Quic Sort-a:
https://youtu.be/2aI_35xw-ms?t=2297

Jaka jest złożoność Quick Sort-a?
– jedno wywołanie O(n) – przechodzi po całej tablicy
– liczba wywołań pesymistycznie n
– pesymistyczna złożoność to O(n^2)
– dlaczego używany?
– na zajęciach zajmujemy się pesymistyczną złożonością – dla najgorszych dla naszego algorytmu danych
– w życiu dane są losowe – wówczas złożoność (średnia) – to O(n^2)
https://youtu.be/2aI_35xw-ms?t=3361

Pesymistycznie vs codziennie…
Czy nie lepiej używać heap sort?
– zależy od danych
– do tej pory pomijaliśmy stałą w złożoności
– zbicie stałej w szybkim potęgowaniu to milion dolarów
– quick sort nie używa dodatkowy danych – dwie zmienne tylko
– quick sort – mega małą stała
– w średnim przypadku jest szybszy
– około 3 raz szybszy niż merge sort mimo, że merge ma pesymistyczną n logn
– dla losowych danych jednak quick jest szybszy – zamiast 3 minut minuta sortowania
– sort w C++ -> Introsort -> quicksort, jeśli za dużo operacji przerzuca się na heap sort-a, dla małych n<=13 odpala insertion sort (sortowanie przez wstawianie) – kwadratowe – insertion sort ma najmniejsza stałą (bez rekurencji)
– możemy obsłużyć 3 razy więcej klientów – ma znaczenie dla firm
– quick sort: pesymistycznie n^2, realnie n*logn
https://youtu.be/2aI_35xw-ms?t=3593

Sort z STL-a – jak szybko?
Sort z STL-a zawsze działa w nlogn:
– quicksort, heap sort lub sortowanie przez wstawianie
https://youtu.be/2aI_35xw-ms?t=3852

Po co uczymy się Quick Sort-a?
– podejście dziel i zwyciężaj – divide and conquer
– częsta technika – warto znać
https://youtu.be/2aI_35xw-ms?t=3881

Dlaczego złożoność Quick Sort jest n*logn dla optymalnego/średniego przypadku?
https://youtu.be/2aI_35xw-ms?t=3959

Po co uczymy się Quick Sort-a wersja 2?
Drugi powód dla którego warto znać Quick Sort:
– jeśli coś rozumiemy, możemy zmienić, poprawić!
– zauważyć że coś jest niepotrzebne
– rozwiązać zadanie tą metodą
– wiedzieć jak działać
– nie wystarczy znać funkcję która w Python wywołuje BFS, DFS, Dijkstrę
– jak sami znamy możemy dostosować do naszych potrzeb, ulepszyć
https://youtu.be/2aI_35xw-ms?t=4070

Kod Quick -sorta:
https://youtu.be/2aI_35xw-ms?t=4148

Challenge #31:
https://youtu.be/2aI_35xw-ms?t=4961

Cytat na pożegnanie….
https://youtu.be/2aI_35xw-ms?t=5228

 

Olimpiada dla zaawansowanych #31 poniedziałek, 16 maja 2022, 18:30

Temat: 2-SAT

2-SAT
https://youtu.be/_De2eKd6BGI?t=1101

Dowcip matematyczny:
– czy studenci umieją sobie wyobrazić przestrzeń 8-mio wymiarową
– wystarczy wyobrazić sobie przestrzeń n-wymiarową i podstawić 8!
https://youtu.be/_De2eKd6BGI?t=1108

Co to jest K-SAT?
K-SAT – co to jest?
https://youtu.be/_De2eKd6BGI?t=1156

Krótkie podsumowanie co to K-SAT:
https://youtu.be/_De2eKd6BGI?t=1330

K-SAT problemem otwartym dla K>=3:
– problem NP-trudny
– 2-SAT może być rozwiązany wielomianowo
– nagrody milionów dolarów
– dobry temat na prace naukowe / badawcze
– może uda się sprowadzić do problemu komiwojażera lub innego problemu wiadomego NP
– hipoteza NP = P
https://youtu.be/_De2eKd6BGI?t=1365

Przykładowy 2-SAT:
https://youtu.be/_De2eKd6BGI?t=1620

Tworzymy graf zależności 2-SAT:
https://youtu.be/_De2eKd6BGI?t=2113

Wszystkie wartości na jednym cyklu muszą być jednakowe:
– wynika to bezpośrednio z własności implikacji
– czyli znajdujemy silnie spójne składowe
https://youtu.be/_De2eKd6BGI?t=2560

Zmienna i jej negacja nie mogą być w silnie spójnej:
– nie da się rozwiązać
https://youtu.be/_De2eKd6BGI?t=2650

Szukamy kolejnych warunków na sprzeczności:
https://youtu.be/_De2eKd6BGI?t=2700

Wystarczy sprawdzić czy w jednej spójnej nie ma zmiennej i jednej negacji
– wówczas 2-SAT można spełnić – ma rozwiązanie
https://youtu.be/_De2eKd6BGI?t=2887

Kod 2-SAT jest bardzo prosty!
– pseudokod rozwiązania
https://youtu.be/_De2eKd6BGI?t=3280

Zadanie: E. The Road to Berland is Paved With Good Intentions
https://youtu.be/_De2eKd6BGI?t=3639
Link do zadania:
https://codeforces.com/problemset/problem/228/E

Zadanie Aslfalt:
https://youtu.be/_De2eKd6BGI?t=3928

Kod 2-SAT:
https://youtu.be/_De2eKd6BGI?t=5749

Kolejne zajęcia: HLD / Centroidy!
https://youtu.be/_De2eKd6BGI?t=5934

 

Olimpiada dla zaawansowanych #30 poniedziałek, 9 maja 2022, 18:30

https://youtu.be/7ZI1Hm5VBSE?t=368
Temat: Teoria gier v2

Drzewo Fenwicka – zalety
Kahoot – Drzewo Fenwicka
Ile pamięci potrzebuje drzewo Fenwicka (n)?
– jaka jest złożoność (logn)?
https://youtu.be/7ZI1Hm5VBSE?t=368

Co daje twierdzenie Sprague’a-Grundy’ego – co jest wymagane?
– umie nam pokonać każdą grę jakkolwiek nie zdefiniowaną – sensowną, symetryczną
https://youtu.be/7ZI1Hm5VBSE?t=1164

Co będzie do końca roku?
– 2-SAT
– Centroidy
– tematy pod finał
https://youtu.be/7ZI1Hm5VBSE?t=1221

Twierdzenie Sprague’a-Grundy’ego
– 4 własności
– skończona / szachy / jeśli 60 ruch bez zbicia bierki skończona – zasady turniejowe
– normalna – przegrywa ten kto nie ma ruchu / szachy / szach-mat
– bezstronna – każdy ma taką sama pulę wyboru
– skończona liczba możliwości ruchów z każdej pozycji
https://youtu.be/7ZI1Hm5VBSE?t=1622

Czy grałeś kiedyś w taką grę?
https://youtu.be/7ZI1Hm5VBSE?t=1932

Czemu twierdzenie Sprague’a-Grundy’ego jest potężne?
https://youtu.be/7ZI1Hm5VBSE?t=2044

Co to jest MEX?
– minimum excluded
https://youtu.be/7ZI1Hm5VBSE?t=2168

Kiedy można wygrać grę?
https://youtu.be/7ZI1Hm5VBSE?t=2254

Gra Nim
– kamienie na stosie
https://youtu.be/7ZI1Hm5VBSE?t=2453

Co oznacza strategia wygrywająca?
https://youtu.be/7ZI1Hm5VBSE?t=2918

Zadanie Misie Patysie:
https://youtu.be/7ZI1Hm5VBSE?t=3250

 

Olimpiada OD PODSTAW #30 – czwartek, 12 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/GG1bZzJI73U?t=782
Temat: Quizy, strategia przed konkursem, finałem

Quiz algorytmiczny – początek
Ile maksymalnie liczb może mieć n w rozkładzie na czynniki pierwsze?
– co najmniej dwójka – dzielimy przez 2 – nie więcej niz log2(n)
https://youtu.be/GG1bZzJI73U?t=782

Jak sprawdzić czy liczba jest pierwsza?
https://youtu.be/GG1bZzJI73U?t=1002

Jak przejść z A do B na planszy?
– niektóre pola zablokowane
– dynamik
– sprawdzenie wszystkich możliwości
https://youtu.be/GG1bZzJI73U?t=1316

Które obserwacja są prawidłowe?
Znajdujemy spójny podciąg
– które obserwacje są prawidłowe?
https://youtu.be/GG1bZzJI73U?t=1647

Jak rozwiązywać zadania?
Najważniejsza część rozwiązania zadania
– obserwacje
– znajdować / zapisywać
https://youtu.be/GG1bZzJI73U?t=1725

Prawidłowa obserwacja:
– n^2 prawidłowych podciągów – n początków i n końców
https://youtu.be/GG1bZzJI73U?t=1748

Jak stwierdzić czy obserwacja jest dobra?
– próbujemy znaleźć kontrprzykład – wtedy zła
– w ten sposób eliminujemy obserwację, że
* nie opłaca się brać ujemnych wartości
* opłaca się brać jeden element z brzegi
* warto posortować cią
https://youtu.be/GG1bZzJI73U?t=1790

Sprawdzać wiele przykładów
– weryfikuję obserwacje
https://youtu.be/GG1bZzJI73U?t=1960

Jak znaleźć podciąg o największej sumie?
– sumy prefiksowe – liczby ujemne – gąsienica odpada
https://youtu.be/GG1bZzJI73U?t=2107

Dlaczego gąsienica się nie sprawdzi przy obliczeniu maksymalnego ciągu?
– liczby ujemne
https://youtu.be/GG1bZzJI73U?t=2155

Jak można było wpaść że gąsienica się nie sprawdzi?
– analizujemy przykład
– może być krótki – 6-7 liczb
– próbujemy ta gąsienicę
https://youtu.be/GG1bZzJI73U?t=2197

Dlaczego sumy prefiksowe znajdą rozwiązanie?
https://youtu.be/GG1bZzJI73U?t=2297

Problem na następne 5 pytań – Binary Search po wyniku:
– mamy dane współrzędne stacji nadawczych i domów?
– jaki jest minimalny R stacji nadawczych?
https://youtu.be/GG1bZzJI73U?t=2528

Które obserwacje są prawdziwe – Binary Search po wyniku:
– jeżeli R jest ok to R+1 jest ok
– jest sens by dom otrzymał sygnał z najbliższej stacji
– czy stacja między sąsiednimi domami będzie dawać sygnał dla tych domów
https://youtu.be/GG1bZzJI73U?t=2810

Zadania można zrobić na wiele sposobów!
– Jak można rozwiązać to zadanie?
– Binary Search po wyniku
– BFS
– Gąsienica – obserwacja że z najbliższego lewego albo prawego nadajnika
– R minimalny dla każdego domu i bierzemy największy
https://youtu.be/GG1bZzJI73U?t=3300

BFS – jak znaleźć minimalną drogę w labiryncie
– dlaczego nie DFS?
https://youtu.be/GG1bZzJI73U?t=4420

Odd divisor – pomysł na zadanie
Odd divisor – omówienie pomysłu na zadanie
– powiedzieć czy ma dzielnik nie parzysty
– dzielimy przez 2 – jeśli potęga dwójki NIE, inaczej TAK
https://youtu.be/GG1bZzJI73U?t=4704

Ciasta – pomysł na zadanie
Ciasta – omówienie pomysłu na zadanie:
https://youtu.be/GG1bZzJI73U?t=4870

Plakatowanie – pomysł na zadanie
Zadanie plakatowanie
– I etap OI-a – wysoki poziom
https://youtu.be/GG1bZzJI73U?t=5348

Quiz STRATEGIA
Co robić dzień przed konkursem?
– wyspać się!
– spacer
https://youtu.be/GG1bZzJI73U?t=6249

NIE uczymy się NOWYCH algorytmów dzień przed!
– ten nowy algorytm będzie świeży i będzie próbował wcisnąć wszędzie
– co innego znane algorytmy – te można sobie odświeżyć
https://youtu.be/GG1bZzJI73U?t=6350

Warto przypomnieć sobie algorytmy dzień przed:
– podczas spaceru pomyśleć czym był binary search, zadanie
https://youtu.be/GG1bZzJI73U?t=6455

Gdzie Tomek idzie na studia?
– UW / Informatyka
https://youtu.be/GG1bZzJI73U?t=6541

Co robić podczas konkursu?
Co robimy podczas trwania finału?
https://youtu.be/GG1bZzJI73U?t=6766

Dlaczego nie warto myśleć czy moja liczba punktów wystarczy na finalistę?
– na finale jesteśmy my zadania i tyle
– jak najwięcej zadań chcemy rozwiązać
– myślenie o innych nic nie daje
– niech inni myślą o sobie
– napiszmy na tyle ile potrafimy
https://youtu.be/GG1bZzJI73U?t=6772

Porównywanie się z innymi nie ma sensu:
– powoduje dyskomfort w stosunku do lepszych
– w stosunku do gorszych – nie będziemy się rozwijać
https://youtu.be/GG1bZzJI73U?t=6842

Jest jedna osoba do której można się porównywać!
– ja sam sprzed pół roku, roku, 5 lat
– poznałem C++, dynamiki, …
https://youtu.be/GG1bZzJI73U?t=6884

Treści zadań:
– czytamy wszystkie zadania
– patrzymy na limity, przykłady
– patrzymy na szczegóły
– wybieramy najłatwiejsze
https://youtu.be/GG1bZzJI73U?t=6954

Robimy zadania od najłatwiejszego!
https://youtu.be/GG1bZzJI73U?t=7176

Co gdy nie mam pomysłu na zadanie?
– toaleta, przejść się,
– mózg wpada na inne tory
https://youtu.be/GG1bZzJI73U?t=7242

Co gdy mam pomysł?
Co gdy umiem zrobić zadanie?
– nie odkładamy
– dobrze opracuj algorytm
https://youtu.be/GG1bZzJI73U?t=7451

Walczymy do końca!
– wiele osób dostało w ostatnich sekundach +100
https://youtu.be/GG1bZzJI73U?t=7675

Kiedy warto przestawić się na inne zadanie?
– gdy nie mam pomysłu
– po 15 minutach
– jeśli widzę że dam radę cos wymyśleć – robię to zadanie
https://youtu.be/GG1bZzJI73U?t=8380

Ile razy w życiu Tome grał w Tetrisa?
https://youtu.be/GG1bZzJI73U?t=8619

Co Tomek pisał na maturze?
– polski – mam nadzieję na 30%+
– angielski – liczy na blisko maxa
– fizyk
https://youtu.be/GG1bZzJI73U?t=8627

Ile czasu Tomek poświęcał na naukę do OI-a?
– 4-5 zadań tygodniowo
– 2-3h tygodniowo
– jeśli bawi poświęcić się!
https://youtu.be/GG1bZzJI73U?t=8673

Co to są zadania interaktywne?
– były na OI
– nie dają wejścia standardowego
– musimy napisać funkcję
https://youtu.be/GG1bZzJI73U?t=8740

Czego Tomek nie lubi z fizyki?
– drgania, fale, magnetyzmu
– dynamika, bryły, ciecze, astronomia ok
https://youtu.be/GG1bZzJI73U?t=8842

Życzenia, powodzenia:
– otwartych umysłów
– niech lepiej Wam pójdzie niż myślicie
https://youtu.be/GG1bZzJI73U?t=8900

Co jeśli ktoś się stresuje?
– spacer, wdech/wydech, uspokoi tętno
– drobny stres mobilizuje, zbyt duży przeszkadza
– nie napędzać tego stresu
– myślenie o punktacji stresuje
https://youtu.be/GG1bZzJI73U?t=9008

 

Sztuczna inteligencja OD PODSTAW #1 – wtorek, 10 maja 2022, 18:00
Link do zajęć: https://youtu.be/UtChFU2loWk?t=18
Temat: Uczymy sieć neuronową

Komputer czy kalkulator?
Tradycyjne podejście – komputer wykonuje nasze polecenia
– do tej pory komputer to był kalkulator
– robił nasze polecenia
– nie miał żadnej inteligencji
https://youtu.be/UtChFU2loWk?t=18

Poznać świat!
Człowiek chce poznać świat!
– od zarania dziejów chcemy poznać historię świata
– gorączka to choroba
– zmieniamy reguły – Kopernik zmienił postrzeganie zmieni
https://youtu.be/UtChFU2loWk?t=60

Czy komputer może uczyć się jak człowiek?
– Od samego urodzenia się uczymy
– czy komputer może tak samo?
– czy musimy mu powiedzieć reguły? temperatura 39 stopni to gorączka
– czy on sam może do tego dojść?
– tak może do tego sam dojść
– zobaczymy dziś, że komputer może sam się nauczyć
– czego? rozpoznawania znaków!
https://youtu.be/UtChFU2loWk?t=101

Gdzie sztuczna inteligencja?
Gdzie jest stosowana sztuczna inteligencja / sieci neuronowe?
– klasyfikacja
– ile widać muffinków a ile psów chihuahua?
– czy dana osoba spłaci kredyt czy nie?
– klasyfikacja ogórków – jeden z naukowców zrobił sztuczną inteligencję dla swoich rodziców czy ogórki nadają się do sklepu czy nie?
https://youtu.be/UtChFU2loWk?t=136

ile widać muffinków a ile psów chihuahua?
https://youtu.be/UtChFU2loWk?t=144

Sztuczna inteligencja może nam powiedzieć
– ile będzie kosztował hotel?
– ile będzie kosztował samochód?
– rozmawiać z nami – droga, jak się ubrać
https://youtu.be/UtChFU2loWk?t=204

Sieć neuronowa potrafi grać w gry!
– AlphaStar sieć DeepMind – gra w grę Starcraft II
– podejmuje decyzje szybciej od człowieka co 20 ms
– nauczyła się sama
– szachy – programy komputerowe są lepsze od graczy
– Wydawało się że komputer nigdy nie wygra w go
– AphaZero firmy DeepMind – pokonała najlepszego gracza
– zrobiła ruch który był kreatywny
– niezgodny z kanonem zasad podstawowych – tego czego uczy się graczy
– wydawało się że popełniła błąd – wszyscy mówili teraz już przegra
– po 4 ruchach okazało się że ruch był genialny – dał jej zwycięstwo
– kreatywna w naszym rozumieniu!
https://youtu.be/UtChFU2loWk?t=234

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

Czwartek – spotkanie z Tomkiem
– quizy algorytmiczne
– warto rozwiązywać problemy
– za siecią neuronową kryje się matematyka
https://youtu.be/UtChFU2loWk?t=421

W czwartek o 18:00 MAP
– na kanale MAP algorytmika zaawansowana
– prowadzi Kamil Dębowski / Errichto – najlepszy algorytmik w Polsce
https://youtu.be/UtChFU2loWk?t=462

III etap w sobotę  – przygotuj środowisko
https://youtu.be/UtChFU2loWk?t=497

Co dalej? – Zajęcia z Mateuszem
Zapowiedź zajęć za tydzień
– Mateusz powie o swoich projektach
– aktywny w swoim technikom
– prowadzi koła, pisze aplikacje
– powie jak się zorganizować
– nasz temat to jest co dalej?
– umiemy programować, jak to wykorzystać
– to musie mieć sens, musi wziąć udział w realnych projektach
– Matuszowi się to udało
– podzieli się swoim doświadczeniem
– ja też pewne rzeczy podpowiem
https://youtu.be/UtChFU2loWk?t=637

Quiz wstępny – sztuczna inteligencja – jak człowiek się uczy
https://youtu.be/UtChFU2loWk?t=742

Czy wszystko umiemy od momentu urodzenia?
– oczywiście nie
– po polsku nie, tabliczki mnożenia
https://youtu.be/UtChFU2loWk?t=749

Jak człowiek się uczy?
– korygujemy złe odpowiedzi
– tabliczka mnożenia
– powtarzając – wiersz
– jeśli mamy poprawną odpowiedź to nie korygujemy
https://youtu.be/UtChFU2loWk?t=828

Nasz mózg składa się z neuronów
– 100% poprawnych odpowiedzi!
https://youtu.be/UtChFU2loWk?t=890

Zadanie Znaki Drogowe – tworzymy sieć neuronową
– rozróżniamy znaki drogowe
https://youtu.be/UtChFU2loWk?t=1033

Kod / omówienie / linki:
https://oki.org.pl/znaki-drogowe-v1

Nasza sieć neuronowa ma rozróżniać znaki drogowe:
– pokazać
https://youtu.be/UtChFU2loWk?t=1130

Po co sieć neuronowa?
– pokazać
– widać jaki znak zakazu
– samochód autonomiczny musi rozpoznawać znaki
– łączymy sieci neuronowa – jedna pokaże szerokość i wysokość, kolejna rozpozna co to reprezentuje
https://youtu.be/UtChFU2loWk?t=1149

To od razu widać, że jeśli wysokość większa to ciężarówka a jeśli szerokość większa to ciężarówka.
– pokazać
– jasne
– ale sieć musi się nauczyć
– tak samo nauczy się sieć dla bardziej skomplikowanych przypadków
– a ten jest prosty by zrozumieć
https://youtu.be/UtChFU2loWk?t=1207

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

Jak rozwiążemy nasz problem?
– rozwiążemy sami
– stworzymy sieć neuronowa
– nauczymy
– sprawdzimy dla innych danych
– zobaczymy że pod spodem jest matematyka
https://youtu.be/UtChFU2loWk?t=1413

Matematyka!
Pod spodem jest matematyka
– pokazać
– zachęcam
– jest fascynująca, piękna
– sieć neuronowa to czysta matematyka
https://youtu.be/UtChFU2loWk?t=1433

Neuron – jak działa?
– odpowiednia moc dendrytów daje jedynkę na wyjściu
https://youtu.be/UtChFU2loWk?t=1470

Jak działa perceptron dla naszego przykładu?
– na wejściu dostaje wysokość / szerokość
– na wyjściu musi powiedzieć jaki znak jest: ciężarówka czy samochód
– wejścia mnożymy przez wagę

https://youtu.be/UtChFU2loWk?t=1572

Dobieramy wagi ręcznie:
– wagi to 1 oraz -1 by dobrze rozpoznawał / odróżniał człowieka od ciężarówki
– człowiek ma większą wysokość i jest dodatni to ma być 1 na wysokości
https://youtu.be/UtChFU2loWk?t=2028

Jeśli naszej sieci damy wagi 1/ -1 to będzie rozróżniać wagi
– pokazać
– bez ifów
– sam wie
https://youtu.be/UtChFU2loWk?t=2182

Co jest naszym problemem?
Co jest naszym problemem  – dobór wag
Chcemy by sieć sama doszła do tych wag!
– pokazać
– nie chcemy dawać jej tych wag
– my chcemy by sam się nauczył
– rozwiązaniem naszego problemu jest dobór wag
– mamy dwie możliwości – albo powiemy mu te wagi 1/-1 albo powiemy, stary naucz się sam
https://youtu.be/UtChFU2loWk?t=2274

Uczymy nasz komputer
– Zaczynamy od przypadkowych wag
– komputer uczy się
– nawet złych /odwrotnych
– nie wiemy co ma być, dajemy losowo
– uczymy się przy pomocy arkusza kalkulacyjnego
https://youtu.be/UtChFU2loWk?t=2342

Na czym polega uczenie sieci neuronowej?
– pokazać
– dobranie wag
– sama nie zgadnie
– dajemy jej dane do uczenia
– dla tych danych człowiek / dla tych ciężarówka
– tak jak my się uczymy tabliczki mnożenia / 6*3 / 7*5
https://youtu.be/UtChFU2loWk?t=2493

Jak sieć radzi sobie dla początkowych wag?
– krok po kroku
https://youtu.be/UtChFU2loWk?t=2559

Pierwszy test od razu źle
– pokazać / radość
– dla człowieka ujemnie / cięzarówka
– o kurczę będzie jazda
https://youtu.be/UtChFU2loWk?t=2680

Nie jest łatwo być nauczycielem!
Pierwszy test od razu źle
– pokazać / radość
– o kurczę będzie jazda
– jak dla tabliczki mnożenia 6*3 = 10 to będzie jazda
– tu tak samo jak dla 6 i 3 widzisz ciężarówkę to dobrze nie wygląda
https://youtu.be/UtChFU2loWk?t=2691

Sieć neuronowa nareszcie coś się udało
– pokazać / radość
– przyjechał znak ciężarówki – i rozpoznała ciężarówkę
– jest jakaś nadzieja – może nauczymy tą osobę tej tabliczki mnożenia
https://youtu.be/UtChFU2loWk?t=2804

Radość z nauki sieci:
https://youtu.be/UtChFU2loWk?t=2843

Jest źle – musimy uczyć sieć
– radość / pokazać
– sieć nie takie wagi
– będziemy się uczyć powtarzając dane testowe
https://youtu.be/UtChFU2loWk?t=2914

Jak uczymy sieć?
– uczymy się tylko dla złych przypadków
– wejście mnożymy razy szybkość uczenia – zmianę
– wagę zwiększamy o zmianę
– była -10 a nowa waga będzie -8.4 by bardziej dawała dodatnie wartości
https://youtu.be/UtChFU2loWk?t=3056

Podsumowanie uczenia dla człowieka
– modyfikujemy wagi – na tym polega uczenie
– dla tej złej odpowiedzi
– zmianę wagi dodaje do poprzedniej wagi
– zmiana to wejście razy szybkość uczenia
https://youtu.be/UtChFU2loWk?t=3231

Jedna waga poszła w dobrą stronę druga w złą
https://youtu.be/UtChFU2loWk?t=3454

Jedna waga już nam się nauczyła po dwóch testach
– waga wysokości jest dodatnia!
– z -10 na 8.4
– ale druga waga idzie w złą stronę
https://youtu.be/UtChFU2loWk?t=3541

Dane treningowe poprawiają bardziej dobrą wagę wysokości niż złą wysokości
– z -10 na 8.4 – waga wysokości poszła na dobrą stronę
– z 7 na 13 dla szerokości – minimalnie w złą stronę szerokość
– wysokość człowieka jest duża powoduje, że waga wysokości szybko się uczy, zwiększa swoją wartość
– szerokość człowieka też się zwiększa ale mało, bo szerokości człowiek ma małe – ta waga jest nieistotna dla człowieka
– sieć neuronowa zmienia wagi w stronę dobrych wartości!
https://youtu.be/UtChFU2loWk?t=3628

Jak uczymy sieć dla ciężarówki?
– jeśli zły wynik (dodatni) to musimy odejmować zmianę
https://youtu.be/UtChFU2loWk?t=3752

Dlaczego sieć uczy się na ciężarówce?
– bo waga szerokości która decyduje o ciężarówce jest bardziej zmieniana w dół, ma większe wartości
https://youtu.be/UtChFU2loWk?t=4010

Jesteśmy nauczycielem i odpytujemy sieć czy jest dobrze?
– pokazać
https://youtu.be/UtChFU2loWk?t=4527

Tylko trochę źle
– pokazać  / radość
– w tej tabliczce mnożenia minimalne się pomyliła!
https://youtu.be/UtChFU2loWk?t=4602

Uczymy się tylko na błędach:
https://youtu.be/UtChFU2loWk?t=4775

Wszędzie odpowiada dobrze!
– pokazać / radość
– nasza sieć nauczyła
– analizujemy wszystkie przypadki
https://youtu.be/UtChFU2loWk?t=4803

Nasza sieć sama doszła do dobrych wag!
– pokazać radość
– po 3 epokach
– prostym neuronem
– sama nauczyła się rozróżniać ciężarówkę od człowieka
– nie powiedzieliśmy jej jak to robić
– ona sama się nauczyła!
– po 3 epokach / powtórzeniach wiersza
– ale my zgadliśmy inne wagi
– ale jest dużo dobrych rozwiązań
– startowała od bardzo złych wag – odwrotnych niż dobre
– a doszła sam do dobrych waga
– bez ifów
– może takie uczenie napisać w dowolnych językach programowania
https://youtu.be/UtChFU2loWk?t=4841

Czysta radość z nauczenia sieci neuronowej!
– pokazać!
https://youtu.be/UtChFU2loWk?t=4859

Zaczynamy od małych losowych wartości:
https://youtu.be/UtChFU2loWk?t=4970

Interpretacja matematyczna:
– rysujemy nasze obiekty na osi szerokość / wysokość
– oddzieliśmy prostą wys-szer = 0
https://youtu.be/UtChFU2loWk?t=5048

Siecią neuronową znaleźliśmy parametry równania matematycznego który rozdziela punkty:
https://youtu.be/UtChFU2loWk?t=5368

Matematyka!
– pokazać
– 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

Dane treningowe / uczące się a dane testowe
– musimy mieć inne dane – testowe – inne niż uczące
– zbliża się wagami do treningowych – a sprawdzamy na testowych
– sprawdzamy na testowych
https://youtu.be/UtChFU2loWk?t=5452

Zrobiliśmy prawdziwy neuron!
– pokazać
– więcej neuronów
– każdy działa tak samo
– dodajemy pewną stałą
– tak samo uczymy
https://youtu.be/UtChFU2loWk?t=5698

Od września bawimy się dużymi sieciami neuronowymi
– pokazać
– generować obrazki!
– głęboko sieć
– warstwy mają sens
– oceniając hotel jedna warstwa daje ocenę za odległość od plaży, druga za jedzenie, itp.
https://youtu.be/UtChFU2loWk?t=5817

Wnioski
– pokazać
– zrobiliśmy prawdziwą sieć – prostą ale prawdziwą – każda inna uczy się tak samo
– sama się nauczyła – nie ma if-ów
– możemy odwzorować wszystko!
– sama się uczy
– musi być odpowiednia liczba danych treningowych
https://youtu.be/UtChFU2loWk?t=5859

Czysta matematyka – przyszłość, odkrywanie, super sieci neuronowe
– pokazać
https://youtu.be/UtChFU2loWk?t=5869

Musimy uwzględnić wszystkie rzeczy które są istotne do nauki, decyzji
– nie możemy pominąć wysokości i brać samą szerokość
https://youtu.be/UtChFU2loWk?t=5938

Różnica między algorytmem a siecią neuronową
– pokazać
– dużo danych treningowych
– wszystkie istotne parametry
– mogą być nieistotne  -da zerowe wagi
https://youtu.be/UtChFU2loWk?t=5975

Jakie powinny wartości wag na początku?
https://youtu.be/UtChFU2loWk?t=6055

Wniosek Kaliny – jak się uczymy?
– pokazać
– zmniejszamy / zwiększamy wagi aż dojdziemy do doskonałości
https://youtu.be/UtChFU2loWk?t=6082

Nasze komentarze odnośnie sztucznej inteligencji
– pokazać
https://youtu.be/UtChFU2loWk?t=6140

Jestem podekscytowany naszymi zajęciami od września
– pokazać
– będziemy tworzyć sieci neuronowe
– dobierać współczynnik uczenia
– co trzeba zrobić by zaprojektować dobre sieci neuronowe
https://youtu.be/UtChFU2loWk?t=6165

Dziękuję za wszystkie gry Dino – quiz!
– pokazać
https://youtu.be/UtChFU2loWk?t=6338

Dziękuję za piękne neurony – quiz!
– pokazać
https://youtu.be/UtChFU2loWk?t=6476

Wiersz Kaliny
– pokazać
https://youtu.be/UtChFU2loWk?t=6584

Zapraszam na zajęcia – Co dalej?
– pokazać
https://youtu.be/UtChFU2loWk?t=6767

Fantastyczny wniosek Kaliny
– inspirowane naszym mózgiem
– przenieśliśmy biologię do komputera
https://youtu.be/UtChFU2loWk?t=6816

Quiz sieć neuronowa:
https://youtu.be/UtChFU2loWk?t=6893

Rozróżniamy szklankę od spodka -quiz kahoot:
https://youtu.be/UtChFU2loWk?t=6969

Jakie wagi dajemy początkowo dla sieci neuronowej?
https://youtu.be/UtChFU2loWk?t=7381

Uczymy się tylko na błędnych odpowiedziach!
– pokazać
– my też uczymy się na błędach
– tak samo uczy się sieć neuronowa
– 100% poprawnych odpowiedzi
– jesteśmy ekspertami
https://youtu.be/UtChFU2loWk?t=7396

Jak modyfikujemy wagi?
– kiedy dodajemy kiedy odejmujemy wartości od wag?
– przykład spodka / szklanki
https://youtu.be/UtChFU2loWk?t=7454

Dlaczego sieć neuronowa się uczy?
– odejmuję dla złych dodatnich wartości – dlaczego?
– wagi przyciągane w stronę poprawnych wartości
– każda waga się zmniejszy – waga która powinna ujemna bardziej bo jest większa dla złych wartości
https://youtu.be/UtChFU2loWk?t=7528

Czy trzeba mieć wszystkie decydujące wartości na wejściu
– sama wysokość nie wystarczy
https://youtu.be/UtChFU2loWk?t=7603

Co jeśli uwzględnimy za dużo parametrów?
– więcej liczenia / testów potrzebnych / dłuższe liczenie
– specjalne komputery
https://youtu.be/UtChFU2loWk?t=7718

100% poprawnych odpowiedzi!
– jak się uczy sieć neuronowa
– dąży wagami w stronę poprawnych odpwoiedzi
https://youtu.be/UtChFU2loWk?t=7870

Dlaczego sieć neuronowa działa?
– jeśli mamy człowieka dodajemy, ciężarówka odejmujemy
– wytłumaczenie dokładne
– uczymy się na błędach
– w stronę dobrych wyników
https://youtu.be/UtChFU2loWk?t=8015

Co gdyby było więcej wag?
– liczymy tak samo
https://youtu.be/UtChFU2loWk?t=8077

Czy to co zrobiliśmy zawsze daje dobre wyniki
– minimalizacja funkcji
– małymi krokami
– duży współczynnik – nie znajdujemy
– znajdujemy minimum funkcji
https://youtu.be/UtChFU2loWk?t=8203

Challenge Sztuczna inteligencja OD PODSTAW!
https://youtu.be/UtChFU2loWk?t=6716

 

Olimpiada OD PODSTAW #29A – czwartek, 6 maja 2022, 18:00
Link do zajęć:
Temat: Dwa zadania z finałów

Zapowiedź zajęć 12 maja
– quizy przed finałem, strategia
– pomysł na zadania z challenge
https://youtu.be/JJzOAD4SBpc?t=87

Zapowiedź zajęć sztucznej inteligencji!
https://youtu.be/JJzOAD4SBpc?t=235

Pakowanie plecaka – kahoot – różnica między algorytmem zachłannym a dynamicznym
https://youtu.be/JJzOAD4SBpc?t=320

Wytłumaczenie plecaka – pakowanie – pytanie kahoot o maksymalną wartość w plecaku
Początek pytania: https://youtu.be/JJzOAD4SBpc?t=546
Początek omówienia: https://youtu.be/JJzOAD4SBpc?t=640

Piramida liczbowa – III etap, X OIG, zawody drużynowe:
https://youtu.be/JJzOAD4SBpc?t=1243

Kod / linki / omówienie:
https://oki.org.pl/piramida

Gdy nie można czegoś zrobić jesteśmy kreatywni!
– nie ma struktury w Pythonie?
Tomek musiał pomyśleć!
I wymyślił!
https://youtu.be/JJzOAD4SBpc?t=1790

Jak rozwiązać zadanie Piramida liczbowa?
– obracamy piramidę
https://youtu.be/JJzOAD4SBpc?t=1835

Pierwszy pomysł Tomka
– liczby układają się w prostokąty
– rozmiary prostokątów da się obliczyć – możemy obliczyć odległość najbliższą większa na prawo i na lewo
– można to zrobić przy pomocy set – czas O(n*logn)
– kolejką monotoniczną – czas O(n)
https://youtu.be/JJzOAD4SBpc?t=2000

Szybsze i prostsze rozwiązanie
– pamiętamy na stosie liczby które są maksymalne w dół oraz ich ilość
– tak naprawdę kolejka monotoniczna
https://youtu.be/JJzOAD4SBpc?t=2155

Pamiętamy sumę liczb na stosie
– dlaczego pamiętamy tylko jeden wiersz?
https://youtu.be/JJzOAD4SBpc?t=3127

Analizujemy cały nasz algorytm od początku
– Musimy trzymać sumę wszystkich liczb na stosie – zmienna suma
https://youtu.be/JJzOAD4SBpc?t=3246

Pseudokod naszego algorytmu:
https://youtu.be/JJzOAD4SBpc?t=3896

Jaka jest złożoność naszego algorytmu?
https://youtu.be/JJzOAD4SBpc?t=4000

Omówienie kodu zadania Piramida:
https://youtu.be/JJzOAD4SBpc?t=4324

Strażnik
– Dlaczego na początku stosu znajduje się duża liczba?
– Nie musmy sprawdzać czy stos nie jest pusty
– Ta liczba jest większa od każdej używanej – nigdy jej nie uwzględnimy, nie zjemy
https://youtu.be/JJzOAD4SBpc?t=4418

Uwaga na konwersje typów w C++
– dajemy rzutowanie
https://youtu.be/JJzOAD4SBpc?t=4552

Omówienie zadania Sejf:
https://youtu.be/JJzOAD4SBpc?t=5440

Kod / linki / omówienie:
https://oki.org.pl/sejf

Jak rozwiązywać zadania?
– liczby są po kolei w wierszach / kolumnach
– wystarczy narysować!
Wzorcowe rozwiązanie zadania:
Zadania 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

Omówienie kodu zadania:
https://youtu.be/JJzOAD4SBpc?t=6293

Liczy się pomysł!
– obydwa zadania 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

Challenge #29A
https://youtu.be/JJzOAD4SBpc?t=6626

Quiz przygotowujący do naszych zajęć:
https://youtu.be/JJzOAD4SBpc?t=6847

 

Olimpiada DLA ZAAWANSOWANYCH #29 – poniedziałek, 25 maja 2022, 18:30
Link do zajęć: https://youtu.be/zRKoUCtrzfc?t=501
Temat: Drzewo Fenwicka

Skojarzenia w grafach co to jest? – kahoot:
https://youtu.be/zRKoUCtrzfc?t=501

Skojarzenia doskonałe:
– każdy wierzchołek jest skojarzony
https://youtu.be/zRKoUCtrzfc?t=1390

Jak wiedzieć czy istnieje skojarzenie doskonałe?
– twierdzenie Halla o kojarzeniu małżeństw:
https://youtu.be/zRKoUCtrzfc?t=1769

Zadanie Łyżwy – piękny przykład na twierdzenie Halla
https://youtu.be/zRKoUCtrzfc?t=2225

Tworzymy PSOMS
– Drzewo punkt – przedział:
https://youtu.be/zRKoUCtrzfc?t=3919

Co to jest PSOMS?
– Podciąg spójny o maksymalnej sumie
https://youtu.be/zRKoUCtrzfc?t=4109

Drzewo Fenwicka:
https://youtu.be/zRKoUCtrzfc?t=4214

W jakich zadaniach przydają się wielowymiarowe drzewa Fenwicka?
https://youtu.be/zRKoUCtrzfc?t=6377

 

 

Olimpiada OD PODSTAW #29 – czwartek, 28 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
Temat: Problem plecakowy

Czym jest problem plecakowy?
– zapakowanie plecaka
– mam różne przedmioty – waga/wartość – zmieścić jak najwięcej ich o jak największej wartości
– również dla zapakowania statku
– jak pociąć materiał
– bezpieczeństwo, bankowość
https://youtu.be/rN7NFTpGMiI?t=32

Zapowiedź OKI #29A
– dwa zadania z z finałów / Sejf / Piramida
https://youtu.be/rN7NFTpGMiI?t=178
oraz
https://youtu.be/rN7NFTpGMiI?t=5332

Ćwiczenia z sortowania topologicznego:
– na ile sposobów można posortować topologicznie graf?
– złożoność sortowania topologicznego
https://youtu.be/rN7NFTpGMiI?t=384

Plecak bez wartości – quiz kahoot:
– ile najwięcej przedmiotów zabierzesz do plecaka?
https://youtu.be/rN7NFTpGMiI?t=627
Problem wydawania reszty – kahoot:
https://youtu.be/rN7NFTpGMiI?t=760

Omówienie zadania Knapsack 1:
https://youtu.be/rN7NFTpGMiI?t=989
Kod / linki / omówienie:
https://oki.org.pl/knapsack-1

Czy można problem plecakowy rozwiązać zachłannie?
– posortować wziąć najlżejsze
https://youtu.be/rN7NFTpGMiI?t=1292

Czy można posortować po stosunku wartość/waga i wziąć najcenniejsze?
– na pierwszy rzut oka wydaje się sensowne
– przykład że nie działa
– zachłanne rozwiązanie nie działa
– gdyby produkty były podzielne na dowolnie małe części to by zadziałało
– ale nasze produkty są niepodzielne – nie możemy wziąć 2/3 telefonu
https://youtu.be/rN7NFTpGMiI?t=1340

Dynamiczne rozwiązanie – problem plecakowy:
– dwuwymiarowe dynamik
– pakujemy po kolei przedmioty do dwuwymiarowej tablicy i sprawdzamy jaki jest najlepszy wynik każdej wagi mając tylko do tej pory uwzględnione przedmioty
https://youtu.be/rN7NFTpGMiI?t=1575

Gdzie jest wynik?
– gdzie wynik dla problemu plecakowego?
– ostatni wiersz / ostatnia kolumna
https://youtu.be/rN7NFTpGMiI?t=3180

Jak obliczyć wartość w komórce problemu plecakowego?
dp[i][w] = max (bierzemy poprzednią komórkę, bierzemy ten przedmiot – plecak dla wagi w-my + nasza wartość)
https://youtu.be/rN7NFTpGMiI?t=3336

Złożoność problemu plecakowego:
– N*W
https://youtu.be/rN7NFTpGMiI?t=3528

Czy nie zajmujemy za dużo pamięci?
– na olimpiadzie na to też trzeba uważać
https://youtu.be/rN7NFTpGMiI?t=3596

Jak zmniejszyć pamięć w problemie plecakowym?
https://youtu.be/rN7NFTpGMiI?t=3832

Nie musimy przepisywać wartości – potrzebujemy tylko jeden wiersz!
– obliczamy od prawej do lewej
– gotowy pseudokod
https://youtu.be/rN7NFTpGMiI?t=4020

Kody dynamików są krótkie ładne i przyjemne!
https://youtu.be/rN7NFTpGMiI?t=4426

Kod naszego zadania:
https://youtu.be/rN7NFTpGMiI?t=4426

Dlaczego uzupełniamy naszą tablicę wartościami od końca?
https://youtu.be/rN7NFTpGMiI?t=4644

Czy jest long long long w C++?
– jest int128
– 128 bitów / 16 bajtów
– nie jest pewny
– nie możemy wypisywać / wczytywać
– ale możemy wykonywać operacji
https://youtu.be/rN7NFTpGMiI?t=4782

GOLD USACO – wysoki poziom!
– Tomek startował w Goldzie i było challengująco!
https://youtu.be/rN7NFTpGMiI?t=5048

Challenge #29 Olimpiada OD PODSTAW!
https://youtu.be/rN7NFTpGMiI?t=5134

Zadanie Knapsack 2
– czy nasza złożoność O(N*W) problemu plecakowego jest dobra?
– W nam się nie podoba
– trudno się go pozbyć
– W może być bardzo duże (statki, gwiazdy)
– 100 gwiazd, 100 pociągów, – ale duża masa to złożoność rośnie
– zwiększamy wartości a złożoność nam rośnie – bez większania liczby przedmiotów
https://youtu.be/rN7NFTpGMiI?t=5139

Czy problem plecakowy jest trudny?
– NIE
– ale czy byśmy sami wpadli?
https://youtu.be/rN7NFTpGMiI?t=5410

 

Piszemy GRĘ OD PODSTAW #3 – wtorek, 26 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/e0t_EzkQ-0c?t=11
Temat: Gra Dino – część 3

Nasza gra już sporo może!
– chcemy więcej, kaktusy, wynik, grafika
https://youtu.be/e0t_EzkQ-0c?t=11

Czy do gry potrzeba miliony programistów?
– czy samemu też można napisać gier?
– wiele sławny gier zostało napisanych przez jedną osobę Tetris Minecraft
– Minecraft przez jedną osobę
– wydaje się nieprawdopodobne – Minecraft należy do Microsoftu
– powstał 2009 – Markusowi czegoś brakowało w grze w która grał – RPG
– stworzył własną grę, generacja światów dynamiczna
– pisał w wolnym czasie – tak jak my
– zaczął od fundamentów – by było łatwo zmieniąc – jak my – proggramowanie obiektowe
– jak nam dziś łatwo zmieniać
– wsłuchiwał się w to co mówili użytkownicy, robił
– 2014 rok sprzedaje grę do Microsoft za 2.5 miliarda dolarów – jedna osoba
– jest sens robić co kochamy – jeśli gry – piszmy gry!
– on tak jak my – sam stworzył silnik do minecrafta

https://youtu.be/e0t_EzkQ-0c?t=33

Dziękuję za wszystkie prace!
– żeby programować trzeba pisać programy
– uczymy się kiedy sami piszemy
– zajęcia są inspiracją
– ale uczymy się gdy sami piszemy – na przykład grę
– jest głośno!
– dziękuję za każdy kawałeczek kodu!
– w ten sposób się uczymy
– efekt – aplikacja jak Markus albo nawet lepsza – jesteście mega mocni
– są nowe quizy – link: https://www.facebook.com/OlimpijskieKoloInformatyczne/
https://youtu.be/e0t_EzkQ-0c?t=151

Drugi quiz – pisanka
– zachęcam by się rozwijać
– wrzucamy na github – tworzymy CV
https://youtu.be/e0t_EzkQ-0c?t=294

Jak przygotować się do III etapu – środowisko Linux:
https://youtu.be/e0t_EzkQ-0c?t=348

Za 2 tygodnie zajęcia Sztuczna Inteligencja:
– zrobimy system
https://youtu.be/e0t_EzkQ-0c?t=491

Poznaliśmy wszystkie elementy tworzenia gry poznaliśmy
– możemy pisać własne gry
– znamy silnik, reakcje na zdarzenia, obiektowe, grafika, animacja
– każdego dnia mocniejsi
https://youtu.be/e0t_EzkQ-0c?t=680

Quiz – programowanie obiektowe
– wszystko co jest kotem zamykamy w jednym miejscu
– tak zrobiliśmy dla dino – pokazanie – ustawienie / rysowanie / skakanie
https://youtu.be/e0t_EzkQ-0c?t=752

Czy w programowaniu obiektowym jest mniej kodu?
– nieistotne
– ważne że łatwiej się pisze
– łączny czas pisania kodu będzie krószy
https://youtu.be/e0t_EzkQ-0c?t=1118

Omówienie trzeciej, ostatecznej części pisania naszej gry Dino:
– napisaliśmy plansze, ziemie, kaktus który się porusza, dino, reakcja na klawisz, dino który popranie skacze i opada
– pokazanie jak fantastycznie działa
– wynik, pomniejszenie żyć, klawisz start, dwa kaktusy, kaktusy jako obrazki
https://youtu.be/e0t_EzkQ-0c?t=1167

Otwieramy plik index.html i wpisujemy kod z poprzednich zajęć:
https://youtu.be/e0t_EzkQ-0c?t=1231

Omówienie dotychczasowego kodu:
https://youtu.be/e0t_EzkQ-0c?t=1511

Dodajemy informacje o wyniku i liczbie żyć:
https://youtu.be/e0t_EzkQ-0c?t=1962

Dodajemy guzik Start:
https://youtu.be/e0t_EzkQ-0c?t=3016

Podsumowanie guzika Start:
https://youtu.be/e0t_EzkQ-0c?t=3960

Dodajemy silnik graficzny – kolizję!
– tracenie żyć
https://youtu.be/e0t_EzkQ-0c?t=4091

Dlaczego sprawdzamy kolizje w kaktusie?
https://youtu.be/e0t_EzkQ-0c?t=4635

Dino zabolało – kod:
– radosc super Auuuuuu
https://youtu.be/e0t_EzkQ-0c?t=5261
Dino zabolało w grze:
– radosc super Auuuuuu
https://youtu.be/e0t_EzkQ-0c?t=5361

Fajnie gramy w gre:
– radosc z grania
https://youtu.be/e0t_EzkQ-0c?t=5540

Nasza gra jest grywalna!
– wielka radość!
https://youtu.be/e0t_EzkQ-0c?t=5737

Podsumowanie kolizji:
https://youtu.be/e0t_EzkQ-0c?t=5780

Dodajemy drugiego kaktusa:
– kwintesencja programowania obiektowego
https://youtu.be/e0t_EzkQ-0c?t=5905

Wytłumaczenie losowej liczby w JavaScript na przedziale – jak działa Math.random():
https://youtu.be/e0t_EzkQ-0c?t=6169

Wielka radość
– są dwa kaktusy
– zderzyłem się z pierwszym
– łatwo nam poszło
https://youtu.be/e0t_EzkQ-0c?t=6295

Skrótowe omówienie kodu dla dwóch kaktusów:
https://youtu.be/e0t_EzkQ-0c?t=7003

Teraz już możemy grać!
– dwa kaktusy
– POKAZAC
https://youtu.be/e0t_EzkQ-0c?t=7398

Grafika zamiast kaktusa:
https://youtu.be/e0t_EzkQ-0c?t=7597

Podsumowanie kaktusa jako grafiki:
https://youtu.be/e0t_EzkQ-0c?t=7901

Zmieniam kaktusy na większe, prędkość i super gram
– RADOŚĆ
– POKAZAĆ
https://youtu.be/e0t_EzkQ-0c?t=8012

Skaczemy i hoopa i hoopa
– WIELKA RADOŚĆ
– POKAZAĆ
– super się gra
– wszedłem w kaktusa
https://youtu.be/e0t_EzkQ-0c?t=8036

Napisaliśmy profesjonalną grę!
– jak chrome Dino
– POKAZAĆ
– mamy jeszcze fajniej!
– jesteśmy w stanie napisać preofesjonalną grę
– oczywiście dobrze, jest mieć dobrego grafika
https://youtu.be/e0t_EzkQ-0c?t=8136

Podsumowanie całego kodu – finalnego:
https://youtu.be/e0t_EzkQ-0c?t=8218

Dziękuję za piękne video:
– pokazać
https://youtu.be/e0t_EzkQ-0c?t=8974

Nasze grawitacje:
– radość
– pokazać
https://youtu.be/e0t_EzkQ-0c?t=9030

Challenge #3 Piszemy grę!
https://youtu.be/e0t_EzkQ-0c?t=9384

Czysty kod
– nasz kod czyta się jak ksiązkę!
– POKAZAĆ
https://youtu.be/e0t_EzkQ-0c?t=9726

Olimpiada OD PODSTAW #28 – czwartek, 21 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/JXWWe0eYQCo?t=19
Temat: Timeline – Amerykańska Olimpiada Gold

Sortowanie topologiczne na ostatnich zajęciach:
– ustalenie kolejności działań
https://youtu.be/JXWWe0eYQCo?t=19

Zadanie z USACO
– duży krok w stronę finału
– cztery dywizje
– platynowa – finał OI-a / międzynarodowa
– Gold – I/II etap OI-a
https://youtu.be/JXWWe0eYQCo?t=62

Jaki edytor kodu najbardziej lubi Tomek?
– Tomek używa Sublime Text: https://www.sublimetext.com/
– kompiluje w terminalu
– podobnie jest na Olimpiadzie
– nie jest to Visual Studio Code / ma za dużo funkcji
https://youtu.be/JXWWe0eYQCo?t=285

Sortowanie topologiczne – wyjaśnienie w quizie kahoot:
– czy każdy graf da się posortować topologicznie?
– czy są grafy które można posortować na wiele sposobów?
– ćwiczenia na sortowanie topologiczne
– czy graf da się posortować topologicznie?
https://youtu.be/JXWWe0eYQCo?t=366

Jak kompilować kod C++ na Windows?
– Geany / Codeblocks mogą mieć już wbudowane kompilatory
– kompilator online – ideone
https://youtu.be/JXWWe0eYQCo?t=978

Początek omówienia zadania Timeline / USACO Gold
https://youtu.be/JXWWe0eYQCo?t=1072

Kod / linki / omówienie:
https://oki.org.pl/timeline

Tworzymy graf zależności wszystkich czynności
– modelujemy nasz proces
– analogicznie jak dla sortowania topologicznego
https://youtu.be/JXWWe0eYQCo?t=1841

Czy parametr m przyda się w tym zadanie?
– daje informację, że będzie istniało przyporządkowanie że dnizdarzenia mieszczą się w tym zakresie
– w kodzie nie wykorzystujemy
https://youtu.be/JXWWe0eYQCo?t=2234

Warto uważnie czytać treść zadania:
– Otrzymujemy informację, że graf jest acykliczny
– jeśli czynność a jest przed b to nie może być odwrotnie
https://youtu.be/JXWWe0eYQCo?t=2367

Jeśli mamy graf skierowany, acykliczny – powinniśmy pomyśleć o sortowaniu topologicznym
– nie zawsze, ale w 800% tak
https://youtu.be/JXWWe0eYQCo?t=2410

Na czym polega rozwiązywanie zadań?
– dopasowywanie technik
– pisanie przykładów
– ale nie nastawiamy się na konkretne techniki
https://youtu.be/JXWWe0eYQCo?t=2476

Na czym polega algorytm Dijkstry
– warto zrobić przed finałem OI-a
https://youtu.be/JXWWe0eYQCo?t=2706

Rysujemy graf zależności:
– już posortowany topologicznie na dowolny ze sposobów
https://youtu.be/JXWWe0eYQCo?t=2762

Jak zrobić zadanie?
Rozwiązanie zadania – początek szczegółowego omówienia
– kluczowa obserwacja: patrzymy na wierzchołki które nie maja krawędzi wchodzących – dla tych wierzchołków wynik to 10
https://youtu.be/JXWWe0eYQCo?t=2853

Rozwiązanie zadania – szczegółowe omówienie kolejnych kroków
– Idziemy po grafie sortowania topologicznego od wierzchołków początkowych
– ustalamy dzień czynności
– usuwamy krawędzie wchodzące – jak w sortowaniu topologicznym
https://youtu.be/JXWWe0eYQCo?t=3008

Podany graf NIE musi być spójny:
https://youtu.be/JXWWe0eYQCo?t=3782

Kod jest identyczny jak kod zadania Course Schedule z poprzedniego tygodnia które pokazuje sortowanie topologiczne:
https://youtu.be/JXWWe0eYQCo?t=3893

Złożoność naszego rozwiązania:
– O (N+C)
https://youtu.be/JXWWe0eYQCo?t=4028

Jak podejść do implementacji?
– pseudokod sortowania topologicznego
https://youtu.be/JXWWe0eYQCo?t=4104

Pseudokod pokazuje jaka jest złożoność naszego rozwiązania
https://youtu.be/JXWWe0eYQCo?t=4497

Uwaga do kodu – stare USACO – wczytujemy z pliku:
https://youtu.be/JXWWe0eYQCo?t=4640

Omówienie kodu
– używamy vectora par liczb (pair)
– pliki in/out USACO
https://youtu.be/JXWWe0eYQCo?t=4664

Sortowanie topologiczne i problem na ile sposób żabka dotrze na kamień:
https://youtu.be/JXWWe0eYQCo?t=5058

Jak spakować się na majówkę?
– jak zminimalizować czas wyjazdu na majówkę
https://youtu.be/JXWWe0eYQCo?t=5590

Jakie są zadania?
– proste i tych których rozwiązania jeszcze nie poznaliśmy
– wystarczy wpaść na pomysł
https://youtu.be/JXWWe0eYQCo?t=5970

Challenge #28 – opis:
https://youtu.be/JXWWe0eYQCo?t=5910

OKI #29 – problem plecakowy:
https://youtu.be/JXWWe0eYQCo?t=6004

Trudne zadanie – USACO GOLD
– ukłony dla wszystkich którzy zrobili
– ale jeśli zobaczyliśmy interpretację grafową i podejść sortowaniem topologicznym – proste
– warto
https://youtu.be/JXWWe0eYQCo?t=6102

Piszemy GRĘ OD PODSTAW #2 – wtorek, 19 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/VM_9vPIp3M4?t=12
Temat: Gra Dino – część 2

Wspólnie piszemy grę
– Dino pędzie przez pustynię, skoki nad kaktusami
https://youtu.be/VM_9vPIp3M4?t=12

Na poprzednich zajęciach, plansza, ziemia, kaktus
– animuje
https://youtu.be/VM_9vPIp3M4?t=29

Gra pozwala nam poznać programowanie obiektowe
– dziś Dino skacze
– programowanie obiektowe (Dino, kaktus)
– by dołączyć do projektów obiektów
– każda osoba w projekcie odpowiada za konkretny obiekt
– uprości nam programowanie, jest łatwe
https://youtu.be/VM_9vPIp3M4?t=58

Modelowanie
– Dino skacze do góry
– Modelujemy grawitację
– Wielka dziedzina informatyki
– Modelujemy rozchodzenie leku
– Jesteśmy jako informatycy pomocni
– Studenci medycyny, lekarzom w operacjach
– Przed nami fantastyczna przyszłość
https://youtu.be/VM_9vPIp3M4?t=132

Żeby być programistą trzeba programować!
– wtedy przyszłość przed nami
– to co dzisiaj zrobimy postarajmy się zrobić samemu
– wtedy będziemy mieć to we krwi
https://youtu.be/VM_9vPIp3M4?t=183

2:40:11 Uczymy się programować gdy sami piszemy
– do jakiej klasy chodziłem / sam nauczyłem się programować
– zachęcam do challenge – najważniejsze
– zróbmy to co było na zajęciach
– gdy nie wychodzi to się uczymy
– dziś nauczyliśmy profesjonalnego programowania obiektowego
– open source
– napiszecie dzisiejszy kod, namiot, będziecie mistrzami
https://youtu.be/VM_9vPIp3M4?t=9611

Warto programować!
– sztuczna inteligencja do generowania muzyki
– generowania twarzy przez sztuczną inteligencję
– będzie na naszych zajęciach sztuczna inteligencja
– sztuczna inteligencja może pomóc – klasyfikować choroby
– szachy
– przed nami piękna przyszłość
– zapraszam na czwartkowe zajęcia
– olimpiada przygotowuje nas do tej pięknej przyszłości
– 7 miesięcy i będziemy mocni
– przyszłość jest nasza
– warto poświecić się swojej pasji
https://youtu.be/VM_9vPIp3M4?t=216

Ładujemy kod z poprzednich zajęć dotyczący pisania gry Dino:
https://youtu.be/VM_9vPIp3M4?t=432

Pamiętajmy by rozszerzenie pliku było html a nie txt.
https://youtu.be/VM_9vPIp3M4?t=537

11:55 Quiz – strona www, canvas, javascript – podstawy
– rysujemy buzię z prostokątów – Zadanie Buzia 2
– szczegółowe omówienie
https://youtu.be/VM_9vPIp3M4?t=715

26:06 Kolory na stronie www – rgb – dokładne wytłumaczenie:
https://youtu.be/VM_9vPIp3M4?t=1566

26:19 Radość ucznia – uczy się bardzo dużo, będzie odkrywać
https://youtu.be/VM_9vPIp3M4?t=1579

27:57 Świecą się oczy buzi!
– radość z kolorów
https://youtu.be/VM_9vPIp3M4?t=1677

44:04 Początek omówienia tworzenia gry Dino v2:
https://youtu.be/VM_9vPIp3M4?t=2644

Kod / linki / omówienie:
https://oki.org.pl/dino-v2

46:03 Tworzymy plik index.html i wpisujemy dotychczasowy kod naszej gry
– dokładne wytłumaczenie
– uruchamiamy w Visual Studio Code oraz w przeglądarce
https://youtu.be/VM_9vPIp3M4?t=2763

51:15 Ustawiamy wielkość planszy korzystając z właściwości planszy
– porządkujemy poprzednią wersję naszego kodu
https://youtu.be/VM_9vPIp3M4?t=3075

1:00:02 Jak zrobić więcej kaktusów?
– programowanie obiektowe
– wszystko co się tyczy kaktusa skomasuje w obiekcie / klasie kaktus
– możemy mieć wiele zmiennych / kaktusów
https://youtu.be/VM_9vPIp3M4?t=3602

1:03:14 Metody/funkcje w klasie nie mają słowa function
https://youtu.be/VM_9vPIp3M4?t=3794

1:03:56 W momencie tworzenia zmiennej uruchamia się metoda specjalny constructor – specjalna metoda/funkcja:
https://youtu.be/VM_9vPIp3M4?t=3836

1:05:58 Klasy w JavaScript
– szczegółowe omówienie kodu
– opis klasy
– definicję obiektów / instancji / zmiennych
https://youtu.be/VM_9vPIp3M4?t=4018

1:15:42 Programowanie obiektowe – Wszystko co tyczy się kaktusa mam w jednym miejscu
– łatwo poprawiać
– mogę mieć dowolną ilość kaktusów
https://youtu.be/VM_9vPIp3M4?t=4542

1:19:01 Wszystko się upraszcza w projektowaniu obiektowym
– łatwo zmienić prędkość, dowolne parametry
https://youtu.be/VM_9vPIp3M4?t=4741

1:21:53 – Klasa kaktus – programowanie obiektowe – krótkie konkretne wytłumaczenie
https://youtu.be/VM_9vPIp3M4?t=4913

1:26:23 Czy możemy odwoływać się bezpośrednio do zmiennych klasy?
– nie powinniśmy ale da radę
– możemy zniszczyć kod
– brak kontroli nad stanem klasy
https://youtu.be/VM_9vPIp3M4?t=5183 1:29:26

1:29:26Dlaczego klasy?
– przygotowanie do projektów
– będę mieć za zadanie napisać kaktusa czyli klasę kaktus a potem dodamy zmienną, czy wiele i będzie po zawodach!
– warto przestawić się na myślenie
– jeśli dołączymy do projektu czy się skrzykniemy – przyda się!
– dlaczego namawiam Was na klasy
https://youtu.be/VM_9vPIp3M4?t=5366

1:30:43 – Dodajemy Dino – klasę Dino
https://youtu.be/VM_9vPIp3M4?t=5443

1:37:52 Obiektowy Dino się pokazał
– Wielka radość!!!!
– mamy go na ekranie
– jako klasa obiektowy
https://youtu.be/VM_9vPIp3M4?t=5872

1:40:20 Wielka wartość klasy!
– Za mały kaktus?
– W jednym miejscu go zmieniamy!
– Łatwo modyfikować kod
https://youtu.be/VM_9vPIp3M4?t=6020

1:41:00 Dino idzie do góry po naciśnięciu klawisza ‘g’ albo dla strzałki do góry
– reagujemy na wciśnięcie klawisza (nasłuchujemy)
https://youtu.be/VM_9vPIp3M4?t=6060

1:47:29 Wooooow! 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

1:50:18 Podsumowanie reakcji na klawisz i animacji ruchu Dino
https://youtu.be/VM_9vPIp3M4?t=6618

1:52:48 Dino skacze – dodajemy grawitację
– Jak się powinien zachowywać, co zmienić?
https://youtu.be/VM_9vPIp3M4?t=6768

1:53:24 Czym jest grawitacja-dlaczego po podskoczeniu nie opadamy?
– dodajemy grawitację
– grawitacja zmniejsza prędkość
https://youtu.be/VM_9vPIp3M4?t=6802

1:56:48 JEEEEST – Dino opada!
Dino opada – ale przebija Ziemię
– radość!!!
– dlaczego wyjaśnienie
– zapada się pod ziemie / spada
https://youtu.be/VM_9vPIp3M4?t=7008

1:58:01 Zatrzymujemy Dino na poziomie Ziemi
– Co zrobić by nie zapadał się pod Ziemię?
https://youtu.be/VM_9vPIp3M4?t=7081

1:59:53 Dino poprawnie skacze
WIELKA RADOSC!
https://youtu.be/VM_9vPIp3M4?t=7193

2:01:51 Możemy bawić się grawitacją!
– zwiększamy / zmniejszamy grawitację i inaczej skacze!
https://youtu.be/VM_9vPIp3M4?t=7311

2:02:55 Podsumowanie kodu Dino v2
https://youtu.be/VM_9vPIp3M4?t=7375

2:09:36 Dziękuję za pierwszą część gry Dino – animację kaktusa
https://youtu.be/VM_9vPIp3M4?t=7776

2:10:28 – Piękne pisanki w JavaScript!
https://youtu.be/VM_9vPIp3M4?t=7828

2:16:58 Challenge Piszemy grę OD PODSTAW v2:
https://youtu.be/VM_9vPIp3M4?t=8218

2:17:27 Za tydzień Gra Dino v2 – silnik, kolizje, wynik gracza
– logika gry
https://youtu.be/VM_9vPIp3M4?t=8247

2:18:42 Klasy na stronie www / JavaScript – wytłumaczenie w quizie:
https://youtu.be/VM_9vPIp3M4?t=8322

2:27:18 Różnica między definicja klasy i zmienną klasy:
https://youtu.be/VM_9vPIp3M4?t=8838

2:30:03 Dlaczego nauczyliśmy się programowania obiektowego?
– możemy wspólnie pisać projekty, gry
– możemy łatwo kontrolować kod
– możemy łatwo poprawiać
– możemy łatwo rozszerzać kod
– mamy wszystko związane z namiotem w jednym miejscu

https://youtu.be/VM_9vPIp3M4?t=9003


26:19 Radość ucznia – uczy się bardzo dużo, będzie odkrywać
https://youtu.be/VM_9vPIp3M4?t=1579

27:57 Świecą się oczy buzi!
– radość z kolorów
https://youtu.be/VM_9vPIp3M4?t=1677

1:29:26 Dlaczego programowanie obiektowe?
https://youtu.be/VM_9vPIp3M4?t=5366

Radość Dino się pokazał
https://youtu.be/VM_9vPIp3M4?t=5872

Jak zmienić kaktusa – jak prosto!
https://youtu.be/VM_9vPIp3M4?t=6020

1:47:29 Dino grzeje do góry! – Wielka RADOŚĆ
https://youtu.be/VM_9vPIp3M4?t=6449

1:59:53 Dino poprawnie skacze
WIELKA RADOSC!
https://youtu.be/VM_9vPIp3M4?t=7193

2:01:51 Możemy bawić się grawitacją!
– zwiększamy / zmniejszamy grawitację i inaczej skacze!
https://youtu.be/VM_9vPIp3M4?t=7311

2:10:28 – Piękne pisanki w JavaScript!
https://youtu.be/VM_9vPIp3M4?t=7828

Co trzeba zrobić by programować?
https://youtu.be/VM_9vPIp3M4?t=9611

 

 

Olimpiada OD PODSTAW #27 – czwartek, 14 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/9IpJXlD6zo8?t=20
Temat: Małe twierdzenie Fermata – Robot Movings

Najpierw mleko czy płatki?
– porządkujemy czynności, ustalanie kolejności zajęć, planów lekcji
– w informatyce, gastronomii, podczas ubierania, jazdy samochodem – potrzeba porządkowania
https://youtu.be/9IpJXlD6zo8?t=20

Finał Olimpiady Informatycznej Juniorów jest za miesiąc – 14 maja:
– jest informacja o finale
– stacjonarnie w Krakowie, Wrocławiu, Warszawie
https://youtu.be/9IpJXlD6zo8?t=82

W jakiej kolejności powinno się wsiadać do samochodu?
https://youtu.be/9IpJXlD6zo8?t=801

Co to jest meduza?
https://youtu.be/9IpJXlD6zo8?t=944

Omówienie zadania Course Schedule:
https://youtu.be/9IpJXlD6zo8?t=1160
Kod / linki:
https://oki.org.pl/course-schedule

Jak będziemy modelować / reprezentować nasz problem?
– użyjemy grafu skierowanego
https://youtu.be/9IpJXlD6zo8?t=1471

Kiedy nie może ustalić kolejności działań, kursów, …
– nie możemy ustalić kolejności gdy jest cykl w grafie
https://youtu.be/9IpJXlD6zo8?t=1676

Jak będziemy znajdować cykle?
– DFS
https://youtu.be/9IpJXlD6zo8?t=1823

W jakiej kolejności wybieramy kursu, zadania, wierzchołki grafu?
– od którego kursu powinienem zacząć?
– zaczynamy od kursu do którego nie wchodzą żądne krawędzie
– jakie kolejne wierzchołki
https://youtu.be/9IpJXlD6zo8?t=1972

Jak wybieramy kolejność kursów, zadań wierzchołków w sortowaniu topologicznym?
https://youtu.be/9IpJXlD6zo8?t=2498

Jak zaimplementować sortowanie topologiczne?
– zaczynamy od tego który jest najbardziej z lewej, nie wchodzą do niego żadne krawędzie
– tworzymy listę kursów które możemy wykonać – bierzemy dowolny
– usuwamy niepotrzebne krawędzie / nowy graf / bierzemy ten wierzchołek do którego nie wchodzą żadne krawędzie
https://youtu.be/9IpJXlD6zo8?t=2700

Ile operacji wykonamy przy użyciu vector – złożoność sortowania topologicznego:
https://youtu.be/9IpJXlD6zo8?t=3303

Skąd wiemy, że wierzchołek nie ma już krawędzi wchodzących?
– dla każdego wierzchołka trzymajmy ile krawędzi do niego wchodzi
– krawędzi nie będziemy usuwać – usuwanie elementu z vectora to czas liniowy
– wystarczy, że jak usuwamy krawędź, zmniejszymy liczbę krawędzi wchodzących
– jak jest zero krawędzi wchodzących to dodajemy taki wierzchołek do sortowania topologicznego – do zrobienia
– przy usuwaniu wierzchołka usuwamy krawędzie do sąsiadów
https://youtu.be/9IpJXlD6zo8?t=3582

Co to jest złożoność?
https://youtu.be/9IpJXlD6zo8?t=3893

Złożoność sortowania topologicznego:
https://youtu.be/9IpJXlD6zo8?t=3933

Czy musimy sprawdzać czy jest cykl?
– wydaje się, że musimy sprawdzić DFS-em
– ale wyjdzie samo, nie będzie wierzchołka z zerowym stopniem wchodzącym jak jest cykl
– w vectorze wynikowym sortowania topologicznego otrzymamy mniej wierzchołków niż na wejściu
https://youtu.be/9IpJXlD6zo8?t=4078

Omówienie kodu rozwiązującego zadania i sortującego topologicznie:
https://youtu.be/9IpJXlD6zo8?t=4298

Nasz algorytm przypomina BFS – piękna obserwacja Piotra!
– sortować topoglociznie można na wiele sposobów
– nasz algorytm jest intuicyjny  – tak jak byśmy robili to na kartce
https://youtu.be/9IpJXlD6zo8?t=4530

Czym jest auto?
– wersja C++ 11 daje taką możliwość
https://youtu.be/9IpJXlD6zo8?t=4664

Dlaczego warto układać zadania?
– wymyślanie to odkrywanie problemów
– musimy pomyśleć jaka będzie złożoność
https://youtu.be/9IpJXlD6zo8?t=4979

Jak stworzyć paczkę dla szkopuł-a?
https://youtu.be/9IpJXlD6zo8?t=5230

Jak rozpocząć przygotowanie do Olimpiady?
– raczej C++ a nie Python
– zajęcia wtorkowe
https://youtu.be/9IpJXlD6zo8?t=6027

Sortowanie topologiczne – quiz:
– czy graf da się posortować topologicznie?
– przykładowa kolejność sortowania topologicznego
– złożoność sortowania topologicznego
https://youtu.be/9IpJXlD6zo8?t=6213

Challenge #27:
https://youtu.be/9IpJXlD6zo8?t=6499

Wesołych Świąt!
https://youtu.be/9IpJXlD6zo8?t=6631

 

Piszemy GRĘ OD PODSTAW #1 – wtorek, 12 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/giLNlOjIsPM?t=101
Temat: Gra Dino – część 1

Pierwsze zajęcia na który piszemy grę!
https://youtu.be/giLNlOjIsPM?t=3

Czy jest coś przyjemniejszego od grania w gry? – PISANIE GIER
– to też misja / gry są pożyteczne / ćwiczą pamięć / szare komórki / szybkie podejmowanie decyzji / myślenie strategiczne
– oczywiście co za dużo to nie zdrowo, ale nawet za dużo brokuł też jest niezdrowo
https://youtu.be/giLNlOjIsPM?t=11

Gry pomagają w nauce!
– matematyki / ekonomii
– idealnie przez grywalizację
– naturalnie się uczymy
https://youtu.be/giLNlOjIsPM?t=101

Rozpoczynamy przygodę – pisanie gry Dino
– piszemy i gramy
– Dino pokazuje się w Google Chrome gdy jesteśmy offline, nie ma internetu
– Musimy przeprowadzić Dino idzie przez pustynię z rzadka porośniętą kaktusami nad którymi musi skakać
– w przeglądarce, każdy może użyć, możemy wysłać, udostępnić, oznaczyć że nasza gra, monetyzować
https://youtu.be/giLNlOjIsPM?t=119

Dlaczego piszemy grę?
– nauczymy się programować
– by brać udział w  dużych wielkich projektach
https://youtu.be/giLNlOjIsPM?t=180

Gry to też myślenie, rozwiązywanie problemów:
– jak spowodować by gra się nie lagowała?
– jak sprawdzić czy obiekty się nachodzą
– pomaga nam w tym Olimpiada Informatyczna – uczy jak rozwiązywać problemy
– Weźmy udział – rozwiązujmy zadania – to nas prowadzi do szybkich gier, rozwiązywania problemów.
https://youtu.be/giLNlOjIsPM?t=189

Kiedy przestać pisać grę?
Naszą grę można rozwijać w nieskończoność:
– jeśli tylko dla CV – w pewnym momencie przestać, bez wodotrysków:
https://youtu.be/giLNlOjIsPM?t=309

Najważniejsze jest to co sami robimy!
– żeby być programistą trzeba pisać programy.
– zajęcia to inspiracja, pokazanie możliwości
– ale umiemy gdy sami napiszemy
https://youtu.be/giLNlOjIsPM?t=471

Quiz numer 1 – GRY:
https://youtu.be/giLNlOjIsPM?t=541

Wiersz Kaliny!
​Już po Kahoocie, do pracy się zabieramy, Grę stworzymy, w grę zagramy! Dziś “Dino” tworzyć będziemy, fajną grę zaprogramujemy. ​Bo w pisaniu kodu zabawa jest najważniejsza, Wtedy nasza wiedza staje się coraz większa.
https://youtu.be/giLNlOjIsPM?t=814

Ile czasu zajmuje stworzenie gry?
– nasza gra 2 do 4 zajęć
– nasza gra to 200 linijek
– sprawna osoba napisze w około 30 minut
– duże gry te tysiące linii kodu i zespołu
– zachęcam by do takiego zespołu dołączyć.
https://youtu.be/giLNlOjIsPM?t=871

Piszemy grę Dino – Główna część spotkania:
– treść zadania
– jakie może mieć opcje – kupowanie opcje
https://youtu.be/giLNlOjIsPM?t=903

Kod / linki / omówienie:
https://oki.org.pl/dino-v1

Planujemy naszą grę – co będziemy robić:
0. miejsce gdzie rysujemy
1. Ziemia
2. Kaktus (prostokąt na początku)
3. Animacja kaktusa
4. Dino
5. Dino skacze
6. Stwierdzać kolizje
7. Wynik gracza / statystyki
https://youtu.be/giLNlOjIsPM?t=1053

Strona www
Tworzymy stronę www – dokument html – otwieramy plik index.html w przeglądarce i w edytorze
Piszemy grę – otwieramy plik index.html w przeglądarce i w edytorze
– pusty folder
– nowy plik tekstów index.html
– otwieramy plik w notatniku oraz w przeglądarce
https://youtu.be/giLNlOjIsPM?t=1171

Polecam Visual Studio Code zamiast notatnika
– kolorowanie składni
– edytor dla programistów
– możemy pisać w notatniku / podpowiedzi / wcięcia
– może być Notepad++
https://youtu.be/giLNlOjIsPM?t=1683

Tworzymy prosta stronę www z tekstem:
https://youtu.be/giLNlOjIsPM?t=1851

Umieszczamy canvas – płótno na stronie:
https://youtu.be/giLNlOjIsPM?t=2647

Płótno się nie pokazało!
– jak stwierdzić czy król jest nago?
– białe ale jes, ale nie widać?
https://youtu.be/giLNlOjIsPM?t=2709

Jak rysujemy prostokąt w canvas?
– zamalowujemy prostokątem cały canvas naszym kolorem
– współrzędne planszy / osie
– definicja prostokąta (lewy, górny róg, szerokość, wysokość)
– rysowanie dowolnych prostokątów?
https://youtu.be/giLNlOjIsPM?t=2964

Kolory RGB – czym są – składowe?
– pokazanie wyboru kolorów i jego składników
– zakres koloru od 0 do 255 każdego
– Strona z wyborem koloru: https://htmlcolorcodes.com/color-picker/
https://youtu.be/giLNlOjIsPM?t=3278

Wersja 1.1 – MAMY PŁÓTNO!
https://youtu.be/giLNlOjIsPM?t=3521

Rysujemy Ziemię:
– kolejny prostokąt
https://youtu.be/giLNlOjIsPM?t=3881

Ziemia!
MAMY ZIEMIE!
– wielka radość!
https://youtu.be/giLNlOjIsPM?t=4117

Ziemia i plansza jako funkcje:
https://youtu.be/giLNlOjIsPM?t=4300

Co to są funkcje?
– pomocnicy, coś dla nas robią
– żebyśmy się nie zgubili, coś nazywamy
– zestaw poleceń między klamrami
https://youtu.be/giLNlOjIsPM?t=4314

Rysujemy kaktus:
– też prostokąt
– podajemy argument do funkcji – współrzędną x kaktusa
– widzimy na czym będzie polegać animacja
https://youtu.be/giLNlOjIsPM?t=4691

Animacja! – Niech kaktus się rusza
– najbardziej ekscytujący element
https://youtu.be/giLNlOjIsPM?t=5203

Animacja – co 10 ms / 100 razy na sekundę wywołujemy funkcję która rysuje nowa planszę
– super pokazanie animacji
https://youtu.be/giLNlOjIsPM?t=5401

WOOOOOOOOOOOW!
– Kaktus się rusza
– wypłynął poza ekran
– sprawdzamy współrzędną x czy poza zerem i przywracamy go.
https://youtu.be/giLNlOjIsPM?t=5475

Kaktus wraca na początek po wyjściu na ekran
– SUPER!
https://youtu.be/giLNlOjIsPM?t=5650

Skrócone omówienie tego co zrobiliśmy – pierwszej części tworzenia gry Dino
Skrócone omówienie pierwszej części tworzenia gry Dino
Podsumowanie naszego kodu – plansza, ziemia, kaktus, ruch:
https://youtu.be/giLNlOjIsPM?t=5779

Chcemy programować!
– zrób wszystko sam
– programowanie to przygoda, pomaganie
– każdy może zagrać, może wysłać, …
– do przodu
– jak ktoś chce dołączyć do projektu / link do discorda
https://youtu.be/giLNlOjIsPM?t=6111

Uczymy się tworzenia grafiki w quizie:
https://youtu.be/giLNlOjIsPM?t=6723

Rysujemy elipsę:
– potrzebne przy zadaniu Wielkanocna Pisanka
https://youtu.be/giLNlOjIsPM?t=7430

Rysujemy brzeg elipsy – ustawiamy grubość, czy linia jest przerywana:
https://youtu.be/giLNlOjIsPM?t=7668

Opis Challenge Piszemy grę od Podstaw #1:
https://youtu.be/giLNlOjIsPM?t=6514

Zapowiedź OKI Piszemy grę OD PODSTAW #2:
https://youtu.be/giLNlOjIsPM?t=6555

Dziękuję za zajęcia!
https://youtu.be/giLNlOjIsPM?t=8050

Najlepsze świąteczne życzenia:
– niech to będą rodzinne święta
– porozmawiajcie z rodzicami
– co lubią czego nie lubią
https://youtu.be/giLNlOjIsPM?t=8059

Życzenia:
Najlepsze życzenia Wielkanocne.
Pięknego czasu, radości, bycia razem!
https://youtu.be/giLNlOjIsPM?t=8059

 

Olimpiada DLA ZAAWANSOWANYCH #27 – poniedziałek, 11 kwietnia 2022, 18:30
Link do zajęć: https://youtu.be/4xmu9D7PFVw?t=1577
Temat: Skojarzenia w grafach dwudzielnych

Co jest najtrudniejsze podczas pisania Olimpiad?
– wiedza, taktyka, psychologia
https://youtu.be/4xmu9D7PFVw?t=403

Co to jest graf dwudzielny?
https://youtu.be/4xmu9D7PFVw?t=1577

Co trzeba założyć na Olimpiadzie?
– Jeśli nie jest powiedziane, że graf jest spójny to będzie wiele spójnych, wierzchołki izolowane
https://youtu.be/4xmu9D7PFVw?t=1644

Skojarzenie, maksymalne skojarzenie:
https://youtu.be/4xmu9D7PFVw?t=1736

Maksymalne to nie największe!
https://youtu.be/4xmu9D7PFVw?t=1745

Ścieżka powiększająca:
https://youtu.be/4xmu9D7PFVw?t=2003

Jak znajdowywać ścieżki powiększające?
https://youtu.be/4xmu9D7PFVw?t=2221

Zadanie Zbóje:
https://youtu.be/4xmu9D7PFVw?t=3220

Pokrycie krawędziowe / minimalne pokrycie krawędziowe
Zbiór niezależnych wierzchołków
Pokrycie wierzchołkowe
Zbiór niezależny krawędzi
https://youtu.be/4xmu9D7PFVw?t=3294

Twierdzenie Koniga
https://youtu.be/4xmu9D7PFVw?t=3429

Do czego przydają się skojarzenia?
– postawić jak najwięcej nie atakujących się skoczków na szachownicy
https://youtu.be/4xmu9D7PFVw?t=3732

Problem kliki:
https://youtu.be/4xmu9D7PFVw?t=3897

Skojarzenia – kod:
https://youtu.be/4xmu9D7PFVw?t=4647

OKI #29 – advanced:
– Drzewo Fenwicka
– Twierdzenie Halla
https://youtu.be/4xmu9D7PFVw?t=5293

 

 

Olimpiada DLA ZAAWANSOWANYCH #26 – poniedziałek, 4 kwietnia 2022, 18:30
Link do zajęć: https://youtu.be/YA4lVwqPN2I?t=182
Temat: Zadania interaktywne

Ależ wejście!
https://youtu.be/YA4lVwqPN2I?t=182

Zadanie interaktywne
https://youtu.be/YA4lVwqPN2I?t=1403

Jak poradzić sobie bez main-a?
https://youtu.be/YA4lVwqPN2I?t=1744

Jak zrobić zadanie konewka?
https://youtu.be/YA4lVwqPN2I?t=1943

Czy warto robić zadanie z geometrii?
–  każde zadania warto zaatakować!
https://youtu.be/YA4lVwqPN2I?t=2507

Zadanie Rozliczenia:
https://youtu.be/YA4lVwqPN2I?t=2694

Zadanie Misie Patysie:
https://youtu.be/YA4lVwqPN2I?t=2908

Kod zadania Konewka:
– z własną biblioteczką
https://youtu.be/YA4lVwqPN2I?t=4210

Strategia na konkurs:
https://youtu.be/YA4lVwqPN2I?t=4498

 

Olimpiada OD PODSTAW #26 – czwartek, 7 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/MhOgA3MWS5I?t=09
Temat: Małe twierdzenie Fermata – Robot Movings

Podsumowanie III etapu
Koniec III etapu OI
– Emocje / punkty / progi
– Umieliśmy więcej / nie wszystkim udało się zakodować swoje pomysły
–  Piszmy dużo programów, by umieć zakodować nasze pomysły!
https://youtu.be/MhOgA3MWS5I?t=09

Czy Olimpiada Informatyczna jest łatwa?
– Olimpiada Informatyczna – jest łatwo – mniej uczestników – próg programowania
– jest trudna – program nie działa to koniec – sprawdzający nie popatrzy przychylnym okiem jak na Olimpiadzie Matematycznej
– stres potęguje problemy programistyczne / nabyć biegłości . szybkości w programowaniu
– bez względu na próg, punkty – jesteśmy zwycięzcami
– zawalczyliśmy o przyszłość – jak Mikołaj – bezpieczeństwo i algorytmy, uczeń z MIT/Boston
– problemów jest dużo / po to startujemy w Olimpiadzie by rozwiązać problemy tego świata
– znaleźć leki / ekologiczne substancje / pomóc ekonomicznie firmom
– komputer liczy wolno – niech policzy drogę ciężarówek nie miliony lat a sekundy – po to jesteśmy
– każdego dnia mocniejsi
https://youtu.be/MhOgA3MWS5I?t=77

Mieszkańcy Łużyc czyli dokąd prowadzi nas Olimpiada?
Dokąd prowadzi nas Olimpiada?
– odtworzono twarze mieszkańców Górnych Łużyc
– komputer pomaga w historii
– nie może analizować wszystkich możliwych kształtów
– jesteśmy potrzebni / algorytmika jest potrzebna
– niesamowite – nie widzieliśmy osoby a ja odtworzyliśmy na podstawie fragmentów
– także plastycy / archeolodzy
– nasze zastosowania są dalej niż możemy sobie wyobrazić
– zastosowanie binary search / sum prefiksowych wydają się być bardzo odległe od twarzy a jednak
– przyszłość jest piękna, przyszłość jest przed nami
– niech każdy weźmie udział w Olimpiadzie!
– nie chodzi o punkty, chodzi o ta przyszłość którą tu widzicie
https://youtu.be/MhOgA3MWS5I?t=227

Tomek Kwiatkowski nas przygotowuje
– przyciśnijmy by powiedział o swoich doświadczeniach, co dobre, co złe
https://youtu.be/MhOgA3MWS5I?t=374

Historia naszego prowadzącego – Szymona Hajderka:
– brał udział w zajęciach
– robił prace domowe
– po roku zyskał tytuł laureata OIJ
– w tym roku nie udało się na II etapie OI-a
– jest motywacja więcej się uczyć
– Szymon jest w Liceum matematyczno – informatycznym – to pomaga
https://youtu.be/MhOgA3MWS5I?t=1619

Omówienie zadania Robot Movings:
https://youtu.be/MhOgA3MWS5I?t=1732

Kod / linki / omówienie:
https://oki.org.pl/robot-movings

Omówienie kodu zadania Robot Movings
https://youtu.be/MhOgA3MWS5I?t=5387

Jak rozwiązywać zadania?
Spisujmy obserwacje!
– tak się rozwiązuje zadania!
https://youtu.be/MhOgA3MWS5I?t=2106

Rozwiążmy najpierw problem jednowymiarowo!
https://youtu.be/MhOgA3MWS5I?t=2174

Na ile sposobów możemy wybrać dwie przerwy z pięciu?
https://youtu.be/MhOgA3MWS5I?t=2362

Na ile sposobów można wybrać 4-osobową delegację z 6-osobowej klasy?
– Dwumian Newtona szybko wytłumaczony
https://youtu.be/MhOgA3MWS5I?t=2723

Czego warto się uczyć?
Kombinatoryka
– potrzebna uczmy się
– nie wszystko można policzyć deterministycznie
https://youtu.be/MhOgA3MWS5I?t=2856

Rozwiązanie jednowymiarowe przekładamy na dwuwymiarowe:
https://youtu.be/MhOgA3MWS5I?t=2929

Wybieramy oddzielnie punkty skrętu na każdej ze ścian:
https://youtu.be/MhOgA3MWS5I?t=3544

Jak wygląda rozwiązanie naszego zadania
https://youtu.be/MhOgA3MWS5I?t=4076

Co musimy policzyć?
– a tak naprawde komputer!
https://youtu.be/MhOgA3MWS5I?t=4446

Jakie działania możemy robić modulo, a jakich nie możemy?
– nie możemy robić dzielenia
– a dzielenie mamy w dwumianie Newtona
https://youtu.be/MhOgA3MWS5I?t=4552

Małe Twierdzenie Fermata:
https://youtu.be/MhOgA3MWS5I?t=4816

Potrzebujemy matematyki
– startujmy w Olimpiadzie
– młotki, wiertarki
– Szymon też się zapisał na kółko matematyczno
– PRZYDAJE SIĘ!
– algorytmika bliska matematyce – łączy się
https://youtu.be/MhOgA3MWS5I?t=5064

Przechodzimy z dzielenia na potęgowanie dzięki Małemu Twierdzeniu Fermata:
– dał na Fermat nie wiedząc że będą komputery
– dał nam tą wiertarkę
https://youtu.be/MhOgA3MWS5I?t=5186

Jak wczytywać do końca danych?
https://youtu.be/MhOgA3MWS5I?t=5653

Angielski, czysty kod i zalecenia Szymona:
https://youtu.be/MhOgA3MWS5I?t=5891

Challenge Olimpiada OD PODSTAW #26:
https://youtu.be/MhOgA3MWS5I?t=6463

Zapowiedź OKI #27 – Sortowanie topologiczne:
– jest zawsze
– piękny i łatwy temat
https://youtu.be/MhOgA3MWS5I?t=6522

Zapraszam na grę Dino!
– rozerwać się
– nie grać a samemu pisać gry!
https://youtu.be/MhOgA3MWS5I?t=6559

 

Programowanie OD PODSTAW #26 – wtorek, 9 kwietnia 2022, 18:00
Link do zajęć: https://youtu.be/p8INEVvQjSw?t=12
Temat: Obsługa drukarki – własny projekt

Pełny projekt
– profesjonalny system wydruku
– po angielsku / github / pochwalić
https://youtu.be/p8INEVvQjSw?t=12

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

Za nami USACO
– Najlepiej przygotowywać się startując w konkursach
– Piotr awansował do grupy GOLD
– miejsca są ważne
– najważniejsze to czego się nauczyliśmy / github / krok w stronę przygody
https://youtu.be/p8INEVvQjSw?t=182

Jak dołączyć do projektu programistycznego?
– szukać w internecie
– niekoniecznie jako programista / tester na początek?
https://youtu.be/p8INEVvQjSw?t=248

Quiz Programowanie obiektowe / class / klasy:
https://youtu.be/p8INEVvQjSw?t=1054

Zadanie Serwer wydruków – omówienie:
https://youtu.be/p8INEVvQjSw?t=2443

Pomysł na start-up
– kto potrzebuje serwer wydruków?
– na czym polega serwer wydruków?
– bardzo użyteczna rzecz – wiele komputerów może drukować nawet w omu
– szansa by zacząć Software House
https://youtu.be/p8INEVvQjSw?t=2485

Kod / linki / omówienie zadania Serwer wydruków:
https://oki.org.pl/serwer-wydrukow

Co to jest Software House?
– pisanie aplikacji na zamówienie
– aplikacje dedykowane
– apteka / drukarka / rowery miejskie / edukacja zdalna
– są gotowe ale często chcemy ubranie na miarę
– szyje oprogramowanie na miarę
– Drukarex – szansa by stworzyć swój Software House
https://youtu.be/p8INEVvQjSw?t=2564

Krótkie podsumowanie treści zadania:
https://youtu.be/p8INEVvQjSw?t=2892

Kod klasy tworzącej kolejkę:
https://youtu.be/p8INEVvQjSw?t=3003

Omówienie kolejki – klasy utworzonej na poprzednich zajęciach:
– jak działa?
https://youtu.be/p8INEVvQjSw?t=3076

Jak obsługiwać polecenia które przychodzą do systemu wydruków?
– switch/case w c++
https://youtu.be/p8INEVvQjSw?t=3419

Obsługujemy przychodzące polecenia do drukarki:
– dodajemy kolejne żadanie drukowania:
https://youtu.be/p8INEVvQjSw?t=4086

Czy nasz program tworzący serwer wyrduku nie powinien być klasą?
– absolutnie tak!
https://youtu.be/p8INEVvQjSw?t=4240

Dodajemy size do naszej kolejki mqueue:
– rozmiar kolejki to różnica między ostastnim i pierwszym elementem
https://youtu.be/p8INEVvQjSw?t=4408

Obsługujemy informacje że drukarka jest wolan (g)
https://youtu.be/p8INEVvQjSw?t=5210
Podsumowanie obsługi polecenia typu (g):
https://youtu.be/p8INEVvQjSw?t=6073

Wypisujemy statystyki (polecenie s):
https://youtu.be/p8INEVvQjSw?t=6213

Obliczamy expected_time:
https://youtu.be/p8INEVvQjSw?t=6485

Podsumowanie rozwiązania / kodu:
https://youtu.be/p8INEVvQjSw?t=6934

Nasze zadanie rozwiązane jako oddzielna klasa:
– tworzymy class który realizuje serwer wydruku
https://youtu.be/p8INEVvQjSw?t=7540

Challenge #26:
https://youtu.be/p8INEVvQjSw?t=7371

OKIGRA #1 – zapowiedź – piszemy grę DINO!
https://youtu.be/p8INEVvQjSw?t=848

 

Olimpiada OD PODSTAW #25 – czwartek, 31 marca 2022, 18:00
Link do zajęć: https://youtu.be/djKP7RKPRC0?t=30
Temat: Szybkie potęgowanie

Dlaczego nie ma Tomka?
– Finał Olimpiady Matematycznej?
https://youtu.be/djKP7RKPRC0?t=30

Dlaczego warto rozwiązywać problemy?
Co może najszybszy komputer świata?
Czy najszybszy komputer świata da radę?
Problem n hetmanów rozwiązany!
– jak ustawić każdego hetmana?
– ilość możliwości 2^n
– problem n hetmanów
– ile operacji dla szachownicy 8×8 oraz 10×10
– najszybszy komputer świata
https://youtu.be/djKP7RKPRC0?t=51

Potrzeba naszej inteligencji, pomysłów do problemów tego świata:
– do wymyślenia leku, plastiku – komputer się zaliczy
– to co robi Tomek – Olimpiada Matematyczna – powie komputer jak robić szybciej
– dziś skrócimy rozwiązanie problemu z milionów lat do sekund
– startujmy w Olimpiadzie Matematycznej
https://youtu.be/djKP7RKPRC0?t=298

Odkrycie na miarę Pitagorasa?
– znany problem!
– zamiast 40 tys. lat dla 10×10 znamy odpowiedź w czasie zerowym
https://youtu.be/djKP7RKPRC0?t=466

Za tydzień Tomek na III etapie OI-a
– III etap to stres
– podejdźmy do takich konkursów na zasadzie koncentracji
https://youtu.be/djKP7RKPRC0?t=538

Kto jest zwycięzcą?
Tomek już jest zwycięzcą
– poznał wiele algorytmów
– inteligencja się wykształciła
https://youtu.be/djKP7RKPRC0?t=576

Złożoność – quiz
Quiz tłumaczącą złożoność
https://youtu.be/djKP7RKPRC0?t=618

Jędrzej Olkowski – przedstawienie:
https://youtu.be/djKP7RKPRC0?t=2324

Czym zajmuje się uczestnik Olimpiad?
Czym zajmuje się Jedrzej?
– algorytmy parametryozowane
– czy przydała się olimpiada?
– skupienie się na problemie
https://youtu.be/djKP7RKPRC0?t=2350

Zadanie Masakracja faktami i logiką:
https://youtu.be/djKP7RKPRC0?t=2476

Treść / kod / omówienie zadania Masakracja faktami i logiką:
https://oki.org.pl/masakracja-faktami-i-logika

Omówienie kodu zadania Masakracja faktami i logiką:
https://youtu.be/djKP7RKPRC0?t=5394

Challenge #25:
https://youtu.be/djKP7RKPRC0?t=6444

Pomyślmy:
– nieważne czy zrobimy czy nie
– w drodze szkoły, na spacerze z psem
– nabywamy doświadczenia, ćwiczymy nasz umysł
https://youtu.be/djKP7RKPRC0?t=6479

OKI #26 – wykorzystamy szybkie potęgowanie
https://youtu.be/djKP7RKPRC0?t=6506

Szybkie potęgowanie – quiz:
Quiz szybkie potęgowanie:
https://youtu.be/djKP7RKPRC0?t=6622

Dlaczego logarytm?
https://youtu.be/djKP7RKPRC0?t=7182

Zapraszam na zajęcia z Szymonem:
https://youtu.be/djKP7RKPRC0?t=7311

 

Olimpiada DLA ZAAWANSOWANYCH #25 – poniedziałek, 28 marca 2022, 18:30
Link do zajęć: https://youtu.be/nzHi-z1dmQ4?t=139
Temat: Funkcja low

Czy matematyka przydaje się w codziennym życiu?
– podstawy działań
– lekko skrócić włosy czy 15 mm?
– problem włosów Mikołaja
https://youtu.be/nzHi-z1dmQ4?t=139

Funkcja Low:
https://youtu.be/nzHi-z1dmQ4?t=1155

Mosty, punkty artykulacji, dwuspójne
https://youtu.be/nzHi-z1dmQ4?t=1560

Drzewo rozpinające / funkcja Low
https://youtu.be/nzHi-z1dmQ4?t=1587

Co to jest funkcja low?
https://youtu.be/nzHi-z1dmQ4?t=1895

Zadanie Blokada:
https://youtu.be/nzHi-z1dmQ4?t=3548

Piękna historia Knicked – w komentarzu!
https://youtu.be/nzHi-z1dmQ4?t=5780

 

Programowanie OD PODSTAW #25 – wtorek, 29 marca 2022, 18:00
Link do zajęć:
Temat: Kolejka – własna klasa

Sami piszemy C++!
Możesz napisać sam – możesz napisać lepiej!
– profesjonalny system wykorzystywany w wielu miejscach
https://youtu.be/b9Kvj81xIYk?t=12

– Dlaczego? By ulepszyć?
– Kolejka jest w C++ – też możesz napisać co ma język programowania możesz napisać sam
– ktoś pomyślał , napisał – my tez możemy
https://youtu.be/b9Kvj81xIYk?t=30

Czym jest kolejka?
– kolejka w banku FIFO
– drukarka / infolinia / przesyłanie danych / system operacyjny
https://youtu.be/b9Kvj81xIYk?t=99

Język angielski
– kod / komentarz
– chcąc brać udział w projektach musimy znać angielski
– repo na github żeby było znalezione musi być angielsku
– aplikacje które napiszemy muszą być na cały świat
https://youtu.be/b9Kvj81xIYk?t=201

Urząd, przychodnia, … – wszędzie są… kolejki!
Implementacje kolejek – systemy w urzędzie, przychodni:
https://youtu.be/b9Kvj81xIYk?t=361

Programowanie obiektowe – wytłumaczenie w formie quizu:
https://youtu.be/b9Kvj81xIYk?t=527

Omówienie zadania Kolejka:
https://youtu.be/b9Kvj81xIYk?t=1892

Obserwacja na miarę programu komputerowego!
– kolejka do banku inspiracją do programu komputerowego
https://youtu.be/b9Kvj81xIYk?t=1911

Wartości zmiennych po utworzeniu klasy:
https://youtu.be/b9Kvj81xIYk?t=3752

Konstruktor:
https://youtu.be/b9Kvj81xIYk?t=3990

Challenge #25:
https://youtu.be/b9Kvj81xIYk?t=7741

 

Olimpiada DLA ZAAWANSOWANYCH #24 – poniedziałek, 21 marca 2022, 18:30
Link do zajęć: https://youtu.be/YgxmuDg4XIY?t=1240
Temat: Algorytmy zachłanne

Dlaczego algorytmy zachłanne?
https://youtu.be/YgxmuDg4XIY?t=1240
Przesłanie z dziś
https://youtu.be/YgxmuDg4XIY?t=1382
Na czym polega zachłan?
https://youtu.be/YgxmuDg4XIY?t=1411
Klasyczny problem / algorytm zachłanny – ropa naftowa:
https://youtu.be/YgxmuDg4XIY?t=1435
Kiedy dynamik staje się zachłanem?
https://youtu.be/YgxmuDg4XIY?t=1700
Dlaczego nasz zachłan działa?
https://youtu.be/YgxmuDg4XIY?t=1754
Szkic dowodowy większości zachłanów:
https://youtu.be/YgxmuDg4XIY?t=1792
Sprawdzenie poprawności rozwiązania – piszemy bruta:
https://youtu.be/YgxmuDg4XIY?t=2017
Zadanie Szeregowanie czynności – Finał OI – Klasyczny problem zachłanny
https://youtu.be/YgxmuDg4XIY?t=2101
Metoda Dzika karta:
https://youtu.be/YgxmuDg4XIY?t=3401
Zadanie Czekolada – OI 5 – I etap
https://youtu.be/YgxmuDg4XIY?t=3488
Zadanie Dynamik:
https://youtu.be/YgxmuDg4XIY?t=4760
Zadanie Luk tryumfalny:
https://youtu.be/YgxmuDg4XIY?t=4873

 

Olimpiada OD PODSTAW #24 – czwartek, 24 marca 2022, 18:00
Link do zajęć: https://youtu.be/TSj1TsKUSR8?t=32
Temat: Zadanie Giełda – Zaawansowane Programowanie dynamiczne

To zadanie pięknie pokazuje jak rozwiązywać zadania
– poszczególne obserwacje
– kolejne zbicia złożoności

Za tydzień – OKI #25 – Szybkie Potęgowanie:
https://youtu.be/TSj1TsKUSR8?t=32

Amerykańska Olimpiada!
https://youtu.be/TSj1TsKUSR8?t=78
Jak działa USACO?
– mamy 4h które sami wybieramy
https://youtu.be/TSj1TsKUSR8?t=143

Czym są dynamiki? – QUIZ:
https://youtu.be/TSj1TsKUSR8?t=331

Na ile sposobów możemy przejść grid?
– To odwrócony Trójkąt Pascala
https://youtu.be/TSj1TsKUSR8?t=731

Omówienie zadania Giełda – Mistrz Programowania 2022:
https://youtu.be/TSj1TsKUSR8?t=1095

Kod / omówienie / linki:
https://oki.org.pl/gielda

Rozwiązanie brutalne:
https://youtu.be/TSj1TsKUSR8?t=1752

Kluczowy moment:
– wynik dla 5 dnia: albo nie korzystamy albo korzystamy z 5- tego dnia
– gdy korzystamy to mamy wynik z ostatniego kupna/sprzedaży + poprzednie zyski
https://youtu.be/TSj1TsKUSR8?t=2220

Co będzie odpowiedzią na nasze zadanie?
– wynik dla n-tego dnia / wynik dla wszystkich n-dni
https://youtu.be/TSj1TsKUSR8?t=2543

Podsumowanie naszego algorytmu – pseudokod:
https://youtu.be/TSj1TsKUSR8?t=2555

Kluczowe pytanie – czy możemy mieć kilka akcji na raz?
https://youtu.be/TSj1TsKUSR8?t=2925

Idea naszego rozwiązania
– rozpatrujemy ostatni dzień -> sprzedajemy lub nie
– jeśli nie to wynik z poprzedniego dnia
– jeśli tak to pytanie kiedy kupić
https://youtu.be/TSj1TsKUSR8?t=2952

Złożoność tego rozwiązania – kwadratowa:
https://youtu.be/TSj1TsKUSR8?t=2998

Nasze zadanie otrzymałoby 50% punktów
– wymaga około 10^12 operacji
https://youtu.be/TSj1TsKUSR8?t=3080

Jak przyspieszyć nasze rozwiązanie – zbić złożoność z n^2 do n?
– jedna kluczowa obserwacja
– szukamy tej obserwacji
– musimy przejść po wszystkich elementach – pierwsza pętla nie do ruszenia
https://youtu.be/TSj1TsKUSR8?t=3102

Co było naszym brutem?
– wybieramy max z poprzednich wartości – to wymaga przejrzenia wszystkich poprzednich
https://youtu.be/TSj1TsKUSR8?t=3253

Co u nas się zmienia?
https://youtu.be/TSj1TsKUSR8?t=3370

Jeśli nie zmieniają nam się dwie wartości możemy je usunąć z liczenia maksimum
– liczymy cześć zmienną maksimum
– część stałą dodajemy na końcu
https://youtu.be/TSj1TsKUSR8?t=3480

Co nam daje wyjęcie dwóch wartości z liczenia maksimum?
– patrzymy co liczy nasza pętla – maksimum z jakiś wartości
https://youtu.be/TSj1TsKUSR8?t=3642

Liczymy dp[8]
– które wartości są niezmienne?
– poprzednie maksima są ok / takie same
– wystarczy policzyć jedno maksimum o 1miejsce
– wystarczy stablicować poprzednie maksima
– a tak naprawdę pamiętać poprzedni max – jedna zmienna która będzie to pamiętać
– pozbyliśmy się rzeczy zależnych od j
https://youtu.be/TSj1TsKUSR8?t=3950

Podsumowanie naszej obserwacji:
– pętla cały czas przechodzi po tych samych wartościach
– nie ma sensu – wystarczy pamiętać maksimum z dotychczasowych wartości a nie przechodzić po niej bez końca
https://youtu.be/TSj1TsKUSR8?t=4159

Aktualizujemy nasz pseudokod:
– skraca się
https://youtu.be/TSj1TsKUSR8?t=4229

Złożoność jest teraz liniowa:
https://youtu.be/TSj1TsKUSR8?t=4453

Kod
– Tomek ceni dynamiki za zwięzły kod
https://youtu.be/TSj1TsKUSR8?t=4508

Sami spróbujmy napisać kod
– napisać brutalnie
– optymalizować
https://youtu.be/TSj1TsKUSR8?t=4790

Pomysł jest często spotykany!
Pomysł na to zadanie jest trudny:
– często się pojawia zadanie na konkursach, że n^2 jest prosty
– ale potem cięższa obserwacja że można wyciągnąć coś stałego poza maksimum i wystarczy pamiętać jedną zmienną – złożoność n
– jak by brzmiało zadanie którego nie da się zbić ze złożoności n^2 do n
https://youtu.be/TSj1TsKUSR8?t=4822

Dynamik vs zachłan:
Zadanie zając/królik i zbieranie marchewek:
– rozwiązanie zachłanne (bierzemy maxaz tego co można) nie zadziałą
– potrzebujemy dynamika
https://youtu.be/TSj1TsKUSR8?t=5144

Challenge #24:
https://youtu.be/TSj1TsKUSR8?t=5420

Liczy się pula!
Nie każde zadanie damy radę rozwiązać, ale liczy się to że pula zadań do rozwiązania się powiększa!
https://youtu.be/TSj1TsKUSR8?t=5731

Co najtrudniej wymyśleć w dynamiku?
W dynamiku najtrudniej wymyśleć wzór
– kod potem banalny
– przepisać
https://youtu.be/TSj1TsKUSR8?t=5750

 

Programowanie OD PODSTAW #24 – wtorek, 23 marca 2022, 18:00
Link do zajęć: https://youtu.be/qIfoWJKJVqA?t=12
Temat: GitHub

Cel? Wakacje!
Dlaczego GitHub?
– na poprzednich zajęciach analizator logów
– światło nie pod kocem – mamy informowac świat o naszych możliwościach
– chcemy dołączyć do zespołu / projektu (analizator logów, sprawnemiasto.pl, gra)
– dlatego chcemy by nasz kod był publiczny
– ale żebyśmy mogli pisać kod w grupie
– do pracy grupowej / współdzielenia kodu służy GitHub
https://youtu.be/qIfoWJKJVqA?t=12

Obóz stowarzyszenia Talent:
– algorytmiczne
– jest też nauka programowania
– zachęcam
– obozy wakacyjne
https://youtu.be/qIfoWJKJVqA?t=120

W ten weekend Amerykańska Olimpiada USACO:
– programistycznie / algorytmicznie
– warto pokazać światu co umiemy
– renoma, zmierzenie się z kolegami i koleżankami z całego świata
– opis grup
https://youtu.be/qIfoWJKJVqA?t=188

Cel? Wakacje!
Dołączmy w wakacje do projektu!
– fun wykorzystać wiedzę
– fun pomóc
– dlatego ćwiczymy zaawansowane struktury
– dołączmy do zespołu open source / wspólnie z kolegami stwórzmy grupę
– musimy pokazać swoją wiedzę grupie do której chcemy dołączyć
– ale też musimy umieć współpracować w grupie / znać narzędzia
– w tym pomoże nam GitHub
https://youtu.be/qIfoWJKJVqA?t=3352

Czym jest GitHub?
– możliwość pokazania tego co umiem / naszego kodu światu / piszmy ładny kod / wyszukiwarki (map / USACO)
– wersjonowanie
– kopia zapasowa / backup
– Praca grupowa / łączenie kodu napisanego przez wiele osób
https://youtu.be/qIfoWJKJVqA?t=3507

Przykład kodu na GitHub który jest zaindeksowany przez wyszukiwarkę
– rozwiązanie zadania Auqapark / OIJ
– wiadomo, że MarkoWanga to mocny gość
– ładnie opisany kod / chwila / a pięknie pokazuje swoje możliwości
https://youtu.be/qIfoWJKJVqA?t=3641

Czego nie wolno robić na GitHub?
– nie wrzucamy zadań z otwartych konkursów / aktualnych prac domowych / projektów na ocenę czy zaliczenie
https://youtu.be/qIfoWJKJVqA?t=3772

Jak stworzyć projekt programistyczny w wakacje?
https://youtu.be/qIfoWJKJVqA?t=3826

Tworzymy konto na GitHub – v1:
https://youtu.be/qIfoWJKJVqA?t=356
Zakładamy konto na GitHub – v2:
Kończymy zakładanie konta na GitHub:
https://youtu.be/qIfoWJKJVqA?t=3924

Git vs GitHub:
– GitHub -> udostępnianie kodu w chmurze
– Git -> lokalne repozytorium synchronizowane z GitHub-em
https://youtu.be/qIfoWJKJVqA?t=4073

Tworzymy repozytorium w GitHub:
– podstawowy element
– folder
https://youtu.be/qIfoWJKJVqA?t=4183

Co można przechowywać w GitHub?
– wszystkie wersje wypracowań z polskiego
https://youtu.be/qIfoWJKJVqA?t=4467

Wrzucamy pierwszą wersję programu do repozytorium GitHub-a:
– pierwsza wersja analizatora logów:
– opis pliku na początku pliku
https://youtu.be/qIfoWJKJVqA?t=4618

Commit changes – co to znaczy?
– wersja którą chcę zapamiętać
– omówienie kiedy dajemy commit
https://youtu.be/qIfoWJKJVqA?t=4760

Dodajemy do repo drugą wersję naszego kodu:
– dodajemy dwie linijki do komentarza pliku
– wersjonowanie / mamy wszystkie wersje naszego kodu
– opiszmy kod
https://youtu.be/qIfoWJKJVqA?t=5149

Jak wszystko pamiętać?
– rozumieć
– psuć
– wypisywać wartości / debugować
– czytać dużo by rozumieć
https://youtu.be/qIfoWJKJVqA?t=5476

Wrzucamy trzecią ostateczną wersję kodu:
– widzimy wersje kodu
– mamy kopię zapaspwą
https://youtu.be/qIfoWJKJVqA?t=5510

Nasze repozytorium jest publiczne:
– widoczne z całego świata
– praktycznie gotowe CV
https://youtu.be/qIfoWJKJVqA?t=5656

Dodajemy kolejny plik do naszego repo:
– nasze repo to gotowe CV
– po angielsku
– przyszłość jest nasza – to co umiemy kwalifikuje nas do bycia członkami programistycznych zespołów
https://youtu.be/qIfoWJKJVqA?t=5792

Co to jest branch w GitHub?
– dodatkowe odgałęzienia dla wersji których nie jesteśmy pewni
– debugowanie
– gdy pracujemy w grupie
https://youtu.be/qIfoWJKJVqA?t=5918

Plik readme.md w GitHub:
– opis naszego repo / plik dokumentacji
– w specjalnym języku który nazywa się MarkDown
– edytujemy w repo
– tytuły (# #####) / tekst / linki
https://youtu.be/qIfoWJKJVqA?t=6068

 

Mistrz Programowania 2022 – Podsumowanie
Link do zajęć
: https://youtu.be/DI0lRjXoCGc?t=16
Dlaczego Mistrz Programowania?
– dobrze się bawić
– rośli programistycznie
– motywacja – Każdego dnia mocniejsi
– poznać świat / route 66 / gdzie jest największy basen
– zachęcić do literatury
– historia
https://youtu.be/DI0lRjXoCGc?t=16

Zadanie z interview do gigantów:
– Bambus happy / basen
– historia problem realny
– zadania z pogranicza algorytmiki / programowania
https://youtu.be/DI0lRjXoCGc?t=1085

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

Skąd pomysł na konkurs?
– programowanie na konkursach sprawia kłopot
– mamy pomysły ale jest kłopot z programowaniem
https://youtu.be/DI0lRjXoCGc?t=187

Dziękujemy!
– wysiłek
https://youtu.be/DI0lRjXoCGc?t=298

Statystyki:
https://youtu.be/DI0lRjXoCGc?t=1190

Ostateczny ranking – zwycięzcy, wyróżnieni, nagrody:
– dziękuję za każdy pojedynczy punkt
https://youtu.be/DI0lRjXoCGc?t=1649

 

Olimpiada OD PODSTAW #23 – czwartek, 17 marca 2022, 18:00
Link do zajęć: https://youtu.be/H0SxPD5xYvI?t=62
Temat: Programowanie dynamiczne

Gdzie stosujemy programowanie dynamiczne?
– Google Maps
– sprawdzanie pisowni, podobieństw między tekstami
– łączenie dwóch projektów w Git
– baz danych
https://youtu.be/H0SxPD5xYvI?t=62

Wrażenia po II etapie:
https://youtu.be/H0SxPD5xYvI?t=156

Nie zniechęcaj się!
Zachęta by się nie zniechęcać:
– Tomek w II klasie gimnazjum był w finale a w III klasie nie
– nie zniechęcił się, motywacja do pracy
https://youtu.be/H0SxPD5xYvI?t=265

Sumy prefiksowe:
https://youtu.be/H0SxPD5xYvI?t=545

Liczby Fibonacciego:
https://youtu.be/H0SxPD5xYvI?t=645

Zadanie Domino z Olimpiady Informatycznej Juniorów – też wykorzystuje liczby Fibonaciego
https://youtu.be/H0SxPD5xYvI?t=5035

Programowanie dynamiczne – wytłumaczenie:
Czym są dynamiki – wstęp:
– liczymy poprzednie wyniki
– rozwiązanie danego problemu korzysta z poprzednich wyników
– dzielimy problem na podproblemy
– przykładem programowania dynamicznego są sumy prefiksowe
https://youtu.be/H0SxPD5xYvI?t=955

Zadanie Frog / AtCoder – początek omówienia:
https://youtu.be/H0SxPD5xYvI?t=1197

Kod/linki zadania Frog:
https://oki.org.pl/frog/

Warto próbować samemu!
https://youtu.be/H0SxPD5xYvI?t=1545

Nasze pomysły na zadanie Frog:
– rozwiązanie zachłanne nie zadziała
– ale super że mamy włąsne pomysły
https://youtu.be/H0SxPD5xYvI?t=1598

Kiedy nie zadziała rozwiązanie zachłanne – często wówczas rozwiązaniem jest programowanie dynamiczne:
https://youtu.be/H0SxPD5xYvI?t=1777

Nasz pomysł na zadanie Frog?
– po kolei będziemy obliczać wyniki
– nie będzie od razu obliczać całości
– obliczymy wynik dla fragmentu
– obliczymy wynik dobry do drugiego kamienia – zapominając o kolejnych – one nie mają znaczenia dla kamienia dwa
– na tej podstawie obliczymy optymalny koszt dla kamienia trzeciego
– i tak dalej
https://youtu.be/H0SxPD5xYvI?t=1879

Na czym polega programowanie dynamiczne na przykładzie zadania Żabka?
– nie chcieliśmy obliczyć jak szybko żabka dostanie się na ostatni kamień
– podzieliśmy na mniejsze podroblemy
– jak może najlepiej doskoczyć na pierwszy drugi
– na podstawie tych wartości mogliśmy obliczyć jak możemy skoczyć na trzeci kamień
– i tak dalej
https://youtu.be/H0SxPD5xYvI?t=3128

Złożoność naszego rozwiązania – liniowa:
https://youtu.be/H0SxPD5xYvI?t=3487

Dlaczego Tomek lubi dynamiki?
– kod bardzo prosty
https://youtu.be/H0SxPD5xYvI?t=3630

Omówienie kodu zadania Frog:
https://youtu.be/H0SxPD5xYvI?t=3775

Strażnik
– na czym polega
– dlaczego inicjalna wartość komórki zerowej – nie istniejącego kamienia jest 10^9?
– kamień zerowy nie może być zero by był uwzględniony – on nie może być uwzględniony w wyniku – 10^9 nigdy nie będzie dobre
https://youtu.be/H0SxPD5xYvI?t=3869

Na czym polega trudność w dynamikach?
– dwie rzeczy
– wpaść że dynamik
– jaki jest wzorek dynamika?
– jeśli ktoś powie, że zadanie rozwiązał dynamikiem to żadna informacja
– clue – na czym polega, jaki pomysł, jaki wzór
https://youtu.be/H0SxPD5xYvI?t=4300

Podpowiedź dla Pythona – Frog-2:
– wybrać PyPy3 na AtCoder
– PyPy3 jest kompilowany i jest szybsze
https://youtu.be/H0SxPD5xYvI?t=4788

Challenge #23:
https://youtu.be/H0SxPD5xYvI?t=4688

Za tydzień zadanie Giełda!
https://youtu.be/H0SxPD5xYvI?t=4941

Gdzie Tomek nauczył się Informatyki?
– zaczynał od Logomocji
– Gimnazjum C++ / Python
– Pisał kalkulatory
– kółko od Gimnazjum
https://youtu.be/H0SxPD5xYvI?t=5240

 

Programowanie OD PODSTAW #23 – wtorek, 8 marca 2022, 18:00
Link do zajęć: https://youtu.be/oE1AWvTowJ4?t=12
Temat: MAP zaawansowana

Dziś adres IP:
https://youtu.be/oE1AWvTowJ4?t=12

Analiza logów:
– laptopy, serwery, routery – zbierają logi
– pozwalają nam odkryć włamanie, ransomware, defraudacje
– powstaje dużo start-upów które analizują logi i wykrywają założenie – zbijają fortunę
– logów jest dużo GB/TB
– potrzeba analizować codziennie, kojarzyć, komputery są za wolne
– odsiać to co jest istotne od szumu informacyjnego
– szansa dla nas by założyć start-up, który lepiej będzie te logi analizować
https://youtu.be/oE1AWvTowJ4?t=20

Jak powstał Google?
– jako pierwszy wpadł że tym ważniejsza jest strona im więcej linków do niej prowadzi
https://youtu.be/oE1AWvTowJ4?t=178

W analizie logów też potrzeba wielu pomysłów – tak jak w Google’u
– dziś będzie pomysł, przepis na start-up
– napiszemy analizator logów
– znajdźmy lukę – tak jak Mateusz zrobił projekt Sprawne Miasto – nie ma gdzie zgłaszać awarii w okolicy
– zbliżają się wakacje, zachęcam
https://youtu.be/oE1AWvTowJ4?t=213

Posumowanie II etapu OIJ
– emocjonujemy się progiem
– najważniejsze jest to czego się nauczyliśmy
– jeśli kochamy programowanie, rozwiązywanie problemów – to znajdziemy grupę!
– discord OKI, zajęcia OKI – znajdziemy miejsce do tego by robić ciekawe rzeczy
– poczekajmy spokojnie na próg
https://youtu.be/oE1AWvTowJ4?t=255

Strona z podsumowaniem Mistrza Programowania:
– linki do zadań/ wrzucania
– ranking
– statystyki
– rozwiązania zadań
https://youtu.be/oE1AWvTowJ4?t=416

Czy można oszukać logi?
– dlatego potrzebne są programy które nie pozwolą na oszukiwanie
– można wszystko analizować, komputer nie na wszystko ma czas
– może to my założymy ten start-up
https://youtu.be/oE1AWvTowJ4?t=559

Co to jest map? – quiz kahoot
– zaczynamy od przykładu tablicy
– jedna komórka a nie 200 zajętych
– indeksy liczby, miasta – cokolwiek
https://youtu.be/oE1AWvTowJ4?t=709

Zadanie – Analizator logów
https://youtu.be/oE1AWvTowJ4?t=1636

Pomysł na start-up! – Treść Zadania / inspiracja – Analizator logów
– wszystko ma adres IP
– aplikacja licealistów
– dużo danych – jak odsiać szum od zagrożenia – zrobić to w sensownym czasie
– stworzyć zespół
– wszystko zaczyna się od wersji 1.0 – od pierwszego kroku
https://youtu.be/oE1AWvTowJ4?t=1679

Co to jest adres IP?
– część sieciowa / host
– oktety
– adres IP to konkretny adres / numer telefonu
– klasy adresowe – część sieciowa / hosta
–  pokazanie własnego adresu ip – ipconfig / cmd / Windows
https://youtu.be/oE1AWvTowJ4?t=1869

Adres IP – skrót
– cztery oktety / liczby
– część identyfikuje sieć / część identyfikuje host – w zależności od klasy
https://youtu.be/oE1AWvTowJ4?t=2309

Nasze zadanie – omówienie – treści zadania:
https://youtu.be/oE1AWvTowJ4?t=2387

Rozpoczynamy pisanie kodu zadania Analizator logów:
https://youtu.be/oE1AWvTowJ4?t=3064

Konstrukcja naszego programu:
– omówienie konstrukcji switch
– oparta na switch
– delektujemy się – dlatego nie if
https://youtu.be/oE1AWvTowJ4?t=3328

Jak debugować?
– wypisywanie wartości / znaczniki
https://youtu.be/oE1AWvTowJ4?t=3667

Gdzie trzymamy nasze adres IP?
– omówienie mapy
– co jest indeksami? – wektor
– wartościami ile razy dany adres wystąpił
– rysujemy jak to wygląda
https://youtu.be/oE1AWvTowJ4?t=3816

Wypisujemy wszystkie elementy map
– przechodzimy iteratorem
– wypisujemy adresy IP
https://youtu.be/oE1AWvTowJ4?t=5768

Elementy map-y nie są uporządkowane tak jak chcieliśmy:
– elementy w mapie są posortowane domyślnie
https://youtu.be/oE1AWvTowJ4?t=5973

Jak uporządkować mapę według naszego kryterium?
– uporządkowujemy po kluczu
– według ostatniej wartości a potem po pierwszych trzech
https://youtu.be/oE1AWvTowJ4?t=6040

Wypisywanie elementów map i uporządkowanie kluczy według własnego kryterium – quiz
https://youtu.be/oE1AWvTowJ4?t=8368

Uporządkowanie kluczy map według własnego kryterium – quiz
https://youtu.be/oE1AWvTowJ4?t=8483

 

Skrócone omówienie kodu:
https://youtu.be/oE1AWvTowJ4?t=6511

Jak działa clear() w vector?
https://youtu.be/oE1AWvTowJ4?t=7444

Przekazywanie parametrów przez wartość i przez referencję:
https://youtu.be/oE1AWvTowJ4?t=7759

Challenge #23 – opis:
https://youtu.be/oE1AWvTowJ4?t=7166

OKI #24 – GitHub:
https://youtu.be/oE1AWvTowJ4?t=7183

 

 

Olimpiada DLA ZAAWANSOWANYCH #23 – poniedziałek, 14 marca 2022, 18:30
Link do zajęć: https://youtu.be/PwMsedcXmJM?t=946
Temat: MST – Minimalne Drzewo Rozpinające

MST – Minimalne Drzewo Rozpinające
https://youtu.be/PwMsedcXmJM?t=946

Po co się uczymy algorytmów?
– upraszczamy zadanie do znanego algorytmu?
– jak rozwiązywać zadania
https://youtu.be/PwMsedcXmJM?t=1071

Historia algorytmu MST
– pan Borówka / Czech
– jak najtaniej położyć kable telefoniczne
– połączenie musi istnieć – nie musi być najkrótsze
– cykle bez sensu
https://youtu.be/PwMsedcXmJM?t=1123

Algorytm Borówki:
https://youtu.be/PwMsedcXmJM?t=1216

Złożoność algorytmu Borówki:
https://youtu.be/PwMsedcXmJM?t=1392

Algorytm Prima – Algorytm Jarnika
– także Czech (Jarnik)
– Prim (USA)
https://youtu.be/PwMsedcXmJM?t=1736

Złożoność algorytmu Prima:
https://youtu.be/PwMsedcXmJM?t=1899

Algorytm Prima – podobny do Dijkstry:
https://youtu.be/PwMsedcXmJM?t=2119

Algorytm Kruskala:
– najczęściej używany
– najprostszy do napisania, dobra złożoność
– bierzemy najkrótsze krawędzie które łączą spójne
https://youtu.be/PwMsedcXmJM?t=2320

Dlaczego najczęściej używamy Kruskala?
https://youtu.be/PwMsedcXmJM?t=2788

Zadanie Bajtocja – I etap I OIG
https://youtu.be/PwMsedcXmJM?t=2835
Złożoność rozwiązania:
https://youtu.be/PwMsedcXmJM?t=3802

Algorytmy zachłanne są często na Olimpiadzie / finale:
https://youtu.be/PwMsedcXmJM?t=4800

Porównanie algorytmów MST:
– każdy może być najszybszy / najwolniejsze – w zależności od danych
– Kruskal -> grafy rzadkie, Prim -> grafy gęste
https://youtu.be/PwMsedcXmJM?t=4820

 

Olimpiada OD PODSTAW #22 – czwartek, 9 marca 2022, 18:00
Link do zajęć: https://youtu.be/Ct7Fk6bExyI?t=16
Temat: Quizy algorytmiczne

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

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

Nasze zajęcia to “jak rozwiązywać zadania”!
– pokażemy na podstawie dwóch algorytmów
– Pomysł jest najważniejszy!
https://youtu.be/Ct7Fk6bExyI?t=169

Dlaczego nie ma Tomka Kwiatkowskiego?
– fun rozwiązywania problemów
– ma powodzenie – jest w III etapie OM oraz OI-a – to też nasz sukces
https://youtu.be/Ct7Fk6bExyI?t=220

Dziękuję za Mistrza Programowania!
– mnóstwo odkrywania, kodowania
– poznaliśmy programowanie, co możemy robić (bugi), świat (Route 66, palindromy i Kochanowski)
– gala
https://youtu.be/Ct7Fk6bExyI?t=261

Quiz Mistrz Programowania
– najfajniejsze zadanie…
https://youtu.be/Ct7Fk6bExyI?t=306

Rozwiązujemy problem spójnych przedziałów o sumie 5 – tylko liczby dodatnie:
https://youtu.be/Ct7Fk6bExyI?t=622

Brutalne rozwiązanie też dostaje punkty – jeśli nie mamy innego pomysłu piszemy bruta!
https://youtu.be/Ct7Fk6bExyI?t=1326

Algorytm gąsienicy:
https://youtu.be/Ct7Fk6bExyI?t=1703

Na konkursie – walczymy do końca!
– rozwiązanie wrzucone 10s przed końcem pozwoliło awansować na I miejsce!
– wypiszmy wszystkie swoje obserwacje
https://youtu.be/Ct7Fk6bExyI?t=3250

Sumy prefiksowe:
https://youtu.be/Ct7Fk6bExyI?t=3401

Problem – znaleźć ilość spójnych przedziałów o sumie 3 – liczby ujemne:
https://youtu.be/Ct7Fk6bExyI?t=5201

Dlaczego ten problem nie możemy być rozwiązany gąsienicą:
https://youtu.be/Ct7Fk6bExyI?t=5312

Pomysł uczetnika:
https://youtu.be/Ct7Fk6bExyI?t=5510

Optymalne rozwiązanie problemu:
https://youtu.be/Ct7Fk6bExyI?t=5848

map – bardzo ważna struktura!
https://youtu.be/Ct7Fk6bExyI?t=6971

Od czego zaczynamy konkurs?
https://youtu.be/Ct7Fk6bExyI?t=7331

Powodzenia!
https://youtu.be/Ct7Fk6bExyI?t=7606

 

Programowanie OD PODSTAW #22 – wtorek, 8 marca 2022, 18:00
Link do zajęć: https://youtu.be/guEW16OFGCg?t=12
Temat: Błędy i ich znajdowanie

Radość z debugowania!
– po 6h znaleziony bug
https://youtu.be/guEW16OFGCg?t=12
Startujmy w Olimpiadzie!
– rozwiązujemy problemy
– metodologia
– architektura komputerów
https://youtu.be/guEW16OFGCg?t=54

Błędy – łatwo zrobić – jak znajdować?
https://youtu.be/guEW16OFGCg?t=97

Błędy są fajne!
– pozwalają wniknąć – jak działa język programowania
– lepiej programowanie będziemy w stanie wykorzystać
https://youtu.be/guEW16OFGCg?t=114

Jak znajdujemy błędy – nasz opinie:
https://youtu.be/guEW16OFGCg?t=150

Dziękuję za piękne edytory!
https://youtu.be/guEW16OFGCg?t=233

Zapraszam na Galę Mistrz Programowania:
https://youtu.be/guEW16OFGCg?t=405

Gratulacje dla Tomka Kwiatkowskiego – naszego prowadzącego czwartkowe zajęcia Olimpiada OD PODSTAW:
https://youtu.be/guEW16OFGCg?t=472

Bedy w pętlach:
https://youtu.be/guEW16OFGCg?t=848

Jak debugować?
https://youtu.be/guEW16OFGCg?t=2709

Błędy w zmiennych:
https://youtu.be/guEW16OFGCg?t=4608

Błędy w zakresie zmiennych:
https://youtu.be/guEW16OFGCg?t=5686

Za tydzień ADRES IP!
https://youtu.be/guEW16OFGCg?t=3878

 

Olimpiada DLA ZAAWANSOWANYCH #23 – poniedziałek, 7 marca 2022, 18:30
Link do zajęć: https://youtu.be/0IY-WfPG2fU?t=909
Temat: Teoria liczb

Zaawansowana teoria liczb – specyficzny temat:
– 2 razy w trakcie OI-a Mikołaja
– FFT
– Rozszerzone sito Eratostenesa
https://youtu.be/0IY-WfPG2fU?t=909

Zaawansowana teoria liczb czyli:
– Rozszerzony algorytm Euklidesa
– Symbole Newtona
– Tocjent Eulera – Funkcja fi
https://youtu.be/0IY-WfPG2fU?t=1082

Rozszerzony Euklides:
https://youtu.be/0IY-WfPG2fU?t=1142

Gdzie wykorzystujemy rozszerzonego Euklidesa?
https://youtu.be/0IY-WfPG2fU?t=2225

Zadanie z rozszerzonym algorytmem Euklidesa:
https://youtu.be/0IY-WfPG2fU?t=2274

Symbol Newtona:
https://youtu.be/0IY-WfPG2fU?t=2577

Do czego przydaje się Symbol Newtona?
https://youtu.be/0IY-WfPG2fU?t=3190

Problem słoików i fasolek:
https://youtu.be/0IY-WfPG2fU?t=3457

Funkcja fi – tocjent Eulera:
https://youtu.be/0IY-WfPG2fU?t=3870

Co to znaczy, że funkcja fi jest multiplikatywna:
https://youtu.be/0IY-WfPG2fU?t=4106

Jak szybko liczyć funkcje fi?
https://youtu.be/0IY-WfPG2fU?t=4208

Do czego służy Euler tocjent?
– zadanie na tocjent
https://youtu.be/0IY-WfPG2fU?t=4366

Kiedy przydaje się teoria liczb?
https://youtu.be/0IY-WfPG2fU?t=4842

Gra jest fantastyczna
– taka sama jak profesjonalna gra Dino
– napisaliśmy profesjonalną grę!
– pokazać
https://youtu.be/e0t_EzkQ-0c?t=8139

Podsumowanie kodu całej gry:
https://youtu.be/e0t_EzkQ-0c?t=8217

Dziękuję za piękne video:
– pokazac
https://youtu.be/e0t_EzkQ-0c?t=8974

Nasze grawitacje:
– pokazać
– radość
https://youtu.be/e0t_EzkQ-0c?t=9030

Challenge #3 Piszemy grę:
https://youtu.be/e0t_EzkQ-0c?t=9384

 

 

Olimpiada DLA ZAAWANSOWANYCH #21 – poniedziałek, 28 lutego 2022, 18:30
Link do zajęć: https://youtu.be/eGudBNpReLA?t=122
Temat: Mnożenie / potęgowanie macierzy

Co to jest macierz?
https://youtu.be/eGudBNpReLA?t=1122

Do czego przydaje się macierz?
– reprezentacja grafu – macierz sąsiedztwa
https://youtu.be/eGudBNpReLA?t=1250

Operacje na macierzach:
https://youtu.be/eGudBNpReLA?t=1450

Mnożenie macierzy:
https://youtu.be/eGudBNpReLA?t=1722

Macierz jednostkowa:
https://youtu.be/eGudBNpReLA

Mnożymy macierze:
https://youtu.be/eGudBNpReLA?t=2397

n-ty wyraz ciągu Fibonacciego:
https://youtu.be/eGudBNpReLA?t=2560

Szybkie potęgowanie:
https://youtu.be/eGudBNpReLA?t=3183

Potęgowanie macierzy i grafy:
https://youtu.be/eGudBNpReLA?t=3420

Zadania kombinatoryczne:
https://youtu.be/eGudBNpReLA?t=4158

Posłaniec – finał XXIII Olimpiada Informatyczna
https://youtu.be/eGudBNpReLA?t=4372

Zadania gdzie jest potęgowanie macierzy:
https://youtu.be/eGudBNpReLA?t=6150

 

Programowanie OD PODSTAW #20 – wtorek, 22 lutego 2022, 18:00
Link do zajęć: https://youtu.be/gnHaRSZ1tIo?t=15
Temat: Tworzymy Edytor graficzny – część 2 – ostatnia

Super tablica – mapa!
– możemy trzymać kilka komórek o różnych, odbiegający wartościach – z dalekich przedziałów
– przykład sklepu
– tablica dużo komórek – a map mało
– będzie koszt czasowy

https://youtu.be/gnHaRSZ1tIo?t=15

Dlaczego warto walczyć o pamięć?
– ja zaczynałem od 64KB pamięci – Commodore 64
– sztuczna inteligencja
– sondy kosmiczne
– zdrowy rozsądek
https://youtu.be/gnHaRSZ1tIo?t=61

Posłuchaj historii pewnego ucznia
Tydzień temu zachęcałem Was do układania zadania
Dlaczego warto układać zadania?
Historia ucznia Jasia – praca naukowa – Stock
Z czego jestem dumny?
– jeden z moich uczniów consensus
– jestem dumny, szczęśliwy, życzę Wam tego samego
– wymyślił coś nowego – zredukował pamięć w consesusie
– problem generałów – decyzja – czy w lewo, czy w prawo
– dla 10 generałów było 1000 bitów a teraz potrzeba 100 bitów – z n^3 do n^2
– wspólnie z dwoma profesorami
– jakie ma to znaczenie?
– routery, bitcoin – wszędzie jest wymiana wiadomości
– mniej wiadomości, będą szybsze,
– pomyślcie o tym jako o swojej przyszłości – fascynujące
– to jest jak odkrywanie nowych lądów
– rozwiązując problem – mamy mnóstwo nowych do odkrywania
– informatyka jest bardzo młodą dziedziną
– jak fizyka za czasów Netwona – fascynująca
– zachęcam
– fun, przygoda
– zawsze można skręcić i zająć się zwykłą pracą
– wielkie firmy Google, Facebook, … potrzebują takich ludzi
– przyspieszą działania facebooka
– zwracają się do nich
Co robić by mieć taką przygodą?
– On był taki sam jak Wy – czasami udawało mu się przejść do kolejnego etapu Olimpiady, czasami nie
– Róbmy challenge
– Zajęcia Tomka, Mikołaja
– Wymyślanie zadań, krzyżówek, anagramów
– Wymyślając zadania jesteście już naukowcami
– Życzę Wam tego
https://youtu.be/gnHaRSZ1tIo?t=116

Dziękuję za buźki – super strony www
– wymieniamy wszystkich którzy zrobili te strony
https://youtu.be/gnHaRSZ1tIo?t=371

Buźki i głośna muzyka:
https://youtu.be/gnHaRSZ1tIo?t=428

Czy zaprosimy Janka na nasze zajęcia?
– TAK!
https://youtu.be/gnHaRSZ1tIo?t=464

Mistrz Programowania tylko do poniedziałku 7 marca!
– Śmiech Matematyka i Informatyka
– 22.02.2022
dużo if-ów
– zadanie basen na podstawie interview do Google
historia pływania
– kolejna edycja w 2023
https://youtu.be/gnHaRSZ1tIo?t=479

Kiedy nauczyłem się C++?
– 17 – 18 lat
– zaczynałem od C
– architektura
– dlaczego późno – 6-7 klasa już znają
https://youtu.be/gnHaRSZ1tIo?t=677

Główna część spotkania – map – uniwersalna tablica:
– dlaczego map?
– potrzebujemy trzymać mało wartości – mała duża – bilion i 200
– marnotrawstwo pamięci
https://youtu.be/gnHaRSZ1tIo?t=717

konkursy, sondy, temperatur miast
– tam używamy tylko kilka indeksów
https://youtu.be/gnHaRSZ1tIo?t=854

Zamiast tablicy – struktura map:
– podobna do tablicy
– wchodzimy do ideone
https://youtu.be/gnHaRSZ1tIo?t=887

Definiujemy mapę – elastyczną tablicę:
– co indeksami, co wartościami
https://youtu.be/gnHaRSZ1tIo?t=1074

Na początku map jest pusta:
https://youtu.be/gnHaRSZ1tIo?t=1386

Wpisujemy coś do map:
– do komórki o numerze bilion
https://youtu.be/gnHaRSZ1tIo?t=1449

Co jeśli dotkniemy komórki?
– podstawia domyślną wartość
https://youtu.be/gnHaRSZ1tIo?t=1744

Jak sprawdzić czy komórka jest zajęta w map?
– count
https://youtu.be/gnHaRSZ1tIo?t=1990

Indeksami i wartościami może być ckolwiek
– na przykład inna mapa
https://youtu.be/gnHaRSZ1tIo?t=2249

W mapie indeksy to klucze
– na przykład indeksy jako napisy to raczej lepiej nazwać kluczami
https://youtu.be/gnHaRSZ1tIo?t=2275

Dla danego klucza przechowujemy jedną wartość – jak w tablicy
https://youtu.be/gnHaRSZ1tIo?t=2357

Możemy indeksować ujemnymi wartościami!
https://youtu.be/gnHaRSZ1tIo?t=2476

Map – ulepszony set – set z indeksami (set nie ma indeksów):
https://youtu.be/gnHaRSZ1tIo?t=2571

Złożoność map
– koszt
– logarytmiczna
https://youtu.be/gnHaRSZ1tIo?t=2720

Logarytmy, matematyka – to nasz przyjaciel
– złożoność
– algorytmy logarytmiczne są uważane za super szybkie
https://youtu.be/gnHaRSZ1tIo?t=2886

Challenge #21
https://youtu.be/gnHaRSZ1tIo?t=5981

Zadania Challenge #21:
https://oki.org.pl/challenge-programowanie-od-podstaw-21

 

Olimpiada OD PODSTAW #21 – czwartek, 2 marca 2022, 18:00
Link do zajęć: https://youtu.be/jOqGMOGJQ1s?t=17
Temat: Find and Union

LeetCode czyli zadania z interview do Google’a Facebook’a, ….
Platforma LeetCode
– zawiera zadania z interview Google’a, Facebook, Amazon, …
https://youtu.be/jOqGMOGJQ1s?t=17

Za tydzień quizy!
Zapraszam na zajęcia za tydzień!
– algorytmy, techniki, podejścia
– strategia
– quizy
– co robić czego nie robić
https://youtu.be/jOqGMOGJQ1s?t=49

WARSZTATY OIJ!
Zdalne warsztaty olimpijskie
https://youtu.be/jOqGMOGJQ1s?t=97

Dlaczego proste pytanie?
– co to jest klika?
https://youtu.be/jOqGMOGJQ1s?t=590

Co to jest klika?
https://youtu.be/jOqGMOGJQ1s?t=630

Każdy kij ma dwa końce!
– jak to wpływa na krawędzie?
https://youtu.be/jOqGMOGJQ1s?t=767

Czy liczba krawędzi będzie całkowita?
https://youtu.be/jOqGMOGJQ1s?t=816

Omówienie zadania Min Cost to Connect All Points
https://youtu.be/jOqGMOGJQ1s?t=1117

Kod / omówienie zadania Min Cost to Connect All Points
https://oki.org.pl/min-cost-to-connect-all-points

Jak nazywa się graf który nie ma cykli i jest spójny?
https://youtu.be/jOqGMOGJQ1s?t=1820

Zadanie pokazuje algorytm Find And Union:
https://youtu.be/jOqGMOGJQ1s?t=2036

Omówienie kodu:
https://youtu.be/jOqGMOGJQ1s?t=4744

CHALLENGE #21 Olimpiada OD PODSTAW!
https://youtu.be/jOqGMOGJQ1s?t=5576

Zadania Challenge #21:
https://oki.org.pl/challenge-olimpiada-od-podstaw-21

 

Olimpiada DLA ZAAWANSOWANYCH #20 – poniedziałek, 28 lutego 2022, 18:30
Link do zajęć: https://youtu.be/hxWriRiRNcM?t=260
Temat: Drzewa przedział – przedział

Drzewo przedział-przedział:
https://youtu.be/exw_IXzDxVI?t=1088
Punkt przedział / przedział punkt – czy możemy połączyć?
https://youtu.be/exw_IXzDxVI?t=1120
Podejście przedział-przedział:
https://youtu.be/exw_IXzDxVI?t=1234
Co przekazujemy wierzchołkom poniżej
https://youtu.be/exw_IXzDxVI?t=1765
Złożoność drzew przedział – przedział:
https://youtu.be/exw_IXzDxVI?t=2372
Operacja query:
https://youtu.be/exw_IXzDxVI?t=2640
Koleje – IX etap Olimpiady Informatycznej
https://youtu.be/exw_IXzDxVI?t=2914
Drzewa przedział-przedział  – kod:
https://youtu.be/exw_IXzDxVI?t=3520
Fajnie mieć możliwość startować w Olimpiadzie!
– fajnie się pisze / fajnie się ma
– jakie błędy pominął Mikołaj
– wiedza z Olimpiady procentuje
– nie nastawiajmy się na finał – liczą się zadania które zrobiliście, debugowania
– ułatwienie do matury
https://youtu.be/exw_IXzDxVI?t=4397

Co robić przed konkursem / w trakcie konkursu:
https://youtu.be/hxWriRiRNcM?t=3725

 

Programowanie OD PODSTAW #20 – wtorek, 22 lutego 2022, 18:00
Link do zajęć: https://youtu.be/EXENvWJLI5k?t=10
Temat: Tworzymy Edytor graficzny – część 2 – ostatnia

Edytor wersja v 2.0
– kończymy edytor z poprzedniego tygodnia
https://youtu.be/EXENvWJLI5k?t=10

Funkcje naszego edytora
– rozmiar / wielkość pędzla
– czyscie, zrestotować, zapisać
https://youtu.be/EXENvWJLI5k?t=31

Nasz edytor ma bug-a!
– Daria go znalazła
https://youtu.be/EXENvWJLI5k?t=49

– wydaje się że bugi są niedobre
https://youtu.be/EXENvWJLI5k?t=67

Bugi mogą być pożyteczne
– lista firm które płacą za znalezienie buga
– kwoty jakie płacą za znalezienie buga
https://youtu.be/EXENvWJLI5k?t=81

Dlaczego firmy płaca za znalezienie bugów?
– bezpieczeństwo
– firmy proszą o nas pomoc w znalezieniu bugów
https://youtu.be/EXENvWJLI5k?t=153

Zachęcam do konkursu Mistrz Programowania:
– strona aktualności
– runda 5 – zadanie ale bug
– bugi i podatki pewne
– ilośc bugów per linia kodu
– co powodują bugi – zawieszenie gier, zawładnięcia komputerem, katastrofy w kosmosie
– co trzeba zrobić
https://youtu.be/EXENvWJLI5k?t=203

Runda 7 – zadanie koczkodan:
– figura szachowa
– co trzeba zrobić
https://youtu.be/EXENvWJLI5k?t=310

Dziękuję Emilowi Makalowi
– ułożył fantastyczne zadanie
– VII klasa
– Zachęcam do układania zadań
– układanie zadań bardzo nas rozwija
– musimy wymyśleć rozwiązanie, zastanowić się czy istneje
– jesteśmy jak naukowcy
– starają się znaleźć problem, rozwiązać, nie wiedzą czy rozwiązanie istnieje
– my mając zadanie na konkursie wiemy, że rozwiązanie istnieje
– bardziej frapujące, bardziej ciekawe
– gdzie wysyłać pomysły na zadanie
– zachęcam do układania zadań – jeszcze bardziej frapująca przygoda
https://youtu.be/EXENvWJLI5k?t=336

Czy coś Wam kojarzy z data 22.02.2022
– palindrom
– zachęcam do quizu – kiedy następna daty
– inny palindrom
– Jan Kochanowski mistrz palindromów
– łączy matematykę i informatykę
https://youtu.be/EXENvWJLI5k?t=405

Skończył się II etap OI-a Olimpiady Informatycznej
– odkrywanie, poznawanie, bycie mocniejszym
– nie chodzi o żadne punkty
– wycieczka rowerowa
– satysfakcję nam sprawia bycie w drodze – pedałowanie, robienie zadań
– Tomek 330 punktów – w III etapie
– mam nadzieję, że powtórzy sukces laureata
– ale najważniejsze że się dużo nauczy, będzie miał fun z drogi
https://youtu.be/EXENvWJLI5k?t=477

Pokazujemy bug-a w naszym kodzie:
– ciekawy
– rysuje bez naciśniećia
https://youtu.be/EXENvWJLI5k?t=672

Jak mam na imię?
https://youtu.be/EXENvWJLI5k?t=730

Jak zaczynałem się uczyć programowania?
– VI klasa SP
– Commodore 64
– pozdrawiam Atarowców
– Tak jak teraz jest wojna Windows/Linux tak wtedy wojna C64/Atari
– Pozdrawiam wszystkich Atarowców!
https://youtu.be/EXENvWJLI5k?t=736

Tworzymy edytor graficzny – główna część – początek:
– treść – co zrobiliśmy
https://youtu.be/EXENvWJLI5k?t=1334

Kod / linki:
https://oki.org.pl/edytor-graficzny

Otwieramy pusty plik index.html:
– zwracamy uwagę na rozszerzenie
– rozszerzenie *.html
– jak sprawdzić
– Visual Studio Code – edytor tekstowy
– dwa okna – edytor tekstowy VSC + przeglądarka
https://youtu.be/EXENvWJLI5k?t=1393

Kod z poprzedniej lekcji
– udostępniamy / wklejamy
– pokazujemy co robi
– omówienie poprzednie kodu
https://youtu.be/EXENvWJLI5k?t=1632

Czy nazwa strony może być inna?
– index.html – domyślna strona która jest wyświetlana z katalogu zdalnego serwera http
– ale nazwa może być dowolna lokalnie – rozszerzenia *.html
https://youtu.be/EXENvWJLI5k?t=2111

Usuwamy bug-a
– podniesienie mysz poza canvas nie jest odnotowane – dalej rysuje przy powrocie na canvas
– zmieniamy miejsce gdzie podniesienie / opuszczenie myszy – na documencie – poprzednio na canvas
https://youtu.be/EXENvWJLI5k?t=2211

Bardzo ważna uwaga Persiego
– wersja 1.4
– usunięty poważny bu
– powinniśmy pisać dokumentację – jakie bugi usunięte
– super dlaczego nie wersja 2.0?
– sami możemy nazywać jak chcemy – to my tworzymy edytor
https://youtu.be/EXENvWJLI5k?t=2525

Challenge #20 – opis:
https://youtu.be/EXENvWJLI5k?t=6809

Zmieniamy wielkość pędzla:
https://youtu.be/EXENvWJLI5k?t=2657

Malowanie daje fun!
Zmieniamy wielkośc pędzla
– to już nie jest rysowanie – to jest malowanie!
https://youtu.be/EXENvWJLI5k?t=3014

Nasz program ma bug-a
Po odświeżeniu nie rysuje
Ustawiamy wartości początkowe
Wywołujemy je również na samym początku.
– resetujemy ustawienia, wartość domyślna pędzla
https://youtu.be/EXENvWJLI5k?t=3239

 

Olimpiada OD PODSTAW #20 – czwartek, 2 marca 2022, 18:00
Link do zajęć: https://youtu.be/tO1WjVAICMs?t=15
Temat: Zadanie z EJOI – Europejskiej Olimpiady

EJOI – Europejska Olimpiada Informatyczna Juniorów:
– dasz radę rozwiązać zadanie!
https://youtu.be/tO1WjVAICMs?t=15

II etapu Olimpiady – przygotowania
Jak się przygotowujemy do II etapu OIJ?
– zadania z poprzednich OIJ, zadania z USACO
– To najlepsze, robić zadania!
– Sprawdzić się pod presją czasu – znaleźć czas taki jak na OIJ i zrobić jeden etap
– zadania z Codeforces – inny typ zadań ale warto, presja czasu
https://youtu.be/tO1WjVAICMs?t=98

Dlaczego system dwójkowy?
– podstawa komputerów
– my widzimy więcej cyfr.
https://youtu.be/tO1WjVAICMs?t=770

Liczby dwójkowe:
– zamiana liczb dwójkowych na dziesiętne:
– ile to 100 dwójkowo?
– na czym polega system dziesiętny?
– na czym polega system dwójkowy?
https://youtu.be/tO1WjVAICMs?t=830

Omówienie zadania Hanging Rack:
https://youtu.be/tO1WjVAICMs?t=1257

Kod / linki:
https://oki.org.pl/hanging-rack/

Wierzchołek na samej górze – jak schodzą kurtki w lewo i w prawo
https://youtu.be/tO1WjVAICMs?t=2144

Numerujemy kurtki od 0:
– patrzymy na zapis dwójkowy
– kurtki z zerem na końcu dwójkowo (parzyste) idą na lewo, z jedynką na końcu idą na prawo (nieparzyste)
https://youtu.be/tO1WjVAICMs?t=2220

Jak kurtki rozdzielają się na poziomie o jeden niżej głównego:
– decyduje druga cyfra od końca dwójkowo
https://youtu.be/tO1WjVAICMs?t=2450

Analizujemy jeszcze jeden poniżej wierzchołek:
– decyduje trzecia cyfra od końca dwójkowo
https://youtu.be/tO1WjVAICMs?t=2637

Jak rozmieszczą się płaszcze?
https://www.youtube.com/watch?v=tO1WjVAICMs&t=2684

Ostatnia cyfra dwójkowo mówi nam gdzie iść – rozwiązanie:
https://youtu.be/tO1WjVAICMs?t=2720

Czy możemy zrobić graf z wierzchołków?
– ilość wierzchołków szybko rośnie.
https://youtu.be/tO1WjVAICMs?t=2928

Jak rozwiązać nasze zadanie?
– numerujemy wieszaki
– mając numer łatwo odtworzyć płaszcz
– syn po lewej to 2*ja, syn po prawej to 2*ja+1
– mając reprezentację dwójkową wiemy jak chodzić po drzewie – wiemy do którego wierzchołka dojdziemy
https://youtu.be/tO1WjVAICMs?t=3057

Jak sprawdzamy czy idziemy w lewo czy w prawo?
– dzielimy na 2, bierzemy resztę, wynik zaokrąglamy w dół
https://youtu.be/tO1WjVAICMs?t=3518

Mamy pierwszy wierzchołek – ostatnia cyfra dwójkowa
Co z drugim wierzchołkiem?
– dzielimy na dwa zaokrąglając w dół
https://youtu.be/tO1WjVAICMs?t=3610

Omówienie kodu:
https://youtu.be/tO1WjVAICMs?t=4360

Challenge #20 – opis – Olimpiada OD PODSTAW
https://youtu.be/tO1WjVAICMs?t=5648

 

Olimpiada DLA ZAAWANSOWANYCH #17 – poniedziałek, 24 stycznia 2022, 18:30
Link do zajęć: https://youtu.be/hxWriRiRNcM?t=260
Temat: Przed II etapem

Czego nie ma drzewo?
https://youtu.be/hxWriRiRNcM?t=292

Co gdy przekroczymy int?
https://youtu.be/hxWriRiRNcM?t=555

Historia pewnego int-a:
– przekręcamy int a a zmienia się wartość d
– to jest undefinined behaviour
– może sformatować komputer
– u Mikołaja przekręcony int c zmieniał wartość d
https://youtu.be/hxWriRiRNcM?t=657

Złożoność programu – O(n):
https://youtu.be/hxWriRiRNcM?t=847

Co to jest algorytm online?
https://youtu.be/hxWriRiRNcM?t=970

Przesunięcie bitowe:
https://youtu.be/hxWriRiRNcM?t=1090

Co to jest algorytm dynamiczy?
https://youtu.be/hxWriRiRNcM?t=1625

Zasady techniczne / ustalenia / co robić na II etapie
https://youtu.be/hxWriRiRNcM?t=2358

 

Programowanie OD PODSTAW #19 – wtorek, 15 lutego 2022, 18:00
Link do zajęć: https://youtu.be/Ck6k19b7FVU?t=4
Temat: Tworzymy Edytor graficzny – część 1

Tworzymy edytor graficzny!
– możemy zmieniać kolor / wielkość pędzla
https://youtu.be/Ck6k19b7FVU?t=17

Olimpiada matematyczna:
– Dlatego nie mieliśmy zajęć – Tomek miał II etap 5/6 zadań
https://youtu.be/Ck6k19b7FVU?t=57

II etap OI-a
– start
– podstawówki też
– życzenia dla Tomka
– okazja by zapytać Tomka
https://youtu.be/Ck6k19b7FVU?t=90

Zachęcam do udziału w konkursach matematycznych
– serce rozwiązywanie problemów
– młotki, wiertarki – atakujemy problem, problem rozwiążemy za sekundę a nie za miliard mialiardów lat
– jesteśmy w stanie zrobić magię
https://youtu.be/Ck6k19b7FVU?t=122

Zachęcam do udziału w Olimpiadzie Informatycznej:
– nieważne czy w SP czy liceum
– nie chodzi o punkty / przejście do etapów
– liczy się to co wymyślisz
– liczy się wiedza która zdobędziesz / wyszukasz / wynajdziesz
– liczą się problemy które będziesz potrafić rozwiązać
– konkursy USACO, codeforces
https://youtu.be/Ck6k19b7FVU?t=149

Konkurs Mistrz Programowania – aktualności
– runda 6
– mistrz programowania / aktualności
– Zadanie Informatyk – czym różni się początkujący od zaawansowanego
– każdy to zadanie zrobi / zachęcam do wspólnej zabawy / przekazania kolegom koleżankom
– zadanie 210 – jest 10 rodzajów ludzi
https://youtu.be/Ck6k19b7FVU?t=202

– dziękuję Natalii Mietelskiej / Patrykowi Bulińskiemu za przygotowanie zadań
https://youtu.be/Ck6k19b7FVU?t=296
– pokazują wiedzę o świecie – Bitwa pod Wiedniem – historycznie możemy się odnaleźć
– bug – ile można zarobić na bugach – zadanie ale bug

OKI jest na Tik Toku – OKI_Kolo
– jeden z uczniów pomaga – dziękuję
– krótkie filmiki / fragmenty zajęć
https://youtu.be/Ck6k19b7FVU?t=377

Dlaczego OKI na Tik Toku?
– przez tik toka staramy się trafi do większej grupy osób
– by nasza społeczność rosła!
– projekt Mateusza – sprawne miasto – pisze w grupie
– jesteśmy dla siebie wsparciem, inspiracją
– im więcej nas, pomysłów, każdy patrzy inaczej, tym lepiej
https://youtu.be/Ck6k19b7FVU?t=483

Czy OKI uczy Pythona?
– uczymy narzędzi do Olimpiad / przyspieszania działania komputera – lepszy C++
– Python jest dobry do skryptów, by coś zrobić z plikami na dyskach
– Python jest fantastyczny
https://youtu.be/Ck6k19b7FVU?t=441

Omówienie zadania – Tworzymy edytor graficzny – część 1:
https://youtu.be/Ck6k19b7FVU?t=848

Skrócone omówienie kodu edytora graficznego – część 1:
https://youtu.be/Ck6k19b7FVU?t=5222

Otwieramy pusty plik index.html
– pokazuj rozszerzenia plików
– rozszerzenie html
https://youtu.be/Ck6k19b7FVU?t=886

Używajmy Visual Studio Code do edytowania naszego kodu w index.html
– możemy w notepadzie
– preferuje w Visual Studio Code
https://youtu.be/Ck6k19b7FVU?t=994

Strona html z canvas do rysowania:
– dokładne omówienie
https://youtu.be/Ck6k19b7FVU?t=1276

Rysujemy koło/punkt na płótnie canvas:
– punkt/koło procedura
https://youtu.be/Ck6k19b7FVU?t=2033

Umiemy narysować punkt – chcemy rysować myszą
– czego nam brakuje
– musimy reagować na zdarzenie
– przechwytujemy zdarzenia
https://youtu.be/Ck6k19b7FVU?t=2536

Rysujemy przy ruchu myszy!
– Hurra!
– Możemy się pobawić
– grubaśny pędzel
https://youtu.be/Ck6k19b7FVU?t=2830

DRŻYJ ŚWIECIE – POWSTAJE SUPEREDIT
– dajemy soczysty tytuł
– powstaje edytor graficzny SuperEdit
– drżyj świecie – to będzie najlepszy edytor
– rzucam wyzwanie światu
– na razie tylko rysuje smugi – ale w przyszłości zmiecie inne edytory z runku
https://youtu.be/Ck6k19b7FVU?t=3240
https://youtu.be/Ck6k19b7FVU?t=3245

Nasz program źle rysuje
– jest przesunięty
– mamy buga – nasz pierwszy bu!
– trzeba przesunąć rysowany punkt o offset canvas
https://youtu.be/Ck6k19b7FVU?t=3335

Tworzymy guzik do czyszczenia:
https://youtu.be/Ck6k19b7FVU?t=3990

Pierwszy element menu i zmieniamy na wersje 1.1 (usuniecie buga) i na wersje 1.2 (dodanie guzika czysc)
https://youtu.be/Ck6k19b7FVU?t=4003

Obsługa zdarzeń mysz wciśnięta / mysz podniesiona
https://youtu.be/Ck6k19b7FVU?t=5102

Majka koryguje brak zmiany wersji przy kolejnych istotnych wersjach edytora graficznego SUPEREDITa który zawładnie światem
https://youtu.be/Ck6k19b7FVU?t=5031

Jak zrobić okrąg zamiast koła?
– omówienie definiowania kształtu
– omówienie wypełniania kształtu (fill) vs rysowanie konturu (stroke)
https://youtu.be/Ck6k19b7FVU?t=6921

Jak rysować łuki?
– arc – definicja fragmentu okręgu / koła
https://youtu.be/Ck6k19b7FVU?t=7231

Challenge #19 – omówienie:
https://youtu.be/Ck6k19b7FVU?t=6201

 

Programowanie OD PODSTAW #18 – wtorek, 1 lutego 2022, 18:00
Link do zajęć: https://youtu.be/j2iE4SotFZA?t=13
Temat: Programowanie obiektowe – Zadanie Miasto

Programowanie obiektowe
– wchodzimy w programowanie profesjonalne programowanie
https://youtu.be/j2iE4SotFZA?t=13

Co nam daje programowanie obiektowe?
– bezpieczeństwo
– minimalizacja dziwnego stanu
– minimalizacja buga
– łatwo rozbudowywać
– wszystko co się tyczy miasta, gra w jednym miejscu
– upraszcza program
https://youtu.be/j2iE4SotFZA?t=34

Dlaczego stosujemy programowanie obiektowe
– mamy wszystko w jednym miejscu
– możemy użyć gracza,. miasto w wielu projektach
– za darmo pisze skomplikowane kody
– przyspiesza tworzenie aplikacji
– łatwo rozbudowywać – zmieniamy sposób implementacji metod
– interfejs zostaje
– dokładnie wiemy co klasa robi (public)
– porządek przy dużych projektach – nikt nie zmienia wwartosci zmiennych, minimalizacja bugów, stan klasy okreslony
https://youtu.be/j2iE4SotFZA?t=7185

Czy mając 15 lat mogę brać udział w projektach?
– licealiści stworzyli własny projekt – sprawne miasto
– 8 osób: grafik, programiści, osoba od marketingu
https://youtu.be/j2iE4SotFZA?t=137

Zachęcam do własnego projektu
– zbierzmy się w kilka osób
– popatrzmy czego brakuje
– może coś brakuje w edytorze graficznym – stwórz własny
– może plan zajęć dla szkoły
– wszędzie są braki, wystarczy się rozejrzeć
– jesteśmy jako programiści by pomagać
– znamy C++ / Python
– projekt napisany w JavaScript który tez znamy
https://youtu.be/j2iE4SotFZA?t=217

Konkursy nadają sens naszym działaniom
– jak się zarjestrować
– Opisy zadania: Route 66
– ranking
https://youtu.be/j2iE4SotFZA?t=284

Śmiało mówimy swoje opinie, wątpliwości – odkrywamy:
https://youtu.be/j2iE4SotFZA?t=2714

Omówienie zadania Miasto:
https://youtu.be/j2iE4SotFZA?t=1525

Skrót omówienia zadania Miasto:
https://youtu.be/j2iE4SotFZA?t=6895

Programowanie obiektowe:
– tworzymy miasto przy pomocy programowania obiektowego
– interfejs, część prywatna, część publiczna
https://youtu.be/j2iE4SotFZA?t=1674

Domyślnie całość jest prywatna w klasie (quiz):
https://youtu.be/j2iE4SotFZA?t=8198
Poprawna struktura klasy (quiz):
– część prywatna
– cześc publiczna
– odpowiednie funkcje
https://youtu.be/j2iE4SotFZA?t=8469
Dostęp do stanu klasy:
Dlaczego nie dajemy dostępu do zmiennych w klasie?
https://youtu.be/j2iE4SotFZA?t=8620

Olimpiada OD PODSTAW #18 – czwartek, 2 lutego 2022, 18:00
Link do zajęć: https://youtu.be/8m6_bOKvzqI?t=6
Temat: BFS, wszystko może być grafem – Zadanie Milk Pails

Od trzech zajęć grafy
-> Reprezentacja / DFS / Preorder
https://youtu.be/8m6_bOKvzqI?t=6

Dziś BFS
https://youtu.be/8m6_bOKvzqI?t=58

Grafem może być wszystko!
https://youtu.be/8m6_bOKvzqI?t=64

Omówienie zadania Milk Pails:
https://youtu.be/8m6_bOKvzqI?t=1001
Kod / linki:
https://oki.org.pl/milk-pails

Początek rozwiązania zadania Milk Pails:
https://youtu.be/8m6_bOKvzqI?t=1668

Tworzymy graf z wiader
– stany wiader staja się wierzchołkami
https://youtu.be/8m6_bOKvzqI?t=1754

Przekształciliśmy wiadra, przelewanie mleka na graf!
https://youtu.be/8m6_bOKvzqI?t=2368

Jak działa BFS?
– przechodzimy warstwami
– odległość 0, odległość 1
https://youtu.be/8m6_bOKvzqI?t=2384

Na czym polega BFS?
Przeszliśmy graf BFS-em
– ogólnie na czym polega BFS
https://youtu.be/8m6_bOKvzqI?t=3115

Czy jakiś wierzchołek może dać lepszy wynik w przyszłości w BFS?
https://youtu.be/8m6_bOKvzqI?t=3325

Co jest ważne w BFS?
https://youtu.be/8m6_bOKvzqI?t=3461

Czy można liczyć odległości DFS-em?
https://youtu.be/8m6_bOKvzqI?t=3608

Ja implementujemy BFS-a?
– szczegółowy opis
https://youtu.be/8m6_bOKvzqI?t=3820

Jak działa kolejka w C++?
– złożoność kolejki
https://youtu.be/8m6_bOKvzqI?t=4602

Jak  działa kolejka w Pythonie:
– skorzystajmy z collections (deque, append, poleft, popright, len)
– lista – będzie bardzo wolna
https://youtu.be/8m6_bOKvzqI?t=4823

Jak zrobić graf z dwóch liczb, graf stanów?
– u nas wierzchołkami nie sa liczby tylko pary liczb
– w wierzchołkach możemy przechowywać cokolwiek! – liczby, pary, napisy, wektory
– będziemy przechowywać wektor par
https://youtu.be/8m6_bOKvzqI?t=4969

Nie musimy trzymać naszego grafu!
https://youtu.be/8m6_bOKvzqI?t=5053

Złożoność BFS-a:
– O ( krawedzie + wierzcholki )
https://youtu.be/8m6_bOKvzqI?t=5242

Omówienie kodu, który rozwiązuje zadanie:
https://youtu.be/8m6_bOKvzqI?t=5350

Kod BFS-a:
https://youtu.be/8m6_bOKvzqI?t=5454

Challenge #18 – omówienie:
https://youtu.be/8m6_bOKvzqI?t=6762

 

Olimpiada DLA ZAAWANSOWANYCH #17 – poniedziałek, 24 stycznia 2022, 18:30
Link do zajęć: https://youtu.be/a27eXSugdPQ?t=932
Temat: Testowanie

Plan zajęć:
https://youtu.be/a27eXSugdPQ?t=932

Bruty przydają się w testowaniu:
https://youtu.be/a27eXSugdPQ?t=947

Najbardziej brutalny brut:
https://youtu.be/a27eXSugdPQ?t=982

Brut dla problemów wyboru:
https://youtu.be/a27eXSugdPQ?t=1268

Brut dla zadań z kolejnością:
https://youtu.be/a27eXSugdPQ?t=1564

Piszemy bruty – Linux rekomendowany!
https://youtu.be/a27eXSugdPQ?t=1758

Co potrzeba by przetestować rozwiązanie?
https://youtu.be/a27eXSugdPQ?t=1952

Jak losować?
https://youtu.be/a27eXSugdPQ?t=2234

Piszemy sprawdzarkę:
https://youtu.be/a27eXSugdPQ?t=3120

Po co testować?
– strategie na II etap:
https://youtu.be/a27eXSugdPQ?t=4057

Co robić przed II etapem?
https://youtu.be/a27eXSugdPQ?t=4949

 

Olimpiada OD PODSTAW #17 – czwartek, 27 stycznia 2022, 18:00
Link do zajęć: https://youtu.be/R4FOYOblSNE?t=89
Temat: Preoder / postorder – Zadanie Dyrektor patrzy

Weź udział w USACO!
https://youtu.be/R4FOYOblSNE?t=89

Co to jest drzewo
– spójny graf bez cykli
– jedna ścieżka między wierzchołkami
https://youtu.be/R4FOYOblSNE?t=274
Czy graf o jednym wierzchołku jest drzewem?
https://youtu.be/R4FOYOblSNE?t=553
Przykład – czy graf jest drzewem?
https://youtu.be/R4FOYOblSNE?t=711

Omówienie zadania Dyrektor patrzy:
https://youtu.be/R4FOYOblSNE?t=1755

Kod / linki:
https://oki.org.pl/dyrektor-patrzy/

Rozwiązanie brutalne zadania:
– sprawdzamy wszystkie wierzchołki nad naszym wierzchołkiem
– nie potrzebujemy nawet DFS
– odpowiednio numerując po prostu ojciec to wierzchołek podzielony przez 2
– złożoność takiego rozwiązania (ilosc_pytan razy liczba_osob)
https://youtu.be/R4FOYOblSNE?t=2490

Nasz problem rozwiązujemy DFS-em
– jest przewidywalny
– wytłumaczenie DFS-a
https://youtu.be/R4FOYOblSNE?t=2743

Preorder / Postorder:
– wytłumaczenie
– przykład – wartości preorder/ postorder
https://youtu.be/R4FOYOblSNE?t=2901
Co wynika z Preorder / Postorder?
https://youtu.be/R4FOYOblSNE?t=3350
Prorder/postorder pozwala na sprawdzenie czy dany wierzchołek jest przodkiem innego
– porównujemy preorder / postorder
https://youtu.be/R4FOYOblSNE?t=3515
Jak zrobić nasze zadanie korzystając z Preorder/Postorder?
https://youtu.be/R4FOYOblSNE?t=3780
Złożoność rozwiązania z Preorder / Postorder:
https://youtu.be/R4FOYOblSNE?t=3937
Omówienie kodu który rozwiązuje zadanie:
https://youtu.be/R4FOYOblSNE?t=4104
Implementacja Preorder / Postorder w kodzie programu:
https://youtu.be/R4FOYOblSNE?t=4571
Jak pamiętać znaki nierówności w preorder / postorder?
– narysujmy mały graf
– nie warto się uczyć na pmiaęć
– warto wiedzieć co sie dzieje
https://youtu.be/R4FOYOblSNE?t=4648

Co to jest poddrzewo:
https://youtu.be/R4FOYOblSNE?t=3477

Dlaczego Tomek lubi drzewa?
– chodząc DFS-em nie trzeba zaznaczać że wierzchołek jest odwiedzony
– ale trzeba pamiętać kto jest moim ojcem/dyrektorem by nie wywołać się w ojcu
https://youtu.be/R4FOYOblSNE?t=4178

Najpierw napiszmy nasze zadanie sami!
– nie umiemy – narysujmy na kartce drzewo z preorder / posrorder
– zobaczmy czy program liczy tak samo
https://youtu.be/R4FOYOblSNE?t=4947

Doświadczenie Tomka:
– piszmy najpierw zadanie sami
– na II / III etapie nie będziemy mieli omówienia ani kodu
https://youtu.be/R4FOYOblSNE?t=4991

Co trzeba znać na II Olimpiady?
– DFS, Binary Search, Gąsienica, Sumy Prefiksowe, Sito Eratostenesa
https://youtu.be/R4FOYOblSNE?t=5014

Jak wygląda wizyta u cioci?
– odwiedzamy DFS-em ciocie
https://youtu.be/R4FOYOblSNE?t=5350
DFS tworzy drzewo rozpinające na grafie:
– tworzy krawędzie drzewowe
– można łatwo policzyć ilość takich krawędzi
https://youtu.be/R4FOYOblSNE?t=5472

Challenge #17 – omówienie:
https://youtu.be/R4FOYOblSNE?t=5693

Krążki – Olimpiada Informatyczna – odwagi, nie ma się czego bać
– jest w naszym zasięgu
https://youtu.be/R4FOYOblSNE?t=5716

Jak być mistrzem DFS-a?
https://youtu.be/R4FOYOblSNE?t=6070

Za tydzień algorytm BFS!
https://youtu.be/R4FOYOblSNE?t=5844

 

Programowanie OD PODSTAW #17 – wtorek, 25 stycznia 2022, 18:00
Link do zajęć: https://youtu.be/AMouETtFmhg
Temat: Set – ćwiczenia / quiz

Wchodzimy w profesjonalne, ciekawe programowanie!
SET!
– tablica bez indeksów
https://youtu.be/V_vDDNdjP1U?t=13

Czy jest sens wnikać?
– kto używa C++
– Facebook / Microsoft / …
– C++ tam gdzie szybkość, grafika, medycyna
– tam gdzie potrzebna jest bliskość sprzętu
– dzięki C++ rozumiemy architekturę komputera
– świetnie sprawdza się na konkursach – jest szybki!
https://youtu.be/V_vDDNdjP1U?t=45

Czy jest sens wnikać?
– historia ucznia
– aplikacja do firmy, modelowanie rynków
– interview przeszedł bez problemów
– jako osoba która miała 20 lat dostał ofertę 6 000 funtów
– świetny programista / umie rozwiązywać problemy przy pomocy komputer
– co mam robić by w przyszłości mieć ciekawą pracę?
– wnikać!
– wykorzystywać w konkursy
https://youtu.be/V_vDDNdjP1U?t=146

Aktualne informacje dotyczące Mistrz Programowania:
– 350 użytkowników / 3 rundy
– zadania proste, które każdy zrobi
– są zadania które wymagają pomyślenia
– jak dołączyć / wysyłanie po rejestracji
– ranking
– statystyki – które zadanie łatwe, które trudne
https://youtu.be/V_vDDNdjP1U?t=226

Zadanie Bambus Happy 2
– na podstawie interview do firmy Google
– nieważne na ile punktów zrobicie
– po dwóch tygodniach setka? – motywacja – nie tylko możesz pracować u największych ale to oni o Ciebie będę się bili
– zachęcam do zrobienia!
–  można zrobić na 30 punktów, pomyśleć i mieć 100
– zachęcam by myśleć – to jest ta droga która zaprowadzi nas do przyłóżcie
– odwagi, warto mieć marzenia, warto każdego dnia robić krok w stronę naszych marzeń
https://youtu.be/V_vDDNdjP1U?t=317

Ile rund w konkursie?
https://youtu.be/V_vDDNdjP1U?t=402

Rozpoczynamy set
– od początku, od wytłumaczenia przeglądarki
– chcemy trzymać stopnie harcerskie
“trzy piora” – opis sprawnosci
“ons
– dołączamy set/string
https://youtu.be/V_vDDNdjP1U?t=413

Sprawność harcerska “trzy pióra” – na czym polega
– trzy dni milczenia, głodu i samotności
https://youtu.be/V_vDDNdjP1U?t=571

Ile tych samych sprawności może mieć harcerz?
– albo mam obserwatora, albo nie mam
– trzymamy sprawności w secie stringów
https://youtu.be/V_vDDNdjP1U?t=598

Jaki własności ma set?
– trzyma elementy raz
– uporządkowanie
– bez indeksów, indeksowanie zawartość, asocjacyjna
– struktura coś trzyma
https://youtu.be/V_vDDNdjP1U?t=676

Wypisujemy rozmiar zbioru:
https://youtu.be/V_vDDNdjP1U?t=720

Jak dodać element do zbioru?
https://youtu.be/V_vDDNdjP1U?t=853

Zbiór przechowuje zawsze jeden element / jedną instancję:
https://youtu.be/V_vDDNdjP1U?t=993

Co jest pojedyncze?
– harcerz ma jedną sprawność
– miasta są jedne
https://youtu.be/V_vDDNdjP1U?t=1023

Jak męczy się komputer?
Złożoność insert w set:
– porównanie z tablicą (czas stały)
– wyjaśnienie że złożoność to zależność od liczby danych wejściowych
– wykona potęgę dwójki która daje liczbę danych na wejściu
– set nie jest aż tak szybki jak tablica
https://youtu.be/V_vDDNdjP1U?t=1222

find /set – znajdowanie elementów w zbiorze:
https://youtu.be/V_vDDNdjP1U?t=1423

Co to jest end() w zbiorze?
– wskazuje na koniec
https://youtu.be/V_vDDNdjP1U?t=1509

Złożoność find:
– co to jest logarytm?
https://youtu.be/V_vDDNdjP1U?t=1655

Czym różni się tablica od zbioru?
https://youtu.be/V_vDDNdjP1U?t=1782

Jak chodzi po set – zbiorze?
– przejść po tablicy
– wylistować elementy w zbiorze
– nie ma indeksów – jak chodzić po zbiorze?
– jest iterator
– idziemy po zbiorze
– co to jest begin() end()
https://youtu.be/V_vDDNdjP1U?t=1832

Set trzyma wartości uporządkowane!
– wypisujemy wartości setu
– trzyma wszystko raz
– domyślnie trzyma uporządkowane rosnąco
https://youtu.be/V_vDDNdjP1U?t=2088

Nie ma indeksów, a wypisaliśmy wartosci!
– indeksowanie wartością
– więcej wartości uporządkowane
https://youtu.be/V_vDDNdjP1U?t=2193

Mam coś co zawsze jest posortowane
– lepsze od tablicy
– tablica jest nieposorotwana
https://youtu.be/V_vDDNdjP1U?t=2376

Złożoność przechodzenia po secie – liniowa:
https://youtu.be/V_vDDNdjP1U?t=2426

Usuwanie elementy ze zbioru:
https://youtu.be/V_vDDNdjP1U?t=2446

Czy możemy utworzyć set od intów?
– set może być złożony z elementów dowolnego typu
https://youtu.be/V_vDDNdjP1U?t=2562

Kolejne zajęcia
– własna klasa
– system dla miast
– klasa – certyfikat zaawansowanego programisty
https://youtu.be/V_vDDNdjP1U?t=2707

Szczegółowy opis kolejnych zajęć – klasa / miasta:
https://youtu.be/V_vDDNdjP1U?t=5840

Ostatnie zajęcia – sieci neuronowa / uczenie masyznowe
https://youtu.be/V_vDDNdjP1U?t=5904

Znajdowanie elementów w set:
– jest uporządkowany – wykorzystajmy to!
– szuka elementu lub kolejnego
https://youtu.be/V_vDDNdjP1U?t=4639

Co oznacza lower_bound w set?
– wyjaśnienie, przykłady
https://youtu.be/V_vDDNdjP1U?t=4806

Jak działa upper_bound?
– znajdź następny
– podobnie do lower_bound
https://youtu.be/V_vDDNdjP1U?t=5082

Po co wymyślono lower_bound / upper_bound?
– można sie iterować
– bo jest szybki
– czas przeszukiwania jest log (potęga dwójki)
https://youtu.be/V_vDDNdjP1U?t=5218

lower_boud / upper_bound w quizie:
https://youtu.be/V_vDDNdjP1U?t=6108

Set daje szybkość, błyskawicę
– 1000/10 lub milion/20 lub miliard / 30
– błyskawicznie znajdujemy miasto
– przyda nam się to w pracy zawodowej (Google, start-up) ale też na konkursach
– w tablicy mamy kłopot ze znalezieniem elementu, dodawaniem, usuwaniem w środku
– tu mamy to od razu!
https://youtu.be/V_vDDNdjP1U?t=5297

Jak znaleźć poprzedni element w set?
https://youtu.be/V_vDDNdjP1U?t=6620

Dlaczego czas w set jest logarytmiczny?
– drzewa czerwono czarne / binarne
– zajęcia Olimpiada od podstaw
– super, że wnikamy!
https://youtu.be/V_vDDNdjP1U?t=7144

Dlaczego uczymy się C++?
– pokazuje architekturę komputera
– głębiej wnikamy
– jest szybszy
– wiele języków ma strukturę podobną do C++
https://youtu.be/V_vDDNdjP1U?t=7180

Opis Challenge #17:
https://youtu.be/V_vDDNdjP1U?t=5810

 

Olimpiada OD PODSTAW #16 – czwartek, 20 stycznia 2022, 18:00
Link do zajęć: https://youtu.be/P4xemLnkDFc?t=770
Temat: DFS – chodzimy po grafie

Omówienie zadania Cyclic Components:
https://youtu.be/P4xemLnkDFc?t=770
Kod / linki: https://oki.org.pl/cyclic-components/

Co to jest DFS – od początku wyjaśnienie
– rysowanie grafu i dyskusja
https://youtu.be/P4xemLnkDFc?t=1157

Jak chodzić po grafie używając algorytmu DFS?
– samo mięso:
https://youtu.be/P4xemLnkDFc?t=1243

Pseudokod DFS-a:
– rekurencja
https://youtu.be/P4xemLnkDFc?t=1669

Co robi DFS?
– przechodzi po spójnej części grafu
– musimy go zmodyfikować, coś dodać by rozwiązywał nasze zadanie
https://youtu.be/P4xemLnkDFc?t=1872

Kluczowa obserwacja w zadaniu
– cykl w sensie zadania istnieje wtedy gdy każdy wierzchołek ma stopień 2
https://youtu.be/P4xemLnkDFc?t=1912

Jak cofamy się w DFS-ie?
Kiedy DFS wychodzi z wierzchołka?
– szczegółowe omówienie DFS-a z kodem
https://youtu.be/P4xemLnkDFc?t=2030

Opis rozwiązania zadania:
https://youtu.be/P4xemLnkDFc?t=2320

Jak szybki jest DFS?
– jaka jest złożoność DFS-a?
https://youtu.be/P4xemLnkDFc?t=2673

Kod zadania Cyclic Components:
https://youtu.be/P4xemLnkDFc?t=2964

Kod DFS-a:
https://youtu.be/P4xemLnkDFc?t=3015

DFS animacja
Wyjaśnienie DFS – animacja / symulacja youtube.
– Kiedy zawraca?
https://youtu.be/P4xemLnkDFc?t=3489

Opis naszego challenge:
https://youtu.be/P4xemLnkDFc?t=3757

Quiz graf:
https://youtu.be/P4xemLnkDFc?t=228

Sprytne pytanie
– ile wynosi suma stopni wszystkich wierzchołków grafu?
– można zauważyć ze stopień musi być parzysty
https://youtu.be/P4xemLnkDFc?t=318

Spójne składowe – co to jest – quiz:
https://youtu.be/P4xemLnkDFc?t=543

Dlaczego testować?
– nie ma odsłonięć
– testy w zadaniu mogą wprowadzać w błąd, nie rozpatrywać wszystkich przypadków
– warto przygotować skrypty testujące
– warto testować
https://youtu.be/8I7N35IgYuM?t=6083

 


Olimpiada DLA ZAAWANSOWANYCH #17 – poniedziałek, 24 stycznia 2022, 18:30
Link do zajęć: https://youtu.be/8I7N35IgYuM?t=1160
Temat: Geometria analityczna

Geometria analityczna – co to jest?
https://youtu.be/8I7N35IgYuM?t=1160

Odległość między punktami – długość odcinka:
https://youtu.be/8I7N35IgYuM?t=1218

Unikajmy double, float jeśli można:
– porównujmy kwadraty odległości, są całkowite
– int – nieograniczona precyzja
https://youtu.be/8I7N35IgYuM?t=1480

Iloczyn skalarny / iloczyn wektorowy:
https://youtu.be/8I7N35IgYuM?t=1573

Iloczyn wektorowy:
https://youtu.be/8I7N35IgYuM?t=1907

Do czego się przydaje iloczyn wektorowy?
https://youtu.be/8I7N35IgYuM?t=2223

Wzajemne położenie wektorów:
https://youtu.be/8I7N35IgYuM?t=2408

Sortowanie kątowe:
https://youtu.be/8I7N35IgYuM?t=2773

Zadanie gąsienice – miotła:
https://youtu.be/8I7N35IgYuM?t=3670

Otoczka wypukła:
https://youtu.be/8I7N35IgYuM?t=4378

Co robić na ostatniej proste?
– biblioteczka
– 2-3 dni przed zawodami nic nie robić
– spacer
https://youtu.be/8I7N35IgYuM?t=5769

OKI #18 – jak testowa?:
https://youtu.be/8I7N35IgYuM?t=5860

Skąd brać pomysły na rozwiązania:
– poprzednie olimpiady, usaco, codeforces – są omówienia
– najbardziej nas pcha do przodu własna praca, własne rozwiązania
– omówienie – jeśli potrzebujemy popchnięcia, hinta
https://youtu.be/8I7N35IgYuM?t=5920

Ile czasu myśleć nad jednym zadaniem?
https://youtu.be/8I7N35IgYuM?t=6005

 


Programowanie OD PODSTAW #16 –
wtorek, 18 stycznia 2022, 18:00

Link do zajęć: https://youtu.be/AMouETtFmhg
Temat: Zadanie Antykwariat – własne sortowanie

Pomagamy stworzyć system dla sklepu z książkami
– wszędzie jesteśmy potrzebni (piłka nożna, medycyna, …)
– odwagi w sięganiu po najciekawsze projekty
– każdy ma umysł, potencjał by marzyć
– potrzebne jest dogłębne zrozumienie tematu
https://youtu.be/AMouETtFmhg?t=35

Konkursy – nadają sens programowaniu, wnikaniu
– motywują nas już teraz do wnikania
– będziemy w stanie to wykorzystać!
– już teraz
– nie musimy sie motowywać, że gdy będziemy mieć 25 lat to fajny projekt
https://youtu.be/AMouETtFmhg?t=102

Gratulacje dla wszystkich uczestników Olimpiady
– ukłony dla wszystkich uczestników
– za poświęcony czas
– za debugowanie
– pokazaliście wartość
– każdy pracodawca pożąda takie osoby
– przygotowujmy się za rok
https://youtu.be/AMouETtFmhg?t=140

Zachęcam do walki o III etap – nie jest ciężko się dostać
– 4 zadania tygodniowo!
– będzie dobrze
– to moja obietnica!
https://youtu.be/AMouETtFmhg?t=262

Mistrz Programowania
– ranking
– proste zadanie Smiech Matematyka
– Bambus Happy – liczby regularne – bambus zna je dłużej – rozsiewa nasiona co odpowiedni czas
– Duże liczby – zadanie Darii

https://youtu.be/AMouETtFmhg?t=281

Omówienie zadania Antykwariat: https://youtu.be/AMouETtFmhg?t=2215

Własne sortowanie: https://youtu.be/AMouETtFmhg?t=3973
Jak przechowywać książki?
– własny typ do przechowywania książek / struct
https://youtu.be/AMouETtFmhg?t=2650

resize zamiast push_back dla vector-a:
– automatyczna alokacja pamięci
https://youtu.be/AMouETtFmhg?t=3072

Wypisywanie vectora:
– jeśli coś bardziej skomplikowanego zrobimy to wypisujmy wartości!
https://youtu.be/AMouETtFmhg?t=3638

Sortowanie książek / własnego typu / struct
– potrzebna własna funkcja sortująca
https://youtu.be/AMouETtFmhg?t=3974

Opis challenge #16:
– ćwiczymy własne sortowanie – potrzebne w konkursach / projektach
https://youtu.be/AMouETtFmhg?t=5969

Co na OKI #17?
– Set
https://youtu.be/AMouETtFmhg?t=6005


Olimpiada DLA ZAAWANSOWANYCH #16 – poniedziałek, 17 stycznia 2022, 18:30
Link do zajęć: https://youtu.be/Praei9aI8-8?t=1200
Temat: Programowanie dynamiczne v2

EDIST – problem odległości edycyjnej:
https://youtu.be/Praei9aI8-8?t=1200

Klasyczny żart – przykład z życia codziennego:
– jak zamienić pieniądze na jedzenie w jak najmniejszej liczbie ruchów?
https://youtu.be/Praei9aI8-8?t=1490

Zadanie Dynamik – finał 18-stej Olimpiady Informatycznej
https://youtu.be/Praei9aI8-8?t=2626

Dynamik – podsumowanie rozwiązania zadania:
https://youtu.be/Praei9aI8-8?t=5027

 


Olimpiada OD PODSTAW #15 – czwartek, 13 stycznia 2022
, 18:00

Link do zajęć: https://youtu.be/NDp4nZnqtEo
Temat: Jak przechowywać grafy?

Jakie wrażenia po I etapie OIJ?
https://youtu.be/NDp4nZnqtEo?t=68

Czym są grafy?
– prosta rzecz
– niepotrzebnie grafy są uważane za trudne
https://youtu.be/NDp4nZnqtEo?t=297

Czym sa grafy? – quiz:
https://youtu.be/NDp4nZnqtEo?t=804

Omówienie zadania Stumilowa Puszcza:
https://youtu.be/NDp4nZnqtEo?t=1325

Omówienie kodu zadania Stumilowa puszcza:
https://youtu.be/NDp4nZnqtEo?t=3526

Co jest problemem w naszym zadaniu?
– jak przechować graf?
– jak go wypisać
https://youtu.be/NDp4nZnqtEo?t=1776

Jak przechowujemy grafy?
– tablica vectorów
– lista sąsiedztwa
– dodajemy krok po kroku wierzchołki do listy sąsiedztwa
https://youtu.be/NDp4nZnqtEo?t=1824

Jak zaimplementować graf w C++ / Python?
– dodanie elementu na koniec vectora
– tablica vectorów
– jaki indeks ma sąsiad w grafie?
– przechodzenie po sąsiadach grafu?
https://youtu.be/NDp4nZnqtEo?t=2470

Jak wczytujemy graf w programie?
https://youtu.be/NDp4nZnqtEo?t=3105

Jaka jest złożoność wczytywania / wypisywania grafu? https://youtu.be/NDp4nZnqtEo?t=3219

Graf -kod/implementacja w C++
https://youtu.be/NDp4nZnqtEo?t=3536

Dlaczego Tomek poleca by zrobić zadanie Stumilowa Puszcza?
– dalej też będa grafy
– będa algorytmy
– reprezentacja to podstawa / dalej nie damy rady
https://youtu.be/NDp4nZnqtEo?t=3884

Co potrzeba na finale OIJ?
– wystarczy często pomysł
– na przykładzie zadania Skrzyżowanie z III etapu
https://youtu.be/NDp4nZnqtEo?t=4755

Omówienie naszego Challenge #15:
https://youtu.be/NDp4nZnqtEo?t=4740

Ile czasu i jak Tomek się przygotowywał do zdobycia laureata Olimpiady Informatycznej?
– od Logomocji
–  II klasa gimanzjum – mocno – 4 zadania tygodniowo
– sporo sie nie udwało – ale był upór
https://youtu.be/NDp4nZnqtEo?t=5110

Co na OKI #16?
https://youtu.be/NDp4nZnqtEo?t=4809

Jakie wrażenia po I etapie OIJ?
– tura ukryta była trudna
https://youtu.be/NDp4nZnqtEo?t=68

Jak zapisać się do konkursu Mistrz Programowania?
https://youtu.be/NDp4nZnqtEo?t=203

Co to jest Mistrz Programowania?
https://youtu.be/NDp4nZnqtEo?t=252

 


Programowanie OD PODSTAW #15 – wtorek, 11 stycznia 2022, 18:00
Link do zajęć: https://youtu.be/V4LQxUvVqVQ

Po co są zajęcia OKI?
Dlaczego warto rozwijać swoją pasję?
– przygotowujemy się by w przyszłości uczestniczyć w fantastycznych projektach
– zabka nano – pierwszy sklep
– ile tu jest programowania
– sieci neuronowe – rozpoznawanie
– algorytmika, inżyniera oprogramowania
– w przyszłości chcemy brac udział w takich projektach
– jako jeden z członków zespołu
– życzenia siły ognia
– jak się przygotowujemy?
https://youtu.be/V4LQxUvVqVQ?t=32

Konkurs Mistrz Programowania
– weź udział
– zadania w różnej kolejności
– zachęcam by zacząć od Śmiech Matematyka
– jak powstał konkurs?
– poćwiczyć programowanie, algorytmika
– by weszło w krew
– niech beda to wiertarki, młotki które po prostu używamy
https://youtu.be/V4LQxUvVqVQ?t=170

Ile tur będzie w konkursie?
https://youtu.be/V4LQxUvVqVQ?t=347

Czy zadania są na poziomie programistycznym?
https://youtu.be/V4LQxUvVqVQ?t=355

Czy jeśli zrobimy część zadań to ok?
https://youtu.be/V4LQxUvVqVQ?t=399

Struct / własne sortowanie w C++
– od początku
– od wytłumaczenia online’owego kompilatora
https://youtu.be/V4LQxUvVqVQ?t=417

Własny typ danych w C++
– struct
– dokładne wytłumaczenie
https://youtu.be/V4LQxUvVqVQ?t=659

Jak trzymać dane o 100 / 1000 uczniach?
– vector (roszerzona tablica)
https://youtu.be/V4LQxUvVqVQ?t=990

Jak umieszczamy dane w vectorze?
– umieszczamy cały typ danych / całą zmienna
https://youtu.be/V4LQxUvVqVQ?t=1221

Jak wypisywać dane z vectora?
– wypisujemy dane z vectora z własnym typem danych
https://www.youtube.com/watch?v=V4LQxUvVqVQ&t=1521

Rozpoczęcie sortowania
– sortowanie w vector
– begin początek
– end kooniec
https://youtu.be/V4LQxUvVqVQ?t=1849

Własne sortowanie – własna funkcja sortująca
– sortujemy swój typ danych
– dlaczego normalny sort nie działa
– własna funkcja sortująca
https://youtu.be/V4LQxUvVqVQ?t=2020

cin wczytuje do białego znaku
getline wczytuje całą linię
– nie da rady wczytać całej linii?
https://youtu.be/V4LQxUvVqVQ?t=3259

Siła ws – pomijania nowych znaków
getline po int wczytuje pusta linię a nie tekst w linii
przed getline dajemy ws
https://youtu.be/V4LQxUvVqVQ?t=3452

struct / getline w quizie:
https://youtu.be/V4LQxUvVqVQ?t=3990


Olimpiada DLA ZAAWANSOWANYCH #14 – poniedziałek, 10 stycznia 2022, 18:30
Link do zajęć: https://youtu.be/9cp7bGNoXAc?t=1352
Temat: Algorytmy pierwiastkowe

Zadanie konterenry
– wyjaśniamy czym są algorytmy pierwiastkowe
https://youtu.be/9cp7bGNoXAc?t=1352
Idea algorytmu pierwiastkowego:
https://youtu.be/9cp7bGNoXAc?t=1660
Dlaczego warto zrobić zadanie kontenery?
– podział problemu / podział algorytmu
https://youtu.be/9cp7bGNoXAc?t=3818

Trudniejszy problem tekstowy:
10^5 wzorców – znaleźć ich wszystkie wystąpienia w tekście
https://youtu.be/9cp7bGNoXAc?t=4023
Kiedy używać algorytmów pierwiastkowych?
https://youtu.be/9cp7bGNoXAc?t=4512
Podział problemu na segmenty wielkości pierwiastek – drzewa pierwiastkowe:
https://youtu.be/9cp7bGNoXAc?t=4846
Jakie zadania występują najczęściej na II etapie OI?
– pomysł, zachłanne
– silne spójne ostatnio
– drzewa przedziałowe
– lca
– podproblemy
– gąsienica, sumy prefiksowe / binary search
– dfs /bs
– algorytmy pierwiastkowe
– trzeba szybko pisać / szybko wymyślać
https://youtu.be/9cp7bGNoXAc?t=5583
Jak długo Mikołaj przygotowywał się do Olimpiady Informatyczne?
– niekoniecznie pod OI-a
– od października 2016 do finalisty w 2020 roku
https://youtu.be/9cp7bGNoXAc?t=5897
Jak przygotowuje się Mikołaj do Olimpiad?
– plik tekstowy zadania to do zrobione
– zrobione przez Mikołaja zadania z poprzednich OI – 150, całkowicie samodzielnie 123
https://youtu.be/9cp7bGNoXAc?t=6082
Jakie zadania robić przygotowując do OI-a?
– zadanie które robisz bez problemu nie daje Ci nic w sensie rozwoju
– USACO
– Codeforces proste na czas by nie bugować
https://youtu.be/9cp7bGNoXAc?t=6192
Czy zadania na II etapie OI-a są trudniejsze od zadań z I etapu?
– pisanie mniej czasu
– trzeba znać więcje archetypów
https://youtu.be/9cp7bGNoXAc?t=6296


Olimpiada OD PODSTAW #14A – czwartek, 30 grudnia 2021
, 18:00

Link do zajęć: https://youtu.be/rhz5sEdxHQE

Czym jest zwykłe Sito Eratostenesa?
– pozwala stwierdzić czy liczba pierwsza czy nie
– wykreślamy wielokrotności liczb pierwszych
https://youtu.be/rhz5sEdxHQE?t=30
Robimy ambitne zadanie – Cute Chef Gift!
https://youtu.be/rhz5sEdxHQE?t=111

Omówienie zadania Cute Chef Gift
– rozszerzone sito Eratostenesa
https://youtu.be/rhz5sEdxHQE?t=760
Kod / linki / omówienie:
https://oki.org.pl/cute-chef-gift/
Początek wytłumaczenia treści zadania:
https://youtu.be/rhz5sEdxHQE?t=791
Jaki jest informatyczny prezent dla dziewczyny?
Informatyczny prezent dla dziewczyny
czy dziewczyna chciałaby dostać ciąg liczb jako prezent
ciąg liczb jako prezent dla dziewczyny?
https://youtu.be/rhz5sEdxHQE?t=793
Skąd wiemy jaki jest przedział dla danej liczby pierwszej?
https://youtu.be/rhz5sEdxHQE?t=4628
Poszczególne kroki naszego algorytmu:
https://youtu.be/rhz5sEdxHQE?t=4196
Złożoność naszego rozwiązania
https://youtu.be/rhz5sEdxHQE?t=4448
Kod naszego rozwiązania:
https://youtu.be/rhz5sEdxHQE?t=4751

Rozszerzone Sito Eratostenesa:
https://youtu.be/rhz5sEdxHQE?t=2409
Rozszerzone Sito Eratostenesa trzyma jeden, dowolny dzielnik pierwszy liczby:
https://youtu.be/rhz5sEdxHQE?t=2809
Jak rozłożyć liczbę na czynniki pierwsze przy pomocy rozszerzonego Rozszerzonego Sita Eratostenesa:
https://youtu.be/rhz5sEdxHQE?t=2948
Złożoność rozkładu liczby na czynniki pierwsze przy pomocy Rozszerzonego Sita Eratostenesa:
https://youtu.be/rhz5sEdxHQE?t=3087
Kod Rozszerzonego Sita Eratostenesa
https://youtu.be/rhz5sEdxHQE?t=4815

Technika Na później:
https://youtu.be/rhz5sEdxHQE?t=3764

Jak Tomek lubi rozwiązywać zadania?
– Funkcja która rozwiązuje pojedynczy przypadek testowy gdy jest ich wiele
– Minimalizujemy błędy inicjalizacji (zerowanie tablic)
https://youtu.be/rhz5sEdxHQE?t=4947
Kod jest na stronie https://oki.org.pl/cute-chef-gift/
– Napiszmy samemu
– Uczymy się na błędach!
https://youtu.be/rhz5sEdxHQE?t=5275

Dlaczego 1 nie jest liczbą pierwszą?
https://youtu.be/rhz5sEdxHQE?t=5582

Co na zajęciach 13 stycznia?
– zaczynamy grafy!
– ulubiona dziedzina Tomka
https://youtu.be/rhz5sEdxHQE?t=5922

Życzenia!
Życzenia Noworoczne:
– wytrwałości w dążeniu do celu
– radości z tego co robicie
https://youtu.be/rhz5sEdxHQE?t=5960

Noworoczny Challenge:
https://youtu.be/rhz5sEdxHQE?t=5825


Programowanie OD PODSTAW #14 – wtorek, 21 grudnia 2021, 18:00
Link do zajęć: https://youtu.be/qGpkqQ44tBk

Wizualizacja naszej choinki
Nasza choinka w akcji:
https://youtu.be/qGpkqQ44tBk?t=7054
Omówienia zadania Świąteczna choinka:
https://youtu.be/qGpkqQ44tBk?t=164
Skrócone omówienie kodu:
https://youtu.be/qGpkqQ44tBk?t=7505
Kod / linki do poszczególnych etapów rysowania choinki
https://oki.org.pl/swiateczna-choinka/
Opis Challenge Programowanie OD PODSTAW:
https://youtu.be/qGpkqQ44tBk?t=8513
Świąteczne i noworoczne życzenia:
– czasu z najbliższymi
– ognia w Nowym Roku – rozwijania swojej pasji – to ma sens!
https://youtu.be/qGpkqQ44tBk?t=8653
Noworoczne życzenia – Nowy Rok 2022:
https://youtu.be/qGpkqQ44tBk?t=8676

Krótkie życzenia z początku zajęć:
https://youtu.be/qGpkqQ44tBk?t=10

Tablice dwuwymiarowe w JavaScript – jak utworzyć?
https://youtu.be/qGpkqQ44tBk?t=7110

Święta – też okazja powiedzieć że przyszłość jest nasza, że jesteśmy potrzebni!
– dron który kładzie linę
– pasja – to jest najważniejsze
– możemy brać udział w takich projektach!
– warto się bawić, warto by było trudno!
https://youtu.be/qGpkqQ44tBk?t=58

Czy trójkąt to już choinka?
– narysowaliśmy trójkąt i jak z tego zrobić choinkę
https://youtu.be/qGpkqQ44tBk?t=2034
Cztery trójkąty to już choinka!
https://youtu.be/qGpkqQ44tBk?t=2161

Skąd pochodzi cytat?
Pewnego przyjaciela poznaje sie w niepewnym momencie.
Z Małego Księcia
https://youtu.be/qGpkqQ44tBk?t=487
Cytaty z naszego quizu!
Nasze cytaty!
https://youtu.be/qGpkqQ44tBk?t=8309

Warto się pobawić!
– bawimy się spłaszczaniem okręgu
https://youtu.be/qGpkqQ44tBk?t=4887


Olimpiada OD PODSTAW #14 – czwartek, 23 grudnia 2021
, 18:00

Link do zajęć: https://youtu.be/btHSRzo4KMQ

Omówienie zadania T-primes – sito Eratostenesa:
https://youtu.be/btHSRzo4KMQ?t=1264
Kolejne kroki naszego algorytmu:
https://youtu.be/btHSRzo4KMQ?t=3210
Złożoność algorytmu:
https://youtu.be/btHSRzo4KMQ?t=3541
Kod zadania T-primes:
https://youtu.be/btHSRzo4KMQ?t=3732
Sito Eratostenesa:
https://youtu.be/btHSRzo4KMQ?t=1749
Złożoność sita Eratostenesa:
https://youtu.be/btHSRzo4KMQ?t=2508
Kod sita Eratostenesa:
https://youtu.be/btHSRzo4KMQ?t=3764
Dlaczego zaczynamy wykreślać od i*i w sicie Eratostenesa?
https://youtu.be/btHSRzo4KMQ?t=3807
Quiz sito Eratostenesa:
https://youtu.be/btHSRzo4KMQ?t=4345
Jak obliczyć pierwiastek z danej liczby?
– Binary Search
https://youtu.be/btHSRzo4KMQ?t=3332
Quiz liczby pierwsze:
https://youtu.be/btHSRzo4KMQ?t=318
Na ile sposobów można przedstawić daną liczbę jako iloczyn liczb pierwszych?
– dowód, że na jeden sposób
https://youtu.be/btHSRzo4KMQ?t=5210
Opis Challenge Olimpiada od podstaw:
https://youtu.be/btHSRzo4KMQ?t=5384
Świąteczne życzenia:
https://youtu.be/btHSRzo4KMQ?t=5446


Olimpiada DLA ZAAWANSOWANYCH #14 – poniedziałek, 20 grudnia 2021, 18:30
Link do zajęć: https://youtu.be/vai2MQzARq0

Świąteczny nastrój i quiz!
https://youtu.be/vai2MQzARq0?t=185
Początek quizu:
https://youtu.be/vai2MQzARq0?t=334
Pomoc naukowa w sortowaniu topologicznym:
– maskotka na tablicy:
https://youtu.be/vai2MQzARq0?t=1095
Sortowanie topologiczne:
https://youtu.be/vai2MQzARq0?t=1135
Kto jest pierwszy w sortowaniu topologicznym?
– który wierzchołek jest pierwszy?
https://youtu.be/vai2MQzARq0?t=1573
Implementacja sortowania topologicznego:
https://youtu.be/vai2MQzARq0?t=1800
Zadanie “Nierówności”:
https://youtu.be/vai2MQzARq0?t=2225
Zadanie “Sklepy”:
https://youtu.be/vai2MQzARq0?t=2935

Silnie Spójne Składowe:
https://youtu.be/vai2MQzARq0?t=3525

Gambit i dowód nie wprost
Gambit czy dowód nie wprost?
– dowód nie wprost to najpotężniejszy gambit – zaczynamy od podania całej partii
https://youtu.be/vai2MQzARq0?t=3879

Jak Mikołaj uczył się silnie spójnych składowych?
– Algorytm na silnie spójnych składowe to DFS na grafy transponowane w kolejności malejących postorderów
https://youtu.be/vai2MQzARq0?t=4386

Czy silnie spójne występują na Olimpiadzie Informatycznej?
https://youtu.be/vai2MQzARq0?t=6195

Świąteczne życzenia!
https://youtu.be/vai2MQzARq0?t=6685

 


Programowanie OD PODSTAW #13 – wtorek, 14 grudnia 2021, 18:00
Link do zajęć: https://youtu.be/VvJhOAXIQOk

Dokąd prowadzi nasza droga?
Autonomiczne samochody!
– warto wnikać
– takie projekty są dostępne dla nas
– mnóstwo programowania i algorytmiki
https://youtu.be/VvJhOAXIQOk?t=12

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

Co nas motywuje? Konkursy
W weekend USACO – amerykańska Olimpiada
– zarezerwujmy sobie 4h weźmy udział!
– podział na dywizje – od programistycznej do międzynarodowej olimpiady!
– jesteśmy w stanie robić te zadania
– super motywacja do pięknej przyszłości
– mierzymy się z całym światem – możemy konkurować z anglikami, amerykanami
– nieważne czy mieszkam w Mławie czy Kudowie
– a w przyszłości brać udział w tych najciekawszych projektach
– robimy cv – gotowe do zespołów programistycznych
– zobaczmy jak wielki jest to fun!
https://youtu.be/VvJhOAXIQOk?t=156

Tworzymy fantastyczne CV na podstawie zadania Daisy Chains:
https://youtu.be/VvJhOAXIQOk?t=5449

Opis naszego challenge #13:
https://youtu.be/VvJhOAXIQOk?t=6960

Omówienie zadania Daisy Chains:
https://youtu.be/VvJhOAXIQOk?t=2646
Skrót omówienia rozwiązania:
https://youtu.be/VvJhOAXIQOk?t=5144

Kod linki zadania Daisy Chains:
https://oki.org.pl/daisy-chains/

vector w C++ vs tablica:
https://youtu.be/VvJhOAXIQOk?t=484
vector w C++:
https://youtu.be/VvJhOAXIQOk?t=660
vector – quiz:
https://youtu.be/VvJhOAXIQOk?t=1781

Przekazywanie przez wartość vs przekazywanie przez referencję
https://youtu.be/VvJhOAXIQOk?t=5966
Przekazywanie przez wartość vs przekazywanie przez referencję – quiz
https://youtu.be/VvJhOAXIQOk?t=7211

Czy programiści są leniwi?
– leniwi wymyślają!
– programiści automatyzują – może są leniwi?
https://youtu.be/VvJhOAXIQOk?t=8666

 


Olimpiada OD PODSTAW #13 – czwartek, 16 grudnia 2021
, 18:00

Link do zajęć: https://youtu.be/evtnTwRKtkE

Zadanie GCD on Blackboard – jak wykorzystać Najwiekszy Wspólny Dzielnik?
Omówienia zadania GCD on Blackboard:
https://youtu.be/evtnTwRKtkE?t=986
Złożoność rozwiązania / kroki algorytmu rozwiązania GCD on Blackboard:
https://youtu.be/evtnTwRKtkE?t=4331
Omówienie kodu zadania GCD on Blackboard:
https://youtu.be/evtnTwRKtkE?t=4557
Link do treści zadania GCD on Blackboard:
https://atcoder.jp/contests/abc125/tasks/abc125_c

NWD – Największy Wspólny Dzielnik:
https://youtu.be/evtnTwRKtkE?t=725
Jak liczyć NWD – Klasyczny algorytm Euklidesa:
https://youtu.be/evtnTwRKtkE?t=1330
Klasyczny algorytm Euklidesa jest wolny! https://youtu.be/evtnTwRKtkE?t=1928
Szybki algorytm Euklidesa – długie wyjaśnienie:
https://youtu.be/evtnTwRKtkE?t=1929
Szybki algorytm Euklidesa – krótkie wyjaśnienie:
https://youtu.be/evtnTwRKtkE?t=2405
Złożoność szybkiego algorytmu Euklidesa:
https://youtu.be/evtnTwRKtkE?t=2598
Kod szybkiego algorytmu Euklidesa:
https://youtu.be/evtnTwRKtkE?t=4581

Jak policzyć NWD wielu liczb?
https://youtu.be/evtnTwRKtkE?t=2915
Czy złożoność O(2n) jest różna od O(n)? https://youtu.be/evtnTwRKtkE?t=4947
Warto poćwiczyć NWD: https://youtu.be/evtnTwRKtkE?t=5521

Jak się zarejestrować do USACO?
https://youtu.be/evtnTwRKtkE?t=5681

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

Nasz Challenge #13!
https://youtu.be/evtnTwRKtkE?t=5521

 


Olimpiada DLA ZAAWANSOWANYCH #13 – poniedziałek, 13 grudnia 2021, 18:30
Link do zajęć: https://youtu.be/i8-GLKoW-Xc?t=1137

Hashe – najnowszy wynalazek obecnej epoki!
Hashe – najnowszy odkrycia w Olimpiadzie!
https://youtu.be/i8-GLKoW-Xc?t=1137

Kolizja czy jaka szansa, że dwie osoby maja urodziny tego samego dnia:
https://youtu.be/i8-GLKoW-Xc?t=2046

Jak policzyć hash?
https://youtu.be/i8-GLKoW-Xc?t=2735

Czy 2 podslowa są równe?
https://youtu.be/i8-GLKoW-Xc?t=3379

Jak znaleźć wszystkie wystąpienie wzorca w tekście?
https://youtu.be/i8-GLKoW-Xc?t=3478

Na czym polegają skróty – skrót:
https://youtu.be/i8-GLKoW-Xc?t=3578

Uwaga na liczby ujemne!
https://youtu.be/i8-GLKoW-Xc?t=3670

Czy w ciągu istnieją dwa takie same podsłowa?
– mapa vs rozwiązanie kwadratowe
https://youtu.be/i8-GLKoW-Xc?t=3800

Kolizja hashy – wyjaśnienie
https://youtu.be/i8-GLKoW-Xc?t=4022

Gdzie wykorzystuje się hashe?
– logowanie
https://youtu.be/i8-GLKoW-Xc?t=4694

Co trzeba znać na II etap OI-a?
https://youtu.be/i8-GLKoW-Xc?t=4985

Hashe – rozwiązują większość problemów tekstowych!
https://youtu.be/i8-GLKoW-Xc?t=5119

 


Programowanie OD PODSTAW #12 – wtorek, 7 grudnia 2021, 18:00
Link do zajęć: https://youtu.be/JCEifYJT1VY
Sortowanie – ciekawe i pożyteczne – programowanie konkursowe
Robimy zadania z II etapu OIJ!
– programowanie konkursowe
– zadania są do zrobienia dla każdego – można zawalczyć
– w życiu sortujmy książki, śmieci
https://youtu.be/v_UzAyr1A-4?t=10
Piękny projekt naszego kolegi! Warto programować!
Piękny projekt Mateusza – dokąd prowadzi nasza droga?
Dokąd prowadzi nasza droga – projekt Sprawne Miasto naszego kolegi Mateusza
– zgłaszanie problemów
– poszukiwanie osób
– już w szkole średniej możemy pomóc
https://youtu.be/v_UzAyr1A-4?t=82
Zadanie Zespoły – II etap OIJ
https://youtu.be/v_UzAyr1A-4?t=1986
Omówienie kodu zadania Zespoły:
https://youtu.be/v_UzAyr1A-4?t=5818
Sortowanie!
https://youtu.be/v_UzAyr1A-4?t=4310
Sortowanie – quiz:
https://youtu.be/v_UzAyr1A-4?t=6420
Nasz challenge #12 Programowanie od podstaw:
https://youtu.be/v_UzAyr1A-4?t=6251


Olimpiada OD PODSTAW #12 – czwartek, 9 grudnia 2021
, 18:00

Link do zajęć: https://youtu.be/OJtDgY3dPlY
Rozwiązujemy prawdziwy problem szefa firmy!
https://youtu.be/x9mQ4zs410g?t=128
Nasz challenge #12 Olimpiada OD PODSTAW:
https://youtu.be/x9mQ4zs410g?t=6417
The Meeting Place Cannot Be Changed – zadanie z naszych zajęć:
https://youtu.be/x9mQ4zs410g?t=1468
Binary Search po wyniku:
https://youtu.be/x9mQ4zs410g?t=2435
Omówienie kodu zadania The Meeting Place Cannot Be Changed: https://youtu.be/x9mQ4zs410g?t=5210
Co na kolejnych zajęciach?
https://youtu.be/x9mQ4zs410g?t=6496
Złożoność Binary search po wyniku:
https://youtu.be/x9mQ4zs410g?t=4820
Kod algorytmu Binary Search po wyniku:
https://youtu.be/x9mQ4zs410g?t=5391
Potyczki algorytmiczne!
https://youtu.be/x9mQ4zs410g?t=60


Olimpiada DLA ZAAWANSOWANYCH #12 – poniedziałek, 6 grudnia 2021, 18:30
Link do zajęć: https://youtu.be/sjWy91fl6eE
Zadanie Montażysta – I etap OI-a:
https://youtu.be/sjWy91fl6eE?t=1377
Układanie Kart – zadanie z I etapu OI-a:
https://youtu.be/sjWy91fl6eE?t=2805
W poniedziałek hashe!
https://youtu.be/sjWy91fl6eE?t=5292


Programowanie OD PODSTAW #10 – wtorek, 23 listopada 2021, 18:00
Link do zajęć: https://youtu.be/JCEifYJT1VY
Bezpieczeństwo, szyfrowanie i polscy matematycy:
Szyfrowanie!
– Kto wygrał Bitwę Warszawską?
– czwartkowe zajęcia nas przygotowują
– czym się zajmuje
https://youtu.be/JCEifYJT1VY?t=14
Dziękuję za Olimpiadę!
https://youtu.be/JCEifYJT1VY?t=182
Napisy – od początku!
https://youtu.be/JCEifYJT1VY?t=386
Napisy – esencja:
https://youtu.be/JCEifYJT1VY?t=508
Napisy – kahoot v1:
https://youtu.be/JCEifYJT1VY?t=2085
Napisy – kahoot v2:
https://youtu.be/JCEifYJT1VY?t=6962
Napisy vs tablice w C++ – różnice:
https://youtu.be/JCEifYJT1VY?t=901
Zadanie Szyfr Cezara – z naszych zajęć!
https://youtu.be/JCEifYJT1VY?t=3092
Kod, omówienie, link do zadania:
https://oki.org.pl/szyfr-cezara
Skrót omówienia zadania:
https://youtu.be/JCEifYJT1VY?t=5939
Spadające gwiazdy – nasze piękne animacje! – Dziękuję!
https://youtu.be/JCEifYJT1VY?t=6384
Co oznacza hasło Każdego dnia mocniejsi? O co chodzi?
https://youtu.be/JCEifYJT1VY?t=7704
Wytłumaczenie v2:
https://youtu.be/JCEifYJT1VY?t=7215
Co w naszym challenge?
https://youtu.be/JCEifYJT1VY?t=6833
Za tydzień zadanie Team z Codefroces:
https://youtu.be/JCEifYJT1VY?t=6889
+= co oznacza?
https://youtu.be/JCEifYJT1VY?t=7213
Szachowe wyzwanie?
https://youtu.be/JCEifYJT1VY?t=7961
Konkurs Mistrz Programowania
– tez będą napisy
– zachęcam do układania zadań!
https://youtu.be/JCEifYJT1VY?t=6120


Olimpiada OD PODSTAW #10 – czwartek, 25
 listopada, 18:00

Link do zajęć: https://youtu.be/OJtDgY3dPlY
Co nas świecie?
Rozpoczęła się tura zamknięta OIJ!
https://youtu.be/OJtDgY3dPlY?t=23
Omówienie zadania Zakup Działki:
https://youtu.be/OJtDgY3dPlY?t=1198
Omówienie kodu zadania Zakup działki:
https://youtu.be/OJtDgY3dPlY?t=4448
Kod algorytmu Binary Search – omówienie:
https://youtu.be/OJtDgY3dPlY?t=4466
Kod:
https://oki.org.pl/zakup-dzialki/
Potęgowanie, logarytm – wyjaśnienie w kahoot:
https://youtu.be/OJtDgY3dPlY?t=348
Złożoność algorytmów – wyjaśnienie w kahoot:
https://youtu.be/OJtDgY3dPlY?t=918
Wprowadzenie do Binary Search:
https://youtu.be/OJtDgY3dPlY?t=1001
Binary Search i encyklopedia:
https://youtu.be/OJtDgY3dPlY?t=5309
Potrzebna wróżka!
https://youtu.be/OJtDgY3dPlY?t=1840
Sami zrobimy wróżkę – szukamy najbliższej działki!
Algorytm naiwny – brutalny, liniowy:
https://youtu.be/OJtDgY3dPlY?t=1940
Przyspieszamy wróżkę – algorytm Binary Search:
https://youtu.be/OJtDgY3dPlY?t=2247
Złożoność Binary Search:
https://youtu.be/OJtDgY3dPlY?t=3791
Kiedy jest fun?
Policzyć cyfrę 40!
https://youtu.be/OJtDgY3dPlY?t=5430
Omówienie Challenge:
https://youtu.be/OJtDgY3dPlY?t=5806
Za tydzień Binary Search po wyniku:
https://youtu.be/OJtDgY3dPlY?t=5910
Binary Search jest prosty i szybki!
https://youtu.be/OJtDgY3dPlY?t=6005


Olimpiada DLA ZAAWANSOWANYCH #9 – poniedziałek, 22 listopada 2021, 18:30
Quiz – grafy, BFS, DFS, maski bitowe, :
https://youtu.be/bwO_8BzLTdg?t=709
Algorytm Dijkstry:
https://youtu.be/bwO_8BzLTdg?t=1670
Zadanie Wiedźmak – finał XVIII OI-a:
https://youtu.be/bwO_8BzLTdg?t=2843
Zadanie Przemytnicy – 10 Olimpiada Informatyczna:
https://youtu.be/bwO_8BzLTdg?t=4021
Challenge:
https://youtu.be/bwO_8BzLTdg?t=5338
Discord OKI – dyskusje, wsparcie:
https://youtu.be/bwO_8BzLTdg?t=5427
Link, dlaczego:
https://youtu.be/bwO_8BzLTdg?t=6390
Korzyści z Olimpiady Informatycznej:
– fun
– zwolnienie z matury
– studia
– stypendia
https://youtu.be/bwO_8BzLTdg?t=5713
Najważniejszy jest udział w Olimpiadzie:
– bez względu na wynik jesteś mocny!
https://youtu.be/bwO_8BzLTdg?t=5775
Różnica między w przygotowaniu – laureat vs finalista:
https://youtu.be/bwO_8BzLTdg?t=5999
Ile zadań robi Mikołaj?
https://youtu.be/bwO_8BzLTdg?t=6103
Medale Mikołaja!
https://youtu.be/bwO_8BzLTdg?t=6352


Programowanie OD PODSTAW #9 – wtorek, 16 listopada 2021, 18:00
Link do zajęć: https://youtu.be/fHBNQyMf-Tc|
Warto programować:
– medycyna (znajdowanie leku, analiza DNA)
– astronomia (wizualizacja galaktyk)
https://youtu.be/fHBNQyMf-Tc?t=13
Bądź seniorem!
Czy warto być informatykiem:
– senior czyli osoba która wnika
– challenge  quizy
– jak najwięcej błędów
https://youtu.be/fHBNQyMf-Tc?t=93
Olimpiada – prowadzi nas bycia seniorem – wartościową osobą na rynku
https://youtu.be/fHBNQyMf-Tc?t=229
Trudności i postęp:
– każdego dnia mocniejsi
– nie porównujemy się do innych
https://youtu.be/fHBNQyMf-Tc?t=282
Tablice w quizie – wyjaśnienie:
https://youtu.be/fHBNQyMf-Tc?t=381
Tablice w JavaScript:
https://youtu.be/fHBNQyMf-Tc?t=3229
Tworzymy animację – Gwiazdozbiór!
Omówienie zadania Gwiazdozbiór:
https://youtu.be/fHBNQyMf-Tc?t=1573
Skrócone omówienie kodu animacji:
Skrócone omówienie kodu – z boku nasza piękna animacja:
https://youtu.be/fHBNQyMf-Tc?t=6600
Kolory RGB – krótkie omówienie na przykładzie:
https://youtu.be/fHBNQyMf-Tc?t=6143
Jak zrobić kółko na ekranie?
Skrócona instrukcja tworzenia programu w JavaScript – kółko na ekranie:
https://youtu.be/fk2wGqeiVBY?t=653
Jak zrobić kreskę na ekranie?
Kreska na ekranie:
https://youtu.be/fk2wGqeiVBY?t=8042
Co we wtorek?
https://youtu.be/fHBNQyMf-Tc?t=8655


Olimpiada OD PODSTAW #9 – czwartek, 18
 listopada, 18:00

Link do zajęć: https://youtu.be/OJtDgY3dPlY
Przed nam tura ukryta Olimpiady Informatycznej Szkół Podstawowych:
https://youtu.be/Jir3J__TIQs?t=73
Gąsienica w kahoot:
https://youtu.be/Jir3J__TIQs?t=347
Quiz – co zrobi gąsienica – wyjaśnienie działania:
https://youtu.be/Jir3J__TIQs?t=4804
Omówienie zadania Diamond Collector
https://youtu.be/Jir3J__TIQs?t=1056
Omówienie kodu zadania Diamond Collector – Amerykańska Olimpiada Informatyczna:
https://youtu.be/Jir3J__TIQs?t=3732
Złożoność algorytmu omówionego w zadaniu:
https://youtu.be/Jir3J__TIQs?t=3572
Kod / linki:
https://oki.org.pl/diamond-collector
Program który działa wolno – bez gąsienicy – złożoność n^2:
https://youtu.be/Jir3J__TIQs?t=4545
I szybka gąsienica:
https://youtu.be/Jir3J__TIQs?t=4972
Opis Challenge #9:
https://youtu.be/Jir3J__TIQs?t=5170
Co w czwartek:
Binary Search – mocny algorytm
Dlaczego warto
10% zadań można rozwiązać
https://youtu.be/Jir3J__TIQs?t=5429


Olimpiada DLA ZAAWANSOWANYCH #9 – poniedziałek, 15 listopada 2021, 18:30

Find And Union w quizie:
https://youtu.be/1YZGyc2ODPU?t=365
Operacje bitowe:
https://youtu.be/1YZGyc2ODPU?t=1077
Problemy z dynamikami:
https://youtu.be/1YZGyc2ODPU?t=1744
Jak przedstawić zbiór? – Maski bitowe
https://youtu.be/1YZGyc2ODPU?t=1811
Zadanie kwiatki:
https://youtu.be/1YZGyc2ODPU?t=2679
Zadanie Współczesna Komunikacja:
https://youtu.be/1YZGyc2ODPU?t=3939

 


Programowanie OD PODSTAW #8 –
wtorek, 9 listopada 2021, 18:00

Link do zajęć: https://youtu.be/gAeRdK2Bsxg
Jakie problemy rozwiązujemy?
Dlaczego tablice?
– trzymamy dużo podobnych informacji -> jak?
https://youtu.be/gAeRdK2Bsxg?t=11
Dlaczego potrzebujemy tablic?
Tablice? Gry, przyszłość, misja
https://youtu.be/gAeRdK2Bsxg?t=90
Programowanie? Misja!
Dlaczego? Po co się uczymy?
– chcemy pisać aplikacje bankowe, edukacyjne, medyczne
– programowanie to jest misja
– Steve Wozniak
– przed nami misja!
– idealnie się przygotować przez olimpiadę!
https://youtu.be/gAeRdK2Bsxg?t=132
Tablice – wyjaśnienie od samego początku?!
https://youtu.be/gAeRdK2Bsxg?t=354
Pojedyncze zmienne są niewygodne:
https://youtu.be/gAeRdK2Bsxg?t=480
Tablice – czym są?
https://youtu.be/gAeRdK2Bsxg?t=554
C++ jest piękny!
– możemy zajrzeć do komputera!
– do pamięci
– daje wolność oraz odpowiedzialność
https://youtu.be/gAeRdK2Bsxg?t=1743
Hakujemy!
https://youtu.be/gAeRdK2Bsxg?t=1849
Tablice w pytaniach i odpowiedziach:
https://youtu.be/gAeRdK2Bsxg?t=1895
Tablice w pytaniach i odpowiedziach 2:
https://youtu.be/gAeRdK2Bsxg?t=6341
Zadanie oceny – omówienie:
https://youtu.be/gAeRdK2Bsxg?t=2881
Skrót omówienia zadania Oceny:
https://youtu.be/gAeRdK2Bsxg?t=5481
Zadanie Oceny – Kod / linki / rozwiązanie:
https://oki.org.pl/oceny-tablice
Wymyśl zadanie!
https://youtu.be/gAeRdK2Bsxg?t=7209


Olimpiada OD PODSTAW #8 – czwartek, 11 listopada 2021, 18:00
Gąsienica – quiz wprowadzający:
https://youtu.be/JggX75UKThc?t=226
Film/video o gąsienicy:
Jak się porusza gąsienica?
Małe nózki duże kroki!
Gąsienica w ruchu
Co fascynuje Tomka?
Natura inspiruje
https://youtu.be/JggX75UKThc?t=1000
Zadanie Books – platforma codeforces:
https://youtu.be/JggX75UKThc?t=1086
Kod / linki / rozwiązanie:
https://oki.org.pl/books/
Rozwiązanie brutalne zadania Books:
https://youtu.be/JggX75UKThc?t=1461
Algorytm gąsienicy – usprawniamy algorytm brutalny
https://youtu.be/JggX75UKThc?t=1830
Algorytm gąsienicy
https://youtu.be/JggX75UKThc?t=2004
Z czego wynika algorytm gąsienicy?
https://youtu.be/JggX75UKThc?t=2163
Złożoność algorytmu gąsienicy:
https://youtu.be/JggX75UKThc?t=2990
Kod zadania Books:
https://youtu.be/JggX75UKThc?t=3210
Czy Tomek zapominał użyć long long?
https://youtu.be/JggX75UKThc?t=4036
Dowód nie wprost = Jeśli a*b=400 to czy a i b mogę być jednocześnie większe od 20?
https://youtu.be/JggX75UKThc?t=4060
Czy komputer nas potrzebuje – metoda brutalna vs optymalna – czas działania komputera
Szukamy dzielników liczby 900
https://youtu.be/JggX75UKThc?t=4221
Challenge – opis:
https://youtu.be/JggX75UKThc?t=4778

Olimpiada DLA ZAAWANSOWANYCH #8 – poniedziałek, 8 listopada 2021, 18:30
Link do zajęć: https://youtu.be/1YZGyc2ODPU
Quiz:
https://youtu.be/yvEDfGKN8Bo?t=322
Problem #1 – czy istnieje droga?:
https://youtu.be/yvEDfGKN8Bo?t=1080
Na jakie pytania odpowiada Find And Union?
https://youtu.be/yvEDfGKN8Bo?t=1175
Złożoność Find And Union:
https://youtu.be/yvEDfGKN8Bo?t=1772
Gdzie przepisujemy informacje o reprezentantach?
Czy z większego do mniejszego?
https://youtu.be/yvEDfGKN8Bo?t=1930
Utrata funkcjonalności i małe komplikacje
https://youtu.be/yvEDfGKN8Bo?t=2465
Algorytm Find And Union:
https://youtu.be/yvEDfGKN8Bo?t=2531
Zadanie Tunele:
https://youtu.be/yvEDfGKN8Bo?t=3629
Obserwacja Kaliny – co jeśli likwidujemy krawędź z cyklu?
– dwuspójne
https://youtu.be/yvEDfGKN8Bo?t=4647
Olimpiada – nie ociągajmy się!
https://youtu.be/yvEDfGKN8Bo?t=5052
Nie wolno ściągać!
https://youtu.be/yvEDfGKN8Bo?t=5140
Na czym polega poprawne rozwiązanie w Olimpiadzie?
https://youtu.be/yvEDfGKN8Bo?t=5367