Lista zagadnień poruszanych na zajęciach Olimpijskiego Koła Informatycznego
🏆 Wakacyjny Konkurs OKI:
https://youtu.be/VPm3locLnhw?t=762
https://youtu.be/VPm3locLnhw?t=776
🤔 Jak zostać twórcą ChatGPT?
– mamy pierwsze zadania
https://youtu.be/VPm3locLnhw?t=823
– tworzenie krzyżówek czy rozwiązywanie
https://youtu.be/VPm3locLnhw?t=864
Wakacyjny konkurs OKI:
https://youtu.be/5qO2Jgss1zk?t=416
Wymyślanie zadań:
https://youtu.be/5qO2Jgss1zk?t=451
Radość i sens!
https://youtu.be/9Ttr_S6U-mM?t=352
Zakończenie OKI 2023/24
🔍 Dziękuję fantastycznym odkrywcom!
Gratuluję odkrywcom!
John Nash!
https://youtu.be/VPm3locLnhw?t=7
👨 Nasi prowadzący – dzielenie się, inspiracje:
Dziękuję prowadzącym!
https://youtu.be/VPm3locLnhw?t=206
⛱️ Wspaniałych wakacji!
https://youtu.be/VPm3locLnhw?t=2709
🌞 Obóz OKI:
https://youtu.be/VPm3locLnhw?t=531
https://youtu.be/VPm3locLnhw?t=542
🏆 Wakacyjny Konkurs OKI:
https://youtu.be/VPm3locLnhw?t=762
https://youtu.be/VPm3locLnhw?t=776
🤔 Jak zostać twórcą ChatGPT?
– tworzenie krzyżówek czy rozwiązywanie
– mamy pierwsze zadania
https://youtu.be/VPm3locLnhw?t=823
🗓️📅 Pierwsze zajęcia 2024/25:
https://youtu.be/VPm3locLnhw?t=1005
#kawa
☕️ Prośba o jedną kawę.
https://youtu.be/VPm3locLnhw?t=1389
🧡 Oki pozostanie bezpłatne!
https://youtu.be/VPm3locLnhw?t=1315
————-
🌞 Obóz OKI:
https://youtu.be/VPm3locLnhw?t=531
https://youtu.be/VPm3locLnhw?t=542
Spróbuj Olimpiady:
https://youtu.be/VPm3locLnhw?t=590
🌞 Wakacyjny obóz OKI!
https://youtu.be/SGD8xVWS90g?t=2227
🌄 Piękny ośrodek!
https://youtu.be/SGD8xVWS90g?t=2251
👨💼 Mocna Kadra!
https://youtu.be/SGD8xVWS90g?t=2284
🏆 Finał Olimpiady OIJ!
https://youtu.be/r17hTwFOI2k?t=436
1️⃣ 2️⃣ 3️⃣
3 grupy:
3 poziomy:
https://youtu.be/r17hTwFOI2k?t=1151
Kreatywność: https://youtu.be/K4QtM9ycYl8?t=97
Rozpoczniesz przygodę z Olimpiadą:
https://youtu.be/jsaVtx5WQv0?t=285
👫 Najpiękniejszy jest wspólny czas!
Szymon Hajderek! Obozy!
https://youtu.be/SMRhtrbm20w?t=1061
🌞 Informatyczne Wakacje
– 5-11 sierpnia / Grybów
https://youtu.be/r17hTwFOI2k?t=991
🎉 Dobra zabawa:
https://youtu.be/r17hTwFOI2k?t=1021
🔍 Odkrywanie:
https://youtu.be/r17hTwFOI2k?t=1028
🌄 Piękny ośrodek!
https://youtu.be/r17hTwFOI2k?t=1072
😎 Leżaczki:
https://youtu.be/r17hTwFOI2k?t=1106
🚌 Dojazd:
https://youtu.be/r17hTwFOI2k?t=1133
👨💼 Fantastyczna kadra:
https://youtu.be/r17hTwFOI2k?t=1158
Mikołaj Bulge: https://youtu.be/r17hTwFOI2k?t=1159
Jakub Kaszycki: https://youtu.be/r17hTwFOI2k?t=1172
Michał Szeliga: https://youtu.be/r17hTwFOI2k?t=1198
Jerzy Olkowski: https://youtu.be/SGD8xVWS90g?t=2289
Motywuje nas Olimpiada Informatyczna!
https://youtu.be/r17hTwFOI2k?t=1058
🏞️ Jakie plany na wakacje?
https://youtu.be/r0svYMkcx1M?t=194
🌟 Co będzie na obozie?
– warsztatowe podejście
https://youtu.be/r0svYMkcx1M?t=299
1️⃣ Pierwsza edycja!
https://youtu.be/r0svYMkcx1M?t=383
👍 Zachęcam!
https://youtu.be/r0svYMkcx1M?t=402
🎒 Obóz!
👍 Zachęcam!
https://youtu.be/r0svYMkcx1M?t=2663
👨💼 Kadra – poznać
– odpowiedzą na wszystkie pytania
https://youtu.be/r0svYMkcx1M?t=2675
🗣️ Porozmawiamy!
Ważne pytania
– sens czy się skończy
– nie tylko zadania są ważne
– różne perspektywy
https://youtu.be/r0svYMkcx1M?t=2703
Programowanie od podstaw – 13.05
Kowalik – gratuluję czasu przygotowań
https://youtu.be/5qO2Jgss1zk?t=2
Zakończenie OKI!
https://youtu.be/5qO2Jgss1zk?t=168
Wakacyjny konkurs OKI:
https://youtu.be/5qO2Jgss1zk?t=416
Programowanie od podstaw – 6.05
Piszemy serwer!
https://youtu.be/r17hTwFOI2k?t=4
Upraszczamy!
https://youtu.be/r17hTwFOI2k?t=30
Największy wynalazek w historii ludzkości?
https://youtu.be/r17hTwFOI2k?t=61
🏆 Finał Olimpiady OIJ!
https://youtu.be/r17hTwFOI2k?t=436
Szymon Krzywda – historia:
https://youtu.be/r17hTwFOI2k?t=646
🌞 Informatyczne Wakacje
https://youtu.be/r17hTwFOI2k?t=991
Obóz oki.
🎉 Dobra zabawa: https://youtu.be/r17hTwFOI2k?t=1021
🌄 Piękny ośrodek! https://youtu.be/r17hTwFOI2k?t=1072
😎 Leżaczki: https://youtu.be/r17hTwFOI2k?t=1106
👨💼 Fantastyczna kadra: https://youtu.be/r17hTwFOI2k?t=1158
Olimpiada Poziom II
Omówienie Finałowych zadań!
https://youtu.be/7hGjCSFkiHk?t=138
Olimpiada od podstaw – 6.05
🏞️ Jakie plany na wakacje?
https://youtu.be/r0svYMkcx1M?t=194
Co to jest algorytmika zaawansowana na obozie?
https://youtu.be/r0svYMkcx1M?t=449
🛒 Zwykły sklep
https://youtu.be/r0svYMkcx1M?t=632
🎒 Obóz!
https://youtu.be/r0svYMkcx1M?t=2663
Sztuczna Inteligencja od podstaw – 6.05
W świecie AI dzieje się mnóstwo!
👤 Avatar
https://youtu.be/SGD8xVWS90g?t=49
Wykład AI!
https://youtu.be/SGD8xVWS90g?t=93
🏁 Zakończenie OKI – piątek 17 maja 18:00
https://youtu.be/SGD8xVWS90g?t=2184
🌞 Wakacyjny obóz OKI!
https://youtu.be/SGD8xVWS90g?t=2227
🌄 Piękny ośrodek!
https://youtu.be/SGD8xVWS90g?t=2251
👨💼 Mocna Kadra!
https://youtu.be/SGD8xVWS90g?t=2284
Olimpiada Zaawansowana – 23.04
🔮 Triki
Optymalizacja pamięci:
– śmieszne tricki
– losowe sztuczki
– dodatkowe punkty
https://youtu.be/K-VOHEjMvs4?t=91
💩 Śmieszny problem!
https://youtu.be/K-VOHEjMvs4?t=537
Olimpiada Poziom II – Turbo zadanie 23.04
Fajne zadanie!
https://youtu.be/7ngJpfxGA8M?t=23
Zadanie:
https://youtu.be/7ngJpfxGA8M?t=212
🧮 Jak robić zadania?
– Zadanie ma rating 2700
– symulacja
– jest przynajmniej jedno zero
https://youtu.be/7ngJpfxGA8M?t=1301
Rating 2700!
– Warto robić takie zadania!
– nasz pomysł!
https://youtu.be/7ngJpfxGA8M?t=1326
Olimpiada Poziom II – SOS 25.04
Problem SOS:
https://youtu.be/CTTxxV3k8Jo?t=152
To jest na finale OI-a!
– SOS – daje setke
https://youtu.be/CTTxxV3k8Jo?t=2638
Sztuczna Inteligencja – Plecak 25.04
👨🔬 Jesteśmy potrzebni!
Dlaczego zajmujemy się rozwiązywaniem problemów przy pomocy komputera?
https://youtu.be/kaf-py2r4D8?t=43
🌞 Obóz OKI:
https://youtu.be/kaf-py2r4D8?t=327
Gdzie znajduje się Grybów?
– piękne widoki
Ośrodek! Politechniki Warszawskiej
https://youtu.be/kaf-py2r4D8?t=365
Olimpiada od podstaw – Plecak 24.04
Wydawanie reszty
https://youtu.be/WG5Ha7claj4?t=335
Problem plecakowy:
https://youtu.be/WG5Ha7claj4?t=1691
Za 2 tygodnie!
https://youtu.be/WG5Ha7claj4?t=3563
🤔 Życiowa zagadka
- Im więcej wiemy tym bardziej wiemy ile nie wiemy
Kiedy jesteśmy dobrze przygotowani?
https://youtu.be/WG5Ha7claj4?t=3709
#pokazać
🐌 Brutalnie!
🐌 Szybciej!
– często tak jest w życiu
– ale Olimpiada usuwa
https://youtu.be/EeYTRH005Oo?t=14
Rozpoczęła się Olimpiada Sztucznej Inteligencji:
– formularz
– zadania przygotowujące
https://youtu.be/EeYTRH005Oo?t=171
#pokazac
🤔 Jest sens
Dziękuję za sobotę/niedziele
Dla pasji!
Sens – przyszłość
Magowie – rozwiązywanie problemów
Emocje – konkurs – motywacje
https://youtu.be/EeYTRH005Oo?t=356
Konkurs stały – rozwijamy się – żyje – omówienia zadań:
https://youtu.be/EeYTRH005Oo?t=427
🎭 Mamy pasję! Dziękuję!
– dla każdego ucznia
https://youtu.be/EeYTRH005Oo?t=2208
O co chodzi z generowanie wszystkich podzbiorów:
– na przykładzie jap
https://youtu.be/EeYTRH005Oo?t=612
Generowanie wszystkich podzbiorów:
– słowo tur
https://youtu.be/EeYTRH005Oo?t=1395
PreOIJ
Dziękuję
2 dni
Wycieczka
76 fantastycznych osób
Motywacja to OIJ
https://youtu.be/015BFSmN-Dw?t=10
Ukłony za pasję / talent
Z całej Polski!
https://youtu.be/015BFSmN-Dw?t=85
Wyniki nie mają znaczenia!
–
https://youtu.be/015BFSmN-Dw?t=204
Olimpiada poziom II – finałowe wrażenia
👏 Finałowe wrażenia
https://youtu.be/vyDaSk5H3Os?t=114
⏰ 20 minut!
– rozwiązał zadanie w 20 minut
https://youtu.be/vyDaSk5H3Os?t=325
Szutczna inteligencja od podstaw #30 – quiz tensorflow
👓 Okulary!
https://youtu.be/NNxrYBzhKB4?t=3
Olimpiada Sztucznej Inteligencji:
https://youtu.be/NNxrYBzhKB4?t=489
Programowanie od podstaw #30 – generowanie słów
🆎Scrabble:
– pomagamy w grze w scrabble
https://youtu.be/VayR_prcFPo?t=19
🎊 Święto!
– zakończenie Olimpiady
https://youtu.be/VayR_prcFPo?t=161
👽 PreOIJ!
https://youtu.be/VayR_prcFPo?t=585
Permutacje – jak są generowane – początek symulacji:
https://youtu.be/VayR_prcFPo?t=1290
Olimpiada od podstaw – środa
PreOIJ – 20 kwietnia
- Nie trzeba być w finale
- Zasymulować warunki na finale
- Jak wygląda gdy 4h rozwiązujemy zadania!
- Jest już próbny
- O 9:30 będzie kanał online
https://youtu.be/m61evPIZL6I?t=148
PreOIJ:
– wszyscy zaproszeni
– dobre sprawdzenie jak dajemy radę na konkursie
https://youtu.be/m61evPIZL6I?t=3134
Zadanie Abchazja:
https://youtu.be/m61evPIZL6I?t=424
Symulacja DFS:
https://youtu.be/m61evPIZL6I?t=745
Zadanie Definicja:
https://youtu.be/m61evPIZL6I?t=871
Zadanie Jklaur:
https://youtu.be/m61evPIZL6I?t=1249
Co to jest problem plecakowy?
https://youtu.be/m61evPIZL6I?t=2437
🍽️ Będziemy głodować!
Pozbywamy się!
Pozbywamy się jabłka!
https://youtu.be/m61evPIZL6I?t=2863
Olimpiada poziomi II – wtorek – Samuel Maj
- Bear and Bowling 4
https://youtu.be/EoaqlmG91BY?t=77
Treść:
https://codeforces.com/contest/660/problem/F
Częste podejście!
Takie podejście pojawia się często:
– dzielimy na częsci
https://youtu.be/EoaqlmG91BY?t=917
Liczenie przedziałów:
https://youtu.be/EoaqlmG91BY?t=1028
Olimpiada poziomi II – czwartek – Mateusz Wojaczek
PreOIJ finałowy!
- zaproszenie
https://youtu.be/iLS9cpT6m1g?t=83
Czytajmy treści zadań!
– rada Mateusza Wojaczka
– 5 razy najpierw
https://youtu.be/iLS9cpT6m1g?t=142
Bruty!
– 20 punktów za darmo, podnieść z Ziemi – zadania Buchmaker z OI-a
– 20 punktów za darmow
– bruty ważne
– czytanie ze zrozumieniem jeszcze ważniejsze
https://youtu.be/iLS9cpT6m1g?t=203
Zadania interaktywne są bardzo fajne!
https://youtu.be/iLS9cpT6m1g?t=313
Zadanie Secret!
https://youtu.be/iLS9cpT6m1g?t=324
Programowanie OD PODSTAW
🚀 Dołącz do przygody!
- Społeczności – dołącz do
- Discord
- Baw się
- Nie wiemy czy będą takie zadania?
Próbny konkurs przed finałem:
https://youtu.be/VlBFj7bFxjQ?t=480
Strona PreOIJ!
https://youtu.be/VlBFj7bFxjQ?t=733
👍😮 Konkurs już jest!
Dołącz do konkursu!
https://youtu.be/VlBFj7bFxjQ?t=747
🧐 Zadanie próbne!
https://youtu.be/VlBFj7bFxjQ?t=781
✅ Czy programiści są potrzebni?
https://youtu.be/VlBFj7bFxjQ?t=164
Olimpiada II 2024.04.04
👰 Wedding Binary Search Tree:
https://youtu.be/aBIyQhT8-l4?t=137
Link do zadania F. Sasha and the Wedding Binary Search Tree:
https://codeforces.com/problemset/problem/1929/F
🧮 Kombinatoryka jest cool!
Kombinatoryka jest fajna!
Warto polubić kombinatorykę
https://youtu.be/aBIyQhT8-l4?t=2297
Olimpiada od podstaw 2024.04.03
DFS
🐜 Czerwona mrówa!
Chodzimy mrówą
Czerwona mrówka!
DFS – wyjaśnienie od początku:
https://youtu.be/ALkxUT3b_mU?t=701
👏 Genialni!
https://youtu.be/ALkxUT3b_mU?t=1234
– zanim pytanie już znamy odpowiedź!
Ile jest krawędzi na podstawie stopni / 2?
https://youtu.be/ALkxUT3b_mU?t=2830
ChatGPT wie o OKI!
https://youtu.be/ALkxUT3b_mU?t=3223
Sztuczna Inteligencja OD PODSTAW 04.04.204
😮 Na co dzień i WOW!
🎆W życiu czy spektakularne?
Po prostu wykorzystujemy:
https://youtu.be/v1JMiOIx2eA?t=11
Playground – wchodzimy i zaczynamy!
https://youtu.be/v1JMiOIx2eA?t=498
Co robi sieć?
– za odpowiadają warstwy (różne parametry)
– a za co liczba neuronów w warstwie (krzywa danego zbioru punktów)?
https://youtu.be/v1JMiOIx2eA?t=1732
🦊 Sprytna czy niepewna?
https://youtu.be/v1JMiOIx2eA?t=2148
Czy da się jeszcze wejść do branży IT?
Czy AI zabierze?
- Automatyzuje, przyspiesza
- Człowiek weryfikuje
- Zwiększa się efektywność
https://youtu.be/SGDL0QcZ1V0?t=176
Liczą się projekty które zrobisz!
https://youtu.be/SGDL0QcZ1V0?t=380
Projekty!
https://youtu.be/SGDL0QcZ1V0?t=493
Projekty – ważne – info od stażysty!
https://youtu.be/SGDL0QcZ1V0?t=967
Warto się uczyć rzeczy niezmiennych!
- Technologie się zmieniaja
- Pętle, dfs jest to samo / programowanie algorytmika
https://youtu.be/SGDL0QcZ1V0?t=403
Olimpiada OD PODSTAW:
Zadanie Zagadka:
https://youtu.be/_zF-sX5GEY0?t=234
Zadanie Rodzina:
https://youtu.be/_zF-sX5GEY0?t=537
🧐 Być podejrzliwym!
Warto być podejrzliwym!
https://youtu.be/_zF-sX5GEY0?t=828
Zadanie Pokolenie:
https://youtu.be/_zF-sX5GEY0?t=1938
Zadanie Zapominalski Tata:
https://youtu.be/_zF-sX5GEY0?t=2663
📝 Zadania?
Chodzimy po drzewach!
– raz ojciec / raz głębokość
https://youtu.be/_zF-sX5GEY0?t=2602
Olimpiada poziom II / 26 marca / czwartek
⏰Mo… I więcej!
⏰Algorytm Mo:
https://youtu.be/C69kcXgoWGc?t=17
Olimpiada poziom II / 28 marca / czwartek
- The Fair Nut and Rectangles
https://youtu.be/R2lttMS8EDw?t=132
Zadanie:
https://codeforces.com/problemset/problem/1083/E
🎩 Convex Hull Trick:
https://youtu.be/R2lttMS8EDw?t=1390
Omówienia – Runda 5 Mistrz Programowania
Runda 5 wyjątkowa
- Ukryta
- Sami byśmy myśleli
https://youtu.be/YDD-yt7Y_tE?t=17
🚀 Przyszłość
Przygotowujemy się do pracy w start-upach!
https://youtu.be/YDD-yt7Y_tE?t=48
⬆️ Ulepszyć!
Prawdziwe problemy
Czy nie da się ulpeszyć?
– bliskie mojej duszy
- Czy nie da się poprawić
- O to chodzi w rozwiązywaniu problemów przy pomocy komputera
https://youtu.be/YDD-yt7Y_tE?t=118
👥 Czy dostaniesz się?
Zadanie z Interview do Gigantów:
https://youtu.be/YDD-yt7Y_tE?t=1335
Programowanie OD PODSTAW 29.03.2024
🗡️ Najmocniejsza broń!
🌐 Po co graf?
https://youtu.be/2oQA-KxzORE?t=28
🏫 Jaka szkoła?
https://youtu.be/2oQA-KxzORE?t=147
Omówienie kodu który wczytuje graf:
https://youtu.be/2oQA-KxzORE?t=3421
Mistrz Programowania 2024
💪 Pewność siebie
Nabrać pewności siebie:
https://youtu.be/8xexhyiKHsQ?t=22
Zadanie rozgrzewkowe
🧰 Ciekawe i praktyczne!
https://youtu.be/8xexhyiKHsQ?t=374
Olimpiada od podstaw – drzewo
Drzewo genealogiczne:
https://youtu.be/HI_0qlxnpFU?t=883
🏠 Zadanie Rodzina:
https://youtu.be/HI_0qlxnpFU?t=2618
Olimpiada II
🌅 To początek!
Olimpiada to początek!
– motywacja się rozwijać!
https://youtu.be/c5hE_gR0vrc?t=4221
Ładne zadanie!
2 zadania – Cofeforces – Olimpiada Informatyczna Poziom II
Sztuczna Inteligencja 2024.03.23
Playground:
🔧 Psujemy sieć!
– dużo neuronów
https://youtu.be/PV8mj__TGew?t=1998
❓ O co chodzi w sieciach neuronowych?
– chodzą do szkoły – dwa zbiory
https://youtu.be/PV8mj__TGew?t=457
Playground tutorial – początek
https://youtu.be/PV8mj__TGew?t=1164
Programowanie od podstaw 2024.03.18
vector od początku
https://youtu.be/cndCgrYfPuU?t=1319
👀 Być ciekawym!
https://youtu.be/cndCgrYfPuU?t=84
Olimpiada Matematyczna – Finał:
https://youtu.be/cndCgrYfPuU?t=178
Finał OMJ – Marek Konieczny!
– uczestnik – finał – Familiada
https://youtu.be/cndCgrYfPuU?t=187
🤔 czy da się to ogarnąć?
https://youtu.be/cndCgrYfPuU?t=1336
Sama radość:
https://youtu.be/cndCgrYfPuU?t=1340
Marek Konieczny – początek rozmowy:
https://youtu.be/AnNGTFjS6VA?t=1809
Marek – początek wypowiedzi:
https://youtu.be/AnNGTFjS6VA?t=1826
Olimpiada poziom II 2024.03.12 / 14
Macierze w informatyce:
– przyspieszanie dynamików
https://youtu.be/dbcj7MJ2YQo?t=100
Challenge:
https://youtu.be/dbcj7MJ2YQo?t=3547
💖 Miło!
Robi się człowiekowi miło
Mega fajne
Moje ulubione!
https://youtu.be/dbcj7MJ2YQo?t=4237
💯 Jak mieć dobry rating?
Jak mieć dobry rating na CF?
Jak mieć specjalistę na CF?
https://youtu.be/52_U6cGpcnc?t=503
Omówienia Mistrza Runda #3 2024.03.12
📢Kiedy konkurs?
📢Kiedy najbliższy konkurs?
https://youtu.be/VrMk1y1y_F0?t=37
Problem jednego hetmana:
https://youtu.be/VrMk1y1y_F0?t=142
👀 Najciekawsze!
https://youtu.be/VrMk1y1y_F0?t=413
Weryfikator wejścia:
https://youtu.be/VrMk1y1y_F0?t=457
Po co nam para uszu?
https://youtu.be/VrMk1y1y_F0?t=681
Gra:
https://youtu.be/VrMk1y1y_F0?t=1010
Skakanie:
https://youtu.be/VrMk1y1y_F0?t=1409
Sztuczna Inteligencja OD PODSTAW 2024.03.14
🆘 Gdzie AI?
🆘 Gdzie może pomóc sztuczna inteligencja?
https://youtu.be/vTAIJRw7v70?t=25
🎨 Ależ grafika!
https://youtu.be/vTAIJRw7v70?t=1901
Olimpiada OD PODSTAW 2024.03.13
Czy jesteś gotowy na przygodę z grafami?
🌐 Przyjemny temat!
🌐 Grafy – przyjemny temat
https://youtu.be/liSOzkFh57A?t=121
🤔 Do czego grafy?
https://youtu.be/liSOzkFh57A?t=1148
Programowanie OD PODSTAW 2024.03.11
Potyczki algorytmiczne – nieoficjalne Mistrzostwa Polski:
https://youtu.be/wOt6oggBih4?t=75
🦁 Odwagi!
Bierz najtrudniejsze zadania!
https://youtu.be/wOt6oggBih4?t=316
Własne sortowanie:
https://youtu.be/wOt6oggBih4?t=2384
Pierwszy element pary:
🍝 Kto lubi klopsiki?
https://youtu.be/wOt6oggBih4?t=2176
💪 Moment gdy uwierzysz: https://youtu.be/ZZ_575hzHpA?t=817
🎯 Gdzie cel? https://youtu.be/K7TUY1fpTr8?t=183
🦁 Odwagi! https://youtu.be/wOt6oggBih4?t=316
Olimpiada II – Omówienia OIJ
🏋️♂️ Czy OIJ trudny?
– omówienia zadań II etapu OIJ
https://youtu.be/jKE0ACVIsj4?t=69
Wyczuwać techniki
Kiedy stosowć techniki?
https://youtu.be/GVkbNcMlt08?t=3340
Runda #2 Mistrz Programowania 2024
💡 Inspirować
Wartość konkursu
Mistrz Programowania trwa!
– w zadaniach
– taki jest jego cel
– inspirowanie by kminić, rozwiązywać, rosnąć
– taka jest wartość olimpiady, każdego konkursu – rozwijamy się
– omawiają sami autorzu
– gdzie są zadania
https://youtu.be/oMfDh98RN5w?t=13
Omówienie zadania U S A:
https://youtu.be/oMfDh98RN5w?t=97
🧠 Idea!
Omówienie zadania Zaproszenie:
https://youtu.be/oMfDh98RN5w?t=227
Jak powstało zadanie?
– idea Mistrza
– pierwsze 2 zadania Mistrza programistyczne
– rozgrzewka / poćwiczyć
– podwójna pętla
– trzecie już pomysł
– pomysł by zrobić C1/C2
https://youtu.be/oMfDh98RN5w?t=376
Pierwsze zadanie wymagające pomysłu!
Omówienie Łowcy Promocji:
https://youtu.be/oMfDh98RN5w?t=472
Tomek jak zwykle fantastycznie przygotowany!
https://youtu.be/oMfDh98RN5w?t=881
Runda Ć – żart
– wchodzimy na wysokie C czyli Ć
https://youtu.be/oMfDh98RN5w?t=924
Omówienie zadania Górnicy:
https://youtu.be/oMfDh98RN5w?t=1017
🛠️ Wiertarki i młotki
W stronę rozwiązania problemów
Jakie narzędzią?
Narzędzia matematyczne są bardzo potrzebne!
– finalista OI-a / OM-a
– przygotowany, profeska
– trudność rośnie
– pięknie prowadzi w stronę rozwiązywanie problemów
– górnicy do zaatakowania przez każdego
https://youtu.be/oMfDh98RN5w?t=1656
Rozwiązania zadań w Pythonie:
– Tomek komentarz
– Python jest wolniejszy
– są sposoby by go przyspieszyć
– unikalnie globalnych zmiennych
– używanie struktur napisanych w C lista inline, map
– propozycja by zrobić Python dla algorytmików
https://youtu.be/oMfDh98RN5w?t=1926
Omówienie najtrudniejszego zadania – Kumkwaty:
https://youtu.be/oMfDh98RN5w?t=2070
🔥 Rozpalić ogień!
Jak podchodzić do zadań z Mistrza PRogramowania?
– chcemy rozpalić ogień, jesteśmy gotowi
– odpowiedni myśleliśmy nad zadaniem
– będa też dłuższe omówienia
– ale pomyślmy sami
https://youtu.be/oMfDh98RN5w?t=2903
Programowanie OD PODSTAW 2024-03-04
Fascynująca struktura!
– ogarnąć wiele rzeczy na raz
https://youtu.be/K7TUY1fpTr8?t=5
🎊 Święto!
– rozmowy z rodzicami / podziękowanie
– wielki wysiłek – maraton
– jak ważne jest pisanie brut
– debugowanie
– straszliwe emocje
– nie zawsze
Nie ma znaczenia czy jesteśmy w finale
https://youtu.be/K7TUY1fpTr8?t=183
Olimpiada jest motywacją do rozwoju
– nie jest celem
– motywacją jak rozwiązywać problemy, jak programować, jak myśleć, jak rozkładać problemy na czynniki pierwsze
– po to robimy
– ChatGPT napisali olimpijczycy
– olimpijczycy piszą kolejne wersje aplikacje
– nie pomylmy celu i narzędzia, drogi
– celem jest by bawić się w przyszłości rozwiązywaniem problemów
– olimpiada nie jest celem samym w sobie
– on niczego nie zmienia
– chcemy w przyszłości wymyślić lepszy lek, plastik, lepsze rozłożenie cięzarówek
– pomóc światu
– po to to robimy
– olimpiada jest drogą
– Mikołaj – olimpiada to przygoda / obozy / 6 lat
– tym jest olimpiada
https://youtu.be/K7TUY1fpTr8?t=189
🤷♂️ Wymówki…
Para – początek omówienia
https://youtu.be/K7TUY1fpTr8?t=577
O co chodzi w parach?
- Trzymamy 2 rzeczy na raz pod jednym indeksem
https://youtu.be/K7TUY1fpTr8?t=869
Przeczytaj przed II etapem OIJ:
https://youtu.be/sDiC03_u2vk?t=203
Nastawienie przed konkursem
https://youtu.be/sDiC03_u2vk?t=943
Zadanie voting:
https://youtu.be/M0UGnoRxsb8?t=1617
Div4 – :
https://youtu.be/bZKEh4j50K4?t=57
⏳ Mistrz Programowania trwa!
https://youtu.be/qIraPa7A1wY?t=3
Top of the top!
https://youtu.be/qIraPa7A1wY?t=2011
Gala – początek – za nami – 25 zadań
https://youtu.be/3SA41pV2Ngg?t=10
👍 Gala – dlaczego to działa?
https://youtu.be/3SA41pV2Ngg?t=606
❤️ Dziękuję!
https://youtu.be/3SA41pV2Ngg?t=1842
😊 Ależ emocje!
https://youtu.be/jz6bGhCu_sU?t=5
🙌 Entuzjaści programowania!
https://youtu.be/DjgEZHELubM?t=7
💌 Zapraszam na niedzielę!!!
https://youtu.be/DjgEZHELubM?t=438
Programowanie 2024.02.19 – lower_bound / upper_bound
Gala finałowa:
– laureaci i nagrody
https://youtu.be/xxbgCM3HUAY?t=460
Szukanie w C++ – lower_bound / potem upper_bound:
https://youtu.be/xxbgCM3HUAY?t=1430
PreOIJ – Dlaczego?
Motywacja do zadań!
Uczymy się kiedy sami uczymy
Możemy dojść do rewolucyjnego pomysłu
Stres
Programowanie – ważne – linijka i 80 punktów
https://youtu.be/xxbgCM3HUAY?t=122
Pierwsza aplikacja?
Pomysł – pierwsza aplikacja:
https://youtu.be/sboTcSi6d8U?t=4
Zapalony szachista?
https://youtu.be/sboTcSi6d8U?t=605
Ostatni tydzień Mistrza Programowania 2024:
https://youtu.be/sboTcSi6d8U?t=545
PreOIJ!!!
https://youtu.be/sboTcSi6d8U?t=228
Zobaczyć jak to jest!
https://youtu.be/sboTcSi6d8U?t=228
Zachęcam każdego ucznia:
https://youtu.be/sboTcSi6d8U?t=314
Gdzie znaleźć wszystkie kody z OKI?
https://youtu.be/sboTcSi6d8U?t=3148
Bitib, Bajtjab i palindrom
Źródło: Szkopuł/ Programistyczne
Treść: https://szkopul.edu.pl/problemset/problem/VO4j-mzIwmexYPYvoLGl6uUp/site
Metoda 1 – Tablica zliczająca
Omówienie: https://youtu.be/sboTcSi6d8U?t=752
Podsumowanie: https://youtu.be/sboTcSi6d8U?t=3170
Metoda 2 – Sortowanie
Omówienie: https://youtu.be/sboTcSi6d8U?t=3276
Kod:
Tagi: Tablica zliczająca, Sortowanie
Olimpiada II
Walcz do końca!
https://youtu.be/Wf3tmexNieA?t=2647
Olimpiada #20
Ciężarówka nie może szorować!
https://youtu.be/SF3wPyZxxJQ?t=1753
Ach jakże mógłbym?
– kahoot maxyma
https://youtu.be/SF3wPyZxxJQ?t=2538
Programowanie #20
Zadanie z Challenge – Wybierz zadanie:
https://youtu.be/kIP-AA_O-a4?t=700
Wszystko co piękne wymaga…
Wszystko co piękne wymaga wysiłku
https://youtu.be/kIP-AA_O-a4?t=4
Poziom C trudniejszy niż Interview
https://youtu.be/kIP-AA_O-a4?t=419
Runda #5
Programowanie zaawansowane 02.02
Bombs – Codeforces:
https://youtu.be/4fFVRkdrE_o?t=890
Programowanie OD PODSTAW #19
#mistrz_programowania
Runda 4:
https://youtu.be/n1dTmnCzePg?t=75
#mistrz_programowania
Mamy ponad 1000 uczestników!
- Bawi się
https://youtu.be/n1dTmnCzePg?t=264
O co chodzi w Mistrzu Programowania?
– uwierzyć w siebie – cytat Rockefellera
https://youtu.be/n1dTmnCzePg?t=320
Co powiedział Rockefeller?
Jakie rady daje Rockefeller swojemu synowi?
– sukces odnoszą zwykli ludzie którzy uwierzyli w siebie
https://youtu.be/n1dTmnCzePg?t=337
Co robili szefowie firm w wieku 13-17 lat?
– pisali aplikacje
– zabawne głupie
– idiotyczne
https://youtu.be/n1dTmnCzePg?t=492
Taxi – aplikacja
https://youtu.be/n1dTmnCzePg?t=530
Wywiad Bogusz Pękalski z IC Project
– Michał Sadowski zaczynał od tworzenia stron www
https://youtu.be/n1dTmnCzePg?t=689
🤔 Jak być w finale OI-a?
https://youtu.be/0OoYB412FIU?t=3873
Gdzie przydają się mosty?
https://youtu.be/4u8dj0RcsTU?t=140
🗣️ Czego wstyd nie znać?
Binary search
https://youtu.be/XsozJrGL1x4?t=240
Wyszukiwanie binarne ma sens!
https://youtu.be/XsozJrGL1x4?t=1371
Mistrz Programowania
– jeszcze w piątek było nas 900!
https://youtu.be/1CeUEAicFxk?t=35
Szkoły które wspierają Mistrza Programowania:
https://youtu.be/1CeUEAicFxk?t=92
Runda 3:
https://youtu.be/1CeUEAicFxk?t=115
🌌 Przygoda na całe życie
https://youtu.be/1CeUEAicFxk?t=402
Crème de la crème!
– Przygotowujemy się do Olimpiady!
https://youtu.be/1CeUEAicFxk?t=521
Połącz kropki:
https://youtu.be/1CeUEAicFxk?t=438
Jak rozwiązywać zadania?
https://youtu.be/1CeUEAicFxk?t=1448
#pokazac #vector
Najważniejszy element – vector!
– nie musimy wiedzieć ile elementów
– dynamiczny
– programowanie to magia!
https://youtu.be/5iOJVTOJdbE?t=30
Programowanie to tworzenie nowych rzeczy!
– fantastycznych aplikacje
– rozwiązywanie problemów
– szybkość / rozbudowa
– pokaże Wam jak tworzyć takie apliacje
https://youtu.be/5iOJVTOJdbE?t=74
#pokazac
W programowaniu najważniejsza rzeczy to rozwiązywanie problemów!
– prowadzą Olimpiady
– prowadzi Mistrz Programowania
Opis rundy 2 Mistrza Programowania:
– USA
– Zaproszenie
https://youtu.be/5iOJVTOJdbE?t=190
#pokazac
Konkurs Mistrz Programowania jest bezpłatny:
– zamiast grać w gry lepiej je tworzyć, pisać!
– to jest ciekawsze
– pokazać że programowanie to pasja, przygoda
– wciągnąć
– cel / zabawa
– dołącz / poprawiaj / baw się
– każda minuta, każdy jeden punkt więcej to radość
– możemy pisać w domu / bez stresu
– jak tu będziemy mocni to w Olimpiadzie też będzie super!
– tu bez stresu / Olimpiada to 4h z lekkim stresem
– tu na luzie by zobaczyć jak fantastyczne jest programowanie
https://youtu.be/5iOJVTOJdbE?t=346
Zapowiedź zajęć OKI:
https://youtu.be/5iOJVTOJdbE?t=427
Quiz – wybierz zadanie do Challenge:
https://youtu.be/5iOJVTOJdbE?t=507
Quiz – wymyśl zadanie na vector:
https://youtu.be/5iOJVTOJdbE?t=583
#pokazac
Niemożliwe? Uwierz!
Czy r1d i r1c są niemożliwe?
https://youtu.be/5iOJVTOJdbE?t=626
Nie musisz na 100:
– nie jest celem na 10
– zrób na tyle na ile umiesz a potem się popraw!
– liczy się to o ile się poprawisz
– wczoraj skoczyłem 100 dziś 110
– okazja do świętowania
– dziś umiem jedno podzadanie, jutro dwa
– to jest ta wielka radość
– to o co chodzi organizatorem
– zobaczysz jak się ucieszy gdy poprawisz się o 9
– potem może o 46
https://youtu.be/5iOJVTOJdbE?t=658
Dziękuję za trudnodzenie się 2h:
– za 2h
– za czas, za trud, za myślenie
– to jest skok z 70 na 80
– to jest ten cel, o to chodzi
– najepszy prezent, mió na moje serce
https://youtu.be/5iOJVTOJdbE?t=807
Opis Challenge:
https://youtu.be/5iOJVTOJdbE?t=911
Układanie własnych zadań mega ważne:
– wymyśleć
– czy jest rozwiązanie
– podpasować kod
– tak jakbyś tłumaczył
https://youtu.be/5iOJVTOJdbE?t=960
My nie będziemy w stanie wszystkiego powiedzieć:
– musimy sami być odkrywcami jeśli czegoś nie wiemy
https://youtu.be/5iOJVTOJdbE?t=1030
Kod z vector znaków:
– dynamiczna tablica oceny
– pokazanie vectora w pamięci pustego
https://youtu.be/5iOJVTOJdbE?t=1124
Informatyka to piękno:
https://youtu.be/LnwB_0kLdq8?t=38
Kosntanty Opas
Zad 2+2*2
Bajtek dostał ostanio zadanie na matmie 2+2*2 i zdziwił się kiedy nauczyciel powiedział mu, że wynik to 6 a nie 8.
Więc, Bajtek dał ci za zadanie najpierw policzyć ciąg od N+N*N do X+X*X(w sęsie gdy N = 2 a X = 3 to ciąg = [6,12]) a nastepnie
podać Y-tą cyfre tego ciągu.
Wejście:
Wejście ma jeden wiersz.
najpierw N później X na koniec Y(0 < N,X,Y < 1000)
Wyjście:
Y-ta liczba ciągu
Przykład:
wejście:
2 3 1
Wyjście:
6
kod cpp:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,x,y;
cin >> n >> x >> y;
vector<int> a;
for(int i = n;i <= x;++i){
a.push_back(i+i*i);
}
cout << a[y-1];
return 0;
}
Zadanie Lizak:
https://youtu.be/Uq6lkGrNND4?t=108
Zadanie D. Ones and Twos z Codeforces / Div2 / D:
https://youtu.be/Uq6lkGrNND4?t=981
Link do zadania D. Ones and Twos:
https://codeforces.com/contest/1896/problem/D
Dwa fajne triki!
To się przyda!
https://youtu.be/Uq6lkGrNND4?t=1604
Omówienia zadania Paliwo:
https://youtu.be/Uq6lkGrNND4?t=1660
Dalej:
https://youtu.be/Uq6lkGrNND4?t=2138
Omówienie zadania Carpet / Codeforces:
https://youtu.be/sV6Yz2YeNj0?t=298
Link do zadania:
Co to jest HLD?
https://youtu.be/sV6Yz2YeNj0?t=1291
Omówienie Path Queries II
– najbardziej znane zastosowanie HLD
https://youtu.be/sV6Yz2YeNj0?t=1378
Dalej:
https://youtu.be/sV6Yz2YeNj0?t=1833
Dlaczego zadania z Biblioteczką?
– pojawiają się na Olimpiadzie
https://youtu.be/BzUtWBz5DS0?t=41
Mistrz Programowania 2024:
– runda próbna
– omówienia wszystkich na kanale
https://youtu.be/BzUtWBz5DS0?t=143
Zadanie Robocik – omówienie:
https://youtu.be/BzUtWBz5DS0?t=427
Co to znaczy, że zadanie z Biblioteczką?
– nie wczytujemy niczego
– musimy użyć funkcji dostarczonych
– musimy się komunikować z zadaniem
– jakie funkcje dostarcza zadanie?
https://youtu.be/BzUtWBz5DS0?t=479
Zawartość folderu zadania:
– przykładowy program
– kod C++ / Python
https://youtu.be/BzUtWBz5DS0?t=843
Rozwiązanie koncepcyjne zadania:
https://youtu.be/BzUtWBz5DS0?t=977
Testowanie /Kompilacja u siebie:
– makefile udostępniony
– pokazanie działania
https://youtu.be/BzUtWBz5DS0?t=1380
Co gdy nie możemy wczytywać danych?
– robi to bibliteczka!
https://youtu.be/BzUtWBz5DS0?t=1918
Czy 50-ta osoba otrzyma nagrodę w MP2024?
https://youtu.be/BzUtWBz5DS0?t=2268
Po co runda próbna?
– przetestować
– przećwiczyć kod
– co może się wydarzyć w konkursie
https://youtu.be/BzUtWBz5DS0?t=2361
Biblioteczka często z Binary Search!
– trzeba coś wyszukać
https://youtu.be/BzUtWBz5DS0?t=2572
I runda w niedzielę 7 stycznia!
– pierwsza punktowana
https://youtu.be/BzUtWBz5DS0?t=2647
Jak dołączyć do Mistrza Programowania 2024?
https://youtu.be/RzUsfk1zWOA?t=217
Gdy zainteresowało mnie zadanie…
Omówienie zadania Rozliczenie:
https://youtu.be/RzUsfk1zWOA?t=280
Podzadania / Ocenianie:
https://youtu.be/RzUsfk1zWOA?t=455
Czytajmy podzadania!
Darmowe punkty!
– 6 punktów za wypisanie samych zer!
– nie było żadnych zakupów / nic nikt nie wydał
– pokazanie kodu który dostaje 6 punktów
– wrzucenie na szkopuła i zobaczenie
https://youtu.be/RzUsfk1zWOA?t=464
Omówienie zadania na bardziej ambitnym przykładzie:
https://youtu.be/RzUsfk1zWOA?t=644
Co to jest double?
– nie można int a = 2.5
https://youtu.be/RzUsfk1zWOA?t=847
Wypisywanie double do 5-tego miejsca po przecinku:
– setprecision
https://youtu.be/RzUsfk1zWOA?t=1102
Rozwiązanie brutalne:
– kod
– wrzucamy na szkopul
– rozwiązanie za wolne
https://youtu.be/RzUsfk1zWOA?t=917
Jest dużo Mistrzów!
https://youtu.be/RzUsfk1zWOA?t=1333
Czas działania rozwiązania brutalnego:
– złożoność
– dziesięć miliardów operacji
https://youtu.be/RzUsfk1zWOA?t=1348
Rozwiązanie optymalne:
https://youtu.be/RzUsfk1zWOA?t=1478
Dwa za wolne pomysły dają jeden szybszy!
https://youtu.be/VuALaWWcFoQ?t=33
Omówienie zadania Kontenery:
https://youtu.be/VuALaWWcFoQ?t=80
Link do zadania Kontenery:
https://szkopul.edu.pl/problemset/problem/oNnWY6ZuzzhvG-jCmijiXkIk/site
Rozwiazanie zadania Zboże:
https://youtu.be/VuALaWWcFoQ?t=1047
Link do zadania Zboże:
https://szkopul.edu.pl/problemset/problem/mTIclw457_QBtRPC4pG2tgg7/site
Zadanie Zboże można zrobić na 3 sposoby:
– Centroidy / strona OI-a
– HLD
– Pomysł / Bez struktur – nasze rozwiązanie
https://youtu.be/VuALaWWcFoQ?t=1341
Co to jest programowanie zachłanne?
– pokazanie wyboru maksymalnej wartości na planszy
– zachłanne nie jest dobre
https://youtu.be/RhwblqP7-10?t=293
Zadanie Taksówki:
– programowanie zachłanne
https://youtu.be/RhwblqP7-10?t=420
Zadanie Taksówki – treść:
https://szkopul.edu.pl/problemset/problem/Sa5HmhgGMPHhB6qXqPv1asrE/site
Zadanie Znaczki:
– wykorzystanie map
https://youtu.be/RhwblqP7-10?t=1489
Treść zadania:
https://szkopul.edu.pl/problemset/problem/QeVxK6uNmZYjNIlcsADbeQBm/site
Dokładne omówienie map:
– porównanie z tablicą
https://youtu.be/RhwblqP7-10?t=1671
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
https://youtu.be/2nDcjH2YxM8?t=3558
https://youtu.be/2nDcjH2YxM8?t=3
https://youtu.be/2nDcjH2YxM8?t=4336
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
#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’ Set: https://youtu.be/3KYBBeq8SfM?t=291
Zadanie Max Median: https://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
- Nowy Rok szkolny i nadzieje: https://youtu.be/bYaGNaYk-QI?t=20
- Plany Mirosława Zelenta: https://youtu.be/bYaGNaYk-QI?t=83
- Bezpieczeństwo – jeden z najbardziej ekscytujących tematów w Informatyce: https://youtu.be/bYaGNaYk-QI?t=348
- Podręcznik: Wprowadzanie do bezpieczeństwa IT: https://youtu.be/bYaGNaYk-QI?t=465
- Olimpijskie Koło Informatyczne – co w 2023/24?: https://youtu.be/bYaGNaYk-QI?t=592
- Dlaczego Olimpiada Informatyczna?: https://youtu.be/bYaGNaYk-QI?t=689
- Konkursy Informatyczne – Mistrz Programowania: https://youtu.be/bYaGNaYk-QI?t=807
- Ciekawość vs nauka – przypadek syna Tomasza Czajki, twórcy lotów kosmicznych Elona Muska: https://youtu.be/bYaGNaYk-QI?t=1073
- Czy rakieta doleci? – Jak ważna jest algorytmika?: https://youtu.be/bYaGNaYk-QI?t=1196
- Najbardziej kosztowne błędy w historii: https://youtu.be/bYaGNaYk-QI?t=1379
- Programowanie się zmienia! Komputer sam się uczy vs jest programowany!: https://youtu.be/bYaGNaYk-QI?t=1413
- Przykład: Programowanie vs uczenie maszynowe: https://youtu.be/bYaGNaYk-QI?t=1502
- Gdzie otworzyć supermarket?: https://youtu.be/bYaGNaYk-QI?t=1668
- Komputer sam się uczy – jak dziecko!: https://youtu.be/bYaGNaYk-QI?t=1712
- Czy możemy kontrolować sztuczną inteligencję? Czy inteligencja jest zależna od nośnika?: https://youtu.be/bYaGNaYk-QI?t=1839
- W którą stronę pójdzie AI?: https://youtu.be/bYaGNaYk-QI?t=1996
- Czy możemy stworzyć sztuczny mózg?: https://youtu.be/bYaGNaYk-QI?t=2011
- Co dają modele lingwistyczne – co daje AI?: https://youtu.be/bYaGNaYk-QI?t=2083
- Prywatny nauczyciel – AI w edukacji: https://youtu.be/bYaGNaYk-QI?t=2120
- Mirosław Zelent zawsze będzie potrzebny!: https://youtu.be/bYaGNaYk-QI?t=2212
- Sztuczna inteligencja challengem dla szkoły!: https://youtu.be/bYaGNaYk-QI?t=2265
- Czy AI oznacza izolację?: https://youtu.be/bYaGNaYk-QI?t=2368
- Czy nowa rzeczywistość wymaga regulacji?: https://youtu.be/bYaGNaYk-QI?t=2491
- Czy to jest koniec historii?: https://youtu.be/bYaGNaYk-QI?t=2564
- Sieci internetowe nie dają pewności: https://youtu.be/bYaGNaYk-QI?t=2619
- Kto ma halucynacje? Sztuczna inteligencja czy człowiek?: https://youtu.be/bYaGNaYk-QI?t=2877
- Gdzie jest AI w życiu?: https://youtu.be/bYaGNaYk-QI?t=3062
- Sieci neuronowe są kreatywne!: https://youtu.be/bYaGNaYk-QI?t=3278
- Kiedy sieci neuronowe mogą być niebezpieczne?: https://youtu.be/bYaGNaYk-QI?t=3317
- AI jako nauczyciel programowania: https://youtu.be/bYaGNaYk-QI?t=3356
- Wyspecjalizowane systemy – przyszłość AI: https://youtu.be/bYaGNaYk-QI?t=3416
- Słowa kluczowe znikają – sztuczna inteligencja ich nie potrzebuj: https://youtu.be/bYaGNaYk-QI?t=3497
- Polski start-up AI – podpowiadanie kolejnych produktów: https://youtu.be/bYaGNaYk-QI?t=3564
- Czy sztuczna inteligencja może robić przelewy?: https://youtu.be/bYaGNaYk-QI?t=3583
- AI szansą edukacji: https://youtu.be/bYaGNaYk-QI?t=3656
- Jakich nauczycieli szukają Rodzice?: https://youtu.be/bYaGNaYk-QI?t=3692
- Jak ChatGPT może pomóc nauczycielom?: https://youtu.be/bYaGNaYk-QI?t=3734
- Kim jest prompt engineer?: https://youtu.be/bYaGNaYk-QI?t=3768
- Jakiej sztucznej inteligencji uczyć?: https://youtu.be/bYaGNaYk-QI?t=3835
- Programowanie coraz bardziej efektywne: https://youtu.be/bYaGNaYk-QI?t=3876
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
Zadanie Liczby półpierwsze – Sito Eratostenesa w akcji
Link do zajęć: https://youtu.be/V7ZB_9X28j0?t=16
https://youtu.be/V7ZB_9X28j0?t=16
https://youtu.be/V7ZB_9X28j0?t=104
https://youtu.be/V7ZB_9X28j0?t=1436
https://youtu.be/V7ZB_9X28j0?t=6426
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
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
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
Sito Eratostenesa
Link do zajęć: https://youtu.be/WxDmiMwPiRc?t=15
– 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
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
– 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
– 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
– 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
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
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
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
Maski bitowe – Zadanie Gołębie pocztowe
Link do zajęć: https://youtu.be/55KbGr2LDwQ?t=19
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
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
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
– 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
– no własnie o to chodzi
– małymi kroczkami
– pierwsza wersja przechodzi jakieś testy
– poprawiamy i poprawiamy
https://youtu.be/55KbGr2LDwQ?t=451
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
https://youtu.be/55KbGr2LDwQ?t=7321
https://youtu.be/55KbGr2LDwQ?t=7415
https://youtu.be/55KbGr2LDwQ?t=1168
https://youtu.be/55KbGr2LDwQ?t=1326
– konwersja jest zachłanna
– czym są bity
https://youtu.be/55KbGr2LDwQ?t=1446
– 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?
– tak jak dodawanie i odejmowanie
– możemy dodawać swoje!
https://youtu.be/55KbGr2LDwQ?t=1820
– przykład z życia – słońce i dzwoni kolega
– na dwójkowych i dziesiętnych
https://youtu.be/55KbGr2LDwQ?t=1938
– przykład z życia – słońce i dzwoni kolega
– na dwójkowych i dziesiętnych
https://youtu.be/55KbGr2LDwQ?t=2349
– 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
– przesunięcie bitowe
– przykład w ideone
– najszybsze operacje – jedna instrukcja
https://youtu.be/55KbGr2LDwQ?t=2874
Quiz
– 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ą
https://youtu.be/55KbGr2LDwQ?t=5401
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
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
Zadania z Challenge – Duże liczby / Usuwanka
Link do zajęć:
Mistrzostwa? To informatyka!
– 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
https://youtu.be/PZTW-83UMHM?t=1370
Kod: https://oki.org.pl/duze-liczby
Omówienie zadania Usuwanka:
https://youtu.be/PZTW-83UMHM?t=3562
Kod: https://oki.org.pl/usuwanka
Challenge #9:
https://youtu.be/PZTW-83UMHM?t=7316
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
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
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
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
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
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
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
Razem piszemy kod NWD
Link do zajęć:
– 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
– 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
https://youtu.be/gEgsWnMbBNs?t=65
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
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
– 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
https://youtu.be/gEgsWnMbBNs?t=3391
https://youtu.be/gEgsWnMbBNs?t=5625
Zapowiedź #8:
https://youtu.be/gEgsWnMbBNs?t=6825
Opis challenge #7:
https://youtu.be/gEgsWnMbBNs?t=6857
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
– 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
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
Drzewa przedziałowe część 1 – pierwsze zajęcia
Link do zajęć: https://youtu.be/vg_g0zTxUVo?t=20
– jak znajdować wzorce w tekstach
– problemy w hashach – kolizje
– zadanie z Olimpiady Informatycznej
https://youtu.be/vg_g0zTxUVo?t=20
– 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
– 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
– 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
– kolejna potęga dwójki – 1
https://youtu.be/vg_g0zTxUVo?t=866
Omówienie zadania Catapult that Ball:
https://youtu.be/vg_g0zTxUVo?t=1171
Kod / linki:
https://oki.org.pl/catapult-that-ball
https://youtu.be/vg_g0zTxUVo?t=1917
https://youtu.be/vg_g0zTxUVo?t=2148
CHCEMY PODWAŻYĆ ALGORYTM KTÓRY MA PYTHON!
– krótkie ale fajne!
https://youtu.be/vg_g0zTxUVo?t=2242
– bez żadnej matematyki, numerów, przedziałów
– odpowiedzi na pytania o max na poszczególnych przedziałach
– za co odpowiadają wierzchołki
https://youtu.be/vg_g0zTxUVo?t=2364
Piękne drzewo Tomka!
Drzewa informatyczne
Drzewa które podobają się informatykom
– nasze drzewa mają korzeń na górze
– korzeń i liście
– nawet te drzewa będa sie podobały
https://youtu.be/vg_g0zTxUVo?t=2694
– policzyliśmy dodatkowe wartości
– możemy szybciej odpowiadac na zapytania
https://youtu.be/vg_g0zTxUVo?t=2765
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
Gąsienica
Link do zajęć: https://youtu.be/TMgFEpTuBvQ?t=18
Algorytm inspirowany naturą czy kojarzący się z naturą
– 2 pointers
https://youtu.be/TMgFEpTuBvQ?t=18
– 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
– 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
– razem piszemy nowy algorytm
https://youtu.be/TMgFEpTuBvQ?t=579
–
Zachęta #2
https://youtu.be/TMgFEpTuBvQ?t=6649
–
– zadania z naszych challenge!
https://youtu.be/TMgFEpTuBvQ?t=623
–
Zachęta #2:
https://youtu.be/TMgFEpTuBvQ?t=6675
https://youtu.be/TMgFEpTuBvQ?t=703
https://youtu.be/TMgFEpTuBvQ?t=778
– to już jest początek robienia zadania!
– początek myślenia nad zadaniem
– przeczytajmy zadania
https://youtu.be/TMgFEpTuBvQ?t=1033
https://youtu.be/TMgFEpTuBvQ?t=1169
https://youtu.be/TMgFEpTuBvQ?t=1577
https://youtu.be/TMgFEpTuBvQ?t=2149
https://youtu.be/TMgFEpTuBvQ?t=2543
https://youtu.be/TMgFEpTuBvQ?t=2700
https://youtu.be/TMgFEpTuBvQ?t=2947
https://youtu.be/TMgFEpTuBvQ?t=3058
https://youtu.be/TMgFEpTuBvQ?t=3940Hurra! Radość Pokazać
– Jedynka nam bruździła i ją usunęliśmy!!!
https://youtu.be/TMgFEpTuBvQ?t=4967
https://youtu.be/TMgFEpTuBvQ?t=5215
– inaczej niż jesteśmy przyzwyczajeni
https://youtu.be/TMgFEpTuBvQ?t=5459
https://youtu.be/TMgFEpTuBvQ?t=5505Jak wkleić kod / rozwiązanie do Codility?
https://youtu.be/TMgFEpTuBvQ?t=6172
https://youtu.be/TMgFEpTuBvQ?t=6286
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
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
– 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
Team – Codeforces – pętla w pętli
2022.10.24
Link do zajęć:
Jak dołączyć do projektów programistycznych?
– 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
– definiowanie zmiennej int, podstawienie wartości
https://youtu.be/fk04apHH4SQ?t=372
https://youtu.be/fk04apHH4SQ?t=578
Przekraczamy 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
– program wypisuje dobrze
https://youtu.be/fk04apHH4SQ?t=934
– 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
– 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
– 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
– 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
https://youtu.be/fk04apHH4SQ?t=2587Przekroczenie int, suma liczb od 2mld do 2mld10 – kahoot:
https://youtu.be/fk04apHH4SQ?t=2654
https://youtu.be/fk04apHH4SQ?t=3156
Kod / linki:
https://oki.org.pl/team
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ą
– musimy przejść po zapytaniach
– druga pętla sprawdza jedynki
– mamy 2 pętle
https://youtu.be/fk04apHH4SQ?t=3561
– 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
https://youtu.be/fk04apHH4SQ?t=4321
– pętla po problemach
– dla danego problemu wczytijemy 3 liczby
https://youtu.be/fk04apHH4SQ?t=4965
https://youtu.be/fk04apHH4SQ?t=5649
https://youtu.be/fk04apHH4SQ?t=6080
https://youtu.be/fk04apHH4SQ?t=6140
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
Hashe – Zadanie Korale – Olimpiada Informatyczna
Link do zajęć:
– 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 dziennie?
– pierwszy raz nie ma szans!
– 20 km za miesiąc 40km
– aż się uda
– i wtedy te 10 km będzie spacerek
https://youtu.be/RScESwzLWIE?t=244
Podsumowanie hashowania:
https://youtu.be/RScESwzLWIE?t=348
Omówienie Zadania Korale:
https://youtu.be/RScESwzLWIE?t=1065
https://youtu.be/RScESwzLWIE?t=84
https://youtu.be/RScESwzLWIE?t=4693
Binary Search w akcji – szukamy pierwiastka
Link do zajęć: https://youtu.be/pzPACXcSuss?t=5
Witam w deszczowy wieczór!
– wyszukiwarka
– przydzielanie zasobów
– będziemy naszym podstawowym narzędziem
https://youtu.be/pzPACXcSuss?t=61
– 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
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
– 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
– przyjemne w rozwiązywaniu
– warto zrobić te zadania
– nie porównujemy się do innych, porównujemy się do siebie
https://youtu.be/pzPACXcSuss?t=399
– gdzie są?
– przeczytajmy, pomyślmy przed snem
– Maciek myśli wszędzie, na lekcji, przed zaśnięciem
https://youtu.be/pzPACXcSuss?t=421
– test
– zadania
– niezależne rzeczy
https://youtu.be/pzPACXcSuss?t=561
https://youtu.be/pzPACXcSuss?t=1755Challenge #5:
https://youtu.be/pzPACXcSuss?t=6345
Gąsienica
– warto się poczołgać jak gąsienica
– jej ruch jest bardzo sprytny
– inspirujący dla algorytmiki
https://youtu.be/pzPACXcSuss?t=6424
Pętla – dyskusja, quizy
2022.10.17
Link do zajęć: https://youtu.be/rZb8EsSnHU8?t=3
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
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
– symulacja że i jest poza pętlą 70 a w pętli do 68
https://youtu.be/rZb8EsSnHU8?t=3273
https://youtu.be/rZb8EsSnHU8?t=3613
– pięknie nam wypisał 100 liczb!
– zgodzicie się ze to jest bardzo fajne
– dokładne wyjaśnienie reszty
https://youtu.be/rZb8EsSnHU8?t=3961
https://youtu.be/rZb8EsSnHU8?t=4270
– dzielimy przez wszystko od 2 do n-1
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
Hashe – Zadanie Repeating Substring – paradoks urodzin
Link do zajęć: https://youtu.be/dfpERcmogNM?t=18
https://youtu.be/dfpERcmogNM?t=18
– weź udział
– nic nie kosztuje
– wstęp na studia
– początek pięknej przygody?
https://youtu.be/dfpERcmogNM?t=142
https://youtu.be/dfpERcmogNM?t=297
– 3-4 zadania tygodniowo, parę miesięcy
https://youtu.be/dfpERcmogNM?t=540
– nie tylko hash wystarczy
– prawdopodobieństwo złamania hasha
https://youtu.be/dfpERcmogNM?t=1369
https://youtu.be/dfpERcmogNM?t=1504
https://youtu.be/dfpERcmogNM?t=1512
https://youtu.be/dfpERcmogNM?t=1543
https://youtu.be/dfpERcmogNM?t=1937
https://youtu.be/dfpERcmogNM?t=1937
Czy powtarzanie się podsłowa jest monotoniczne? -> można użyć Binary Search
https://youtu.be/dfpERcmogNM?t=2280
https://youtu.be/dfpERcmogNM?t=2699
– 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
– 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
– czy wśród osób na czacie są 2 które mają ten sam dzień i miesiąc urodzin?
https://youtu.be/dfpERcmogNM?t=3571
– jak to rozwiązać, zwiększyć liczbę hasy z 10^9 do 19^18
https://youtu.be/dfpERcmogNM?t=3930
– 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
– 50% dla klasy 23 osobowej
– dla klasy 30 osobowej to już około 70%
https://youtu.be/dfpERcmogNM?t=4287
– 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
https://youtu.be/dfpERcmogNM?t=4445
– podwójne hashe – zamiast jednej liczby będziemy mieć dwie różne liczby
https://youtu.be/dfpERcmogNM?t=4534
– wymyślona funkcja check
– szukamy ostatniej jedynki – najdłuższe powtarzające się słowo
https://youtu.be/dfpERcmogNM?t=4599
https://youtu.be/dfpERcmogNM?t=4635
– O(n*Log^2)
https://youtu.be/dfpERcmogNM?t=4706
https://youtu.be/dfpERcmogNM?t=4948
https://youtu.be/dfpERcmogNM?t=5025
https://youtu.be/dfpERcmogNM?t=5509
– mamy praktycznie pewność, ale nie jest to 100%
https://youtu.be/dfpERcmogNM?t=5611
– poznajmy hashe!
– zadania tekstowe to często hashe!
https://youtu.be/dfpERcmogNM?t=5659
– jest binary search, hashe
– ciężkie zadania – da statyfkację!
https://youtu.be/dfpERcmogNM?t=6822
– może będzie można wykorzystać
– algorytm bardziej pod OI-a
https://youtu.be/dfpERcmogNM?t=5756
– wytłumaczenie paradoksu urodzin
https://youtu.be/dfpERcmogNM?t=6266
https://youtu.be/dfpERcmogNM?t=5854
Olimpiada Poziom II – zajęcia #5:
https://youtu.be/dfpERcmogNM?t=100
Binary Search
Link do zajęć: https://youtu.be/81P5ZalDPoc?t=10
– 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
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
– zastanawianie się czy komputer musi to wszystko liczyć?
– 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
– 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ć
https://youtu.be/81P5ZalDPoc?t=790
– więcej kodować
– praktyka czyni mistrza
– poszukiwać w necie, odkrywamy
https://youtu.be/81P5ZalDPoc?t=840
– nasz temat
– najczęstszy algorytm, najważniejsza technika
https://youtu.be/81P5ZalDPoc?t=950
– czy wartość występuje w ciągu?
– znajdź indeks o wartości
– dla danego zapytania sprawdzamy po kolei z wartościami w tablicy
https://youtu.be/81P5ZalDPoc?t=1538
https://youtu.be/81P5ZalDPoc?t=1786
https://youtu.be/81P5ZalDPoc?t=2056
– zgadywanie w połowie
– odrzucamy połowę nie sprawdzając
https://youtu.be/81P5ZalDPoc?t=2155
https://youtu.be/81P5ZalDPoc?t=2333
– pół miliarda nie sprawdzamy!
– otwieramy słownik w połowie i tak dalej…
https://youtu.be/81P5ZalDPoc?t=2606
– warto zrozumieć
https://youtu.be/81P5ZalDPoc?t=2769
https://youtu.be/81P5ZalDPoc?t=2798
https://youtu.be/81P5ZalDPoc?t=3151
Zamiast miliona operacji wykonujemy 17 operacji!
– z miliardów lat zmniejszamy liczbę operacji do ułamka sekundy!
https://youtu.be/81P5ZalDPoc?t=3304
– coś najmniejszego / coś największego
– wyszukiwanie po wyniku
https://youtu.be/81P5ZalDPoc?t=3505
https://youtu.be/81P5ZalDPoc?t=3724
– być zalogowanym na Codeforces
– zapisać się do kursu edukacyjnego
https://youtu.be/81P5ZalDPoc?t=3883
– odrzucenie polega na przesunięciu początku lub końca
https://youtu.be/81P5ZalDPoc?t=4460
– 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
https://youtu.be/81P5ZalDPoc?t=5546
https://youtu.be/81P5ZalDPoc?t=5784
https://youtu.be/81P5ZalDPoc?t=6446
Challenge #4:
https://youtu.be/81P5ZalDPoc?t=6075
https://youtu.be/81P5ZalDPoc?t=6113
Animacja spadającej piłki
2022.10.10
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
– 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
https://youtu.be/m_sSmhvS1RQ?t=1048
https://youtu.be/m_sSmhvS1RQ?t=1070Rozszerzenia plików – robimy by były widoczne:
https://youtu.be/m_sSmhvS1RQ?t=1237
– otwierany domyślnie przez przeglądarkę
https://youtu.be/m_sSmhvS1RQ?t=1347
– w przeglądarce
– w edytorze tekstowym
https://youtu.be/m_sSmhvS1RQ?t=1537
https://youtu.be/m_sSmhvS1RQ?t=1668
– 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.
https://youtu.be/m_sSmhvS1RQ?t=2058
Nasz cytat z zajęć:
Wyobraźnia zaprowadzi Cię wszędzie.
Cytat Einstein – podziękowanie dla Adama
– nie chcemy tekstu w części body
– chcemy płótno / canvas
https://youtu.be/m_sSmhvS1RQ?t=2656
– czy narysował się?
https://youtu.be/m_sSmhvS1RQ?t=2902
– współrzędne planszy
– parametry wypełniania, rysowanie prostokąta
https://youtu.be/m_sSmhvS1RQ?t=2954
– nawet zwykły żółty prostokąt narysowany przez nam może dać nam radość!
– pięknie nam narysował
– 3 rzeczy
– index.html a nie index.txt
– otworzyć w edytorze tekstu / przeglądarce
– wpisać w notatniku tekst strony www
https://youtu.be/m_sSmhvS1RQ?t=3266
https://youtu.be/m_sSmhvS1RQ?t=3573
https://youtu.be/m_sSmhvS1RQ?t=3682
– 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
– w programowaniu fajnie się eksperymentuje, psuje, można wrócić do przedniego kodu!
https://youtu.be/m_sSmhvS1RQ?t=3772
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
– jest rysowany kilkadziesiąt kilkaset razy na sekundę…
https://youtu.be/m_sSmhvS1RQ?t=4340
– 100 razy na sekundę wywołuj kod Animacja
– nie ma ruchu
https://youtu.be/m_sSmhvS1RQ?t=4464
RADOŚĆ ze spadającej piłki!
– WIELKA RAROŚĆ
– pokazać
– leci, przebija ziemie!
https://youtu.be/m_sSmhvS1RQ?t=4601
– jak znajdować błąd?
https://youtu.be/m_sSmhvS1RQ?t=4856
– następne rysowanie przesunięte o prędkość
– to cała animacja
https://youtu.be/m_sSmhvS1RQ?t=4828
– 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:
https://youtu.be/m_sSmhvS1RQ?t=7153
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
Hashe – Zadanie Caps Lock
Link do zajęć: https://youtu.be/WZojS2DHEK0?t=21
Pomysł który ma nazwę!
– hashe
– użyliśmy hashowania logując się do librusa, banku, dowolnego serwisu
https://youtu.be/WZojS2DHEK0?t=41
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
Przypisanie napisowi liczby
– 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
– 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
– bezpieczeństwo – trudno odtworzyć hasło z hasha
– szybkie porównywanie
– na zajęciach szybkie porównywanie
https://youtu.be/WZojS2DHEK0?t=757
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
Jak wykorzystać Sumy prefiksowe – zadanie Dziwne Cząsteczki
Link do zajęć: https://youtu.be/jsaVtx5WQv0?t=14
Dlaczego odkrywamy?
– by gigancie tego świata – facebooki, google chcieli nas do rozwiązania problemów
– przygotowujemy się do olimpiady informatycznej
– komputery wolne
– chcemy by komputer znalazł lek, ekologiczny plastik, najlepszą strategię inwestycyjną
https://youtu.be/jsaVtx5WQv0?t=14
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
– 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
– 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
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
– 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
– 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
https://youtu.be/jsaVtx5WQv0?t=1038
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
https://youtu.be/jsaVtx5WQv0?t=2450
Wyjaśnienie 2:
https://youtu.be/jsaVtx5WQv0?t=4085
https://youtu.be/jsaVtx5WQv0?t=2892
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
https://youtu.be/jsaVtx5WQv0?t=4171
https://youtu.be/jsaVtx5WQv0?t=5018
https://youtu.be/jsaVtx5WQv0?t=5632
https://youtu.be/jsaVtx5WQv0?t=6990
https://youtu.be/jsaVtx5WQv0?t=8042Złożoność naszego rozwiązania:
– sortowanie w c++ jest szybkie
https://youtu.be/jsaVtx5WQv0?t=8133
https://youtu.be/jsaVtx5WQv0?t=8341
https://youtu.be/jsaVtx5WQv0?t=9190
Uczymy komputer decyzji
2022.10.03
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
– 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
– 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
– 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
– na górze strony http://oki.org.pl/ jest link do zajęć, challenge
– są quizy
– Zajęcia -> Challenge -> Lista zadań
– to najważniejsze – dziękuję
– 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
– brak przekierowania i cudzysłowu
– dokładny opis programu
– zmienne, wejście, wyjście – dokładny opis
https://youtu.be/lxiIPZvPgKI?t=774
https://youtu.be/lxiIPZvPgKI?t=991
– zapamiętywanie w zmiennej
– wprowadzanie danych z klawiatury w ideone
https://youtu.be/lxiIPZvPgKI?t=1580
– 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
https://youtu.be/lxiIPZvPgKI?t=2194Po warunki if w nawiasach nie dajemy średnika:
https://youtu.be/lxiIPZvPgKI?t=2435
– 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
– Samo mięso
– 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
https://youtu.be/lxiIPZvPgKI?t=3688
– do char podstawiony znak w podwójmy cudzysłowuw pojedynczym cudzysłowie
https://youtu.be/lxiIPZvPgKI?t=3731
– pokazanie błędu w kompilatorze
– oszukaliśmy C++
– 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
– 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
– 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
– będzie satysfakcja
– te 3 kroki, challenge zaprocentują
https://youtu.be/lxiIPZvPgKI?t=5160
https://youtu.be/lxiIPZvPgKI?t=5226
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
Pomysł – zadanie Monety
Link do zajęć: https://youtu.be/dpedTv7MvAI?t=35
– student I roku UW Informatyki
– Staszic
– prowadził Olimpiada Informatyczna OD PODSTAW
– 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
– fajna forma rozwijania się
– zobaczymy progres po 2m – 6m
https://youtu.be/dpedTv7MvAI?t=8982
Sumy prefiksowe
Link do zajęć: https://youtu.be/K4QtM9ycYl8?t=23
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
Mogę lepiej!
– mamy ulepszać
– nie przyjmujemy na wiarę
– nie ma prawd objawionych – bo powiedział tak nauczyciel
https://youtu.be/K4QtM9ycYl8?t=81
– 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
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
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!
https://youtu.be/K4QtM9ycYl8?t=1082
https://oki.org.pl/rewolucja-ciapongowa-1/
https://youtu.be/K4QtM9ycYl8?t=2489
https://youtu.be/K4QtM9ycYl8?t=2725
https://youtu.be/K4QtM9ycYl8?t=3661
Dlaczego sumy prefiksowe?
– wykonujemy jedną operację zamiast 1000 czy liniona operacji!
https://youtu.be/K4QtM9ycYl8?t=3869
https://youtu.be/K4QtM9ycYl8?t=6356
Zajęcia numer #3 Olimpiada OD PODSTAW:
https://youtu.be/K4QtM9ycYl8?t=6424
Zmienne, wejście – program potęga
2022.09.19
Link do zajęć: https://youtu.be/rN7NFTpGMiI?t=32
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
– 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
Jak zmieniać zmienne:
https://youtu.be/vkLBq7S2yC8?t=1429
https://youtu.be/vkLBq7S2yC8?t=1652
https://youtu.be/vkLBq7S2yC8?t=3117
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
Kto wygra bitwę – szukamy Lidera
Link do zajęć: https://youtu.be/fyRxKSGxFLs?t=50
https://youtu.be/fyRxKSGxFLs?t=50
https://youtu.be/fyRxKSGxFLs?t=326
https://youtu.be/fyRxKSGxFLs?t=1865
https://oki.org.pl/kto-wygra-bitwe
https://youtu.be/fyRxKSGxFLs?t=3042
https://youtu.be/fyRxKSGxFLs?t=7976
https://youtu.be/fyRxKSGxFLs?t=7775
– jeśli uda nam się to rozwiązać to czy jest większa radość?
https://youtu.be/fyRxKSGxFLs?t=7811
– 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
– 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
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
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
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
– fenomenalny sukces!
https://youtu.be/SMRhtrbm20w?t=435
– 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
– 4 zadania wymagające
– czasami potrzeba przerwy / czytania książek
– każde z bardziej wymagających
https://youtu.be/SMRhtrbm20w?t=633
– 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
– każdy sukces dodaje paliwa
https://youtu.be/SMRhtrbm20w?t=792
– wymagająca szkoła z matematyką
– wymierny efekt
– nie po to to robimy, przy okazji to robimy
https://youtu.be/SMRhtrbm20w?t=831
– 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ę
– 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
– 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
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
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
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
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
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
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
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
https://youtu.be/j2iE4SotFZA?t=3372
https://youtu.be/j2iE4SotFZA?t=8198
– część prywatna
– cześc publiczna
– odpowiednie funkcje
https://youtu.be/j2iE4SotFZA?t=8469
Dlaczego nie dajemy dostępu do zmiennych w klasie?
https://youtu.be/j2iE4SotFZA?t=8620
https://youtu.be/j2iE4SotFZA?t=2818
https://youtu.be/j2iE4SotFZA?t=7951
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