Pytania i odpowiedzi

Gdzie znajdę harmonogram i listę zajęć Olimpijskiego Koła Informatycznego?

https://oki.org.pl/harmonogram-zajec/

Co zrobić by regularnie otrzymywać informacje o zajęciach Olimpijskiego Koła Informatycznego?

Zapisz się na newsletter OKI:
https://oki.org.pl/newsletter.php
Informacje o zajęciach, materiałach, zadaniach wysyłane są do osób zapisanych na newsletter.

Co to jest OKI – Olimpijskie Koło Informatyczne?

Krótkie video – co to jest OKI? https://youtu.be/su8Lxldt7AM
Artykuł dotyczący OKI: https://oki.org.pl/oki/co-to-jest-oki/

Ile kosztuje udział w zajęciach Olimpijskiego Koła Informatycznego?

Zajęcia, quizy, challenge, grupy dyskusyjne Olimpijskiego Koła Informatycznego są całkowicie bezpłatne.

Dlaczego zajęcia, materiały są bezpłatne?

Misją Olimpijskiego Koła Informatycznego jest by każde dziecko – bez względu na majętność, miejsce zamieszkania, status społeczny – mogło się rozwijać – programować, walczyć w Olimpiadzie, a w przyszłości być kluczowym pracownikiem start-upów, gigantów, czy odkrywcą nowego leku.
Mamy fantastyczną młodzież! Chcemy dać im szansę!
Tak!!! Krzemowa Dolina może być w Polsce!!!

Ktoś jednak prowadzi zajęcia – również materiały, obecność w internecie, itp. – to wszystko kosztuje. Kto za to płaci?

Zajęcia prowadzone są społecznie. Koszty materiałów, stron, itp. pokrywane są przez pomysłodawcę i darczyńców. Jeśli chcesz pomóc – na przykład 4 czy 40 zł miesięcznie – będzie to WIELKA RZECZ:
https://oki.org.pl/wsparcie/
Wszystkim darczyńcom BARDZO DZIĘKUJĘ!

Dla jakiego przedziały wiekowego przeznaczone są zajęcia?

Optymalny wiek to VI klasa Szkoły Podstawowej do IV klasy Liceum. Jednak nie ma żadnych ograniczeń. Jeśli jest chęć, ciekawość, pasja – warto spróbować.
Finalistką Olimpiady Informatycznej Juniorów została uczennica IV klasy Szkoły Podstawowej – uczestniczka Olimpijskiego Koła Informatycznego.
Liczy się pasja ale też systematyczność i chęć poprawiania błędów.

Czym różni się zajęcia z programowania (poziom podstawowy) od zajęć przygotowujących do Olimpiady – algorytmika (poziom podstawowy)?

W skrócie. By komputer rozwiązał problem potrzebny jest NASZ pomysł (przygotowanie do Olimpiady, algorytmika) i zapisanie tego pomysłu w języku programowania (zajęcia z programowania)

Czym różnią się zajęcia z programowania (poziom podstawowy) od zajęć przygotowujących do Olimpiady – algorytmiki (poziom podstawowy)

Dłuższe wyjasnienie.
By rozwiązać problem przy pomocy komputera, wystartować w Olimpiadzie Informatycznej czy Olimpiadzie Informatycznej Juniorów musimy

  • Znaleźć sposób w jaki komputer ma działać, ma rozwiązać problem
    Na przykład by wypisać 100 największych liczb spośród miliona, wystarczy je posortować i wziąć 100 pierwszych.
    Wymyślenie sposobu jak komputer ma rozwiązać problem – temu służą zajęcia przygotowujące do Olimpiady – zajęcia z algorytmiki.
  • Powiedzieć komputerowi co ma robić.
    Wiemy jak komputer ma rozwiązać problem. To wymyśliliśmy w punkcie A.

    Ale to jeszcze trzeba powiedzieć komputerowi. Trzeba napisać program.
    Musimy wydać komputerowi instrukcje wczytania danych, posortowania, wypisania 100 pierwszych.
    Potrzebujemy zatem umiejętności programowania.
Czy powinienem uczęszczać bardziej na zajęcia z C++ czy z algorytmiki?

Jeśli chciałbyś w przyszłości być tym, który przy pomocy komputera zrobi super szybką grę, znajdzie lek na raka, polepszy działanie wyszukiwarek, a dziś wystartuje w Olimpiadzie Informatycznej czy Olimpiadzie Informatycznej Juniorów- zapraszam zarówno na zajęcia z algorytmiki jak i programowania.
Dlaczego?
Tak jak powyżej – musimy rozwiązać problem i przekazać rozwiązanie komputerowi.

Jeśli chcesz w przyszłości tworzyć aplikacje bankowe, strony www, programy na smartfona – wówczas potrzebna jest umiejętność programowania. Poprawnego, eleganckiego, bez błędów. Zapraszam Cię wówczas na zajęcia z programowania.

Z czego składają się zajęcia Olimpijskiego Koła Informatycznego?

Zapraszam do opisu video naszych zajęć:
https://youtu.be/zN3CApegsSY?t=1484
OKI rozwija młodego człowieka przez 3 elementy
* Spotkania – rozwiązujemy wspólnie zadania, poznajemy nowe zagadnienia.
* Quizy – myślimy nad problemami
* Challenge – rozwiązujemy zadania

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

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

Dlaczego Olimpijskie Koło Informatyczne uczy programowania akurat w C++?

Zachęcam do obejrzenia wyjaśnienia video: https://youtu.be/zN3CApegsSY?t=1664

Z punktu widzenia konkursów – Olimpiada Informatyczna, Codeforces, inne, C++ jest językiem który jest najszybszy, często daje najwięcej punktów, jest jedynym językiem który jest dostępny we wszystkich możliwych konkursach.
Jednocześnie, C++ jest bardzo dobrym językiem do algorytmikirozwiązywania problemów przy pomocy komputera. Jest logiczny, spójny, pozwala prosto przenieść nasze pomysły na działania komputera. Posiada wiele bibliotek z gotowymi strukturami danych, zaimplementowanymi już algorytmami: https://youtu.be/Ck6k19b7FVU?t=441
Jeśli więc planujesz brać udział w konkursach informatycznych, na pewno rekomendujemy by poznać C++. Na pewnym etapie i tak będziesz musiał się go nauczyć. Dlaczego więc nie od razu?
Nie musisz się spieszyć. Powoli, krok po kroku, korzystając na przykład z poniższego tutoriala:
https://oki.org.pl/tutorial/

Poniżej wyjaśnienie Mikołaja Bulge, prowadzącego zajęcia Olimpiada Zaawansowana dlaczego warto od razu zacząć od C++: https://youtu.be/qJwaW1CFNCA?t=5724
Wyjaśnienie Tomka Kwiatkowskiego prowadzącego Olimpiada POZIOM II dlaczego warto poznawać C++ w kontekście Olimpiady: https://youtu.be/9IpJXlD6zo8?t=6027

Ale nasz wybór C++ jest także z innych powodów. C++ to najszybszy język programowania będący bardzo blisko architektury sprzętowej komputera i pozwalający poznać tą architekturę jeśli jest taka potrzeba: https://youtu.be/V_vDDNdjP1U?t=45
Również wiele inny języków programowania bazuje na C++ – JavaScript, PHP. Znając C++ mamy proste wejście w profesjonalne programowanie.

Czy mogę uczestniczyć w zajęciach z algorytmiki i kodować w swoim języku: Python, Java, …

Oczywiście.
Na zajęciach z algorytmiki rozwiązujemy problem. Czyli zastanawiamy się co ma robić komputer by policzył to co chcemy jak najszybciej!
A zapisanie naszego rozwiązania może być w dowolnym języku!!!
Jeśli znasz Python, Java, … to super odnajdziesz się na zajęciach z algorytmiki.
My na naszych zajęciach napiszemy rozwiązanie w C++.
Niezależnie w materiałach jest również rozwiązanie w języku Python.
Dlaczego?
Powody podałem powyżej. Ale konkretny język programowania nie ma znaczenia….

Co muszę przygotować przed zajęciami?

Nie trzeba niczego instalować na komputerze. Nasze zajęcia składają się z :

  • Rozwiązania problemu
    Nasza rozmowa jest online na kanale youtube
  • Zakodowania problemu w języku C++
    Kodujemy w internetowym systemie dostępnym przez przeglądarkę – zwykle jest to Ideone:
    https://ideone.com/
Jak się przygotować do zajęć?

Zrób quizy i challenge które znajdują się na Twoim poziomie. Lista kursów i odnośniki do poszczególnych ścieżek:
https://oki.org.pl/harmonogram-zajec/

Czy Olimpijskie Koło Informatyczne organizuje również zajęcia stacjonarne?

Tak, zajęcia Olimpijskiego Koła Informatycznego będą się również odbywać w trybie stacjonarnym. Po więcej szczegółów odsyłam na stronę

Odkrywamy!
https://youtu.be/Q3j6LNU_LRM?t=937
Daniel Olkowski