Przejdź do treści

Wstęp

Pierwsza lekcja: Podstawy programowania / Pierwszy program. Pełna lista lekcji jest dostępna w menu po prawej stronie strony.

System sprawdzający rozwiązania jest dostępny na platformie Szkopuł.

Co to za kurs i jaki jest jego materiał?

To jest "oficjalny" kurs prowadzony przez społeczność Olimpiady Informatycznej. Poświęcony jest w części nauce podstaw programowania w języku C++, ale przede wszystkim ma służyć nauce algorytmiki. Chcielibyśmy, aby kurs pomagał w przygotowaniu się, między innymi, do:

  • egzaminu maturalnego z informatyki,
  • Olimpiady Informatycznej oi.edu.pl,
  • Olimpiady Informatycznej Juniorów oij.edu.pl,

a także zapewniał dobre podstawy potrzebne do tego, aby móc dalej zgłębiać profesjonalne ("komercyjne") programowanie, albo inne ciekawe i potrzebne gałęzie informatyki.

Na razie startujemy skromnie, z dwoma pierwszymi działami: o podstawowym programowaniu i początkach algorytmiki, w dużej części opartych na zaadaptowanym materiale "dawnego kursu" z witryny MAIN2. Nowe działy i lekcje będą pojawiać się sukcesywnie, docelowo chcielibyśmy tutaj pokryć cały materiał, który można spotkać na zawodach informatycznych w szkołach podstawowych i średnich. Jeżeli kurs się dostatecznie rozwinie, to będzie także zawierał materiał potrzebny do zrozumienia trudniejszych zadań z zawodów takich jak Olimpiada Informatyczna.

Dlaczego właśnie C++?

Na świecie istnieje wiele języków programistycznych różniących się m.in. trudnością nauki, wygodą używania i efektywnością wytwarzanego kodu. Na tym kursie, przynajmniej na początku, musimy zdecydować się na jeden z nich. Wybraliśmy C++ dlatego, że z jednej strony jest rozsądnie łatwy do nauki, a przede wszystkim dlatego, że programy napisane w nim potrafią działać bardzo szybko. To pozwala "rozwinąć skrzydła" programom, które są napisane elegancko i efektywnie obliczeniowo, czyli takim, jakie trzeba pisać na Olimpiadzie. Dzięki użyciu C++ będzie Ci łatwiej zrozumieć, jak działają programy, a szczególnie pojęcie złożoności obliczeniowej.

Oczywistym "rywalem" C++ w nauce dla początkujących jest język Python. To też doskonały język programowania – łatwy do pojęcia dla początkujących, o prostej strukturze, uniwersalny i popularny w wielu profesjonalnych zastosowaniach. Nie martw się jednak, jeśli nie poznasz go teraz: kiedy już zna się jeden język programowania, znacznie łatwiej uczyć się kolejnych. Jeśli będziesz sprawnie posługiwać się C++, opanujesz Pythona błyskawicznie.

Kto jest odpowiedzialny za ten kurs?

Aktualnie kursem opiekują się Lech Duraj oraz Tomasz Nowak. Autorami niektórych lekcji są również Jakub Radoszewski, Arkadiusz Czarkowski, Krzysztof Diks, Bartosz Szreder. Za stronę techniczną odpowiadają Mateusz Masiarz oraz Maciej Dziurzyński.

Też chcę coś napisać! / mam pomysł, jak to zrobić lepiej!

Jest kilka możliwości:

  • Zgłoś nam uwagę przez formularz kontaktowy.
  • Jeśli nie przeraża Cię GitHub i Markdown, możesz zaproponować edycję bezpośrednio poprzez Fork, a następnie Pull Request do repozytorium kurs-oi – takie poprawki zostaną rozpatrzone szybciej.