Algoritmi 2

Rješavanje problemskih zadataka za napredne osnovnoškolce

Učenik si viših razreda osnovne škole, svladao si početne algoritme (Algoritmi 1) te želiš nadograditi svoja znanja? Zanimaju te složeni matematički algoritmi te napredne tehnike programiranja? Iznimno si dobar u matematici i privlači te računalno razmišljanje? Želiš se natjecati kako bi utvrdio koliko si dobar te kako bi svoja znanja unaprijedio? Želiš biti jedan od najboljih programera današnjice?

Ti si prava osoba za tečaj ALGORITMI 2!

Jedno od najatraktivnijih i najtraženijih zanimanja današnjice je programer. Iznimno je velika potražnja za programerima diljem države, a posebice u najnaprednijim državama svijeta. Predviđa se da će ta potražnja u budućnosti još veća. Poznato je da su primanja programera iznadprosječna. Dakako, to je samo jedan od razloga da postaneš vrsni programer. A kako bi bio jedan od najboljih programera, potrebno je svladati što prestižnije matematičke algoritme u rješavanju problemskih zadataka koje ćeš naučiti na ovome tečaju. Osim toga, učiti ćeš programirati u najprestižnijem programskom alatu PyCharm u jednom od najpopularnijih programskih jezika današnjice – Pythonu, koji koriste profesionalci. Imaš li afiniteta za C++ jezik, onda ćeš programirati u CodeBlocks alatu, a kojeg koriste najbolji algoritmaši. Jesi li znao da se Python jezik koristi kod programiranja Umjetne inteligencije?

Od tebe se traži da budeš uporan, da redovito vježbaš, da uživaš u istraživanju, kritičkom razmišljanju, da imaš mnogo pitanja i još više ideja. Sve zajedno, biti će zabavno, a ujedno ćeš postati natprosječno izvrstan.

Što su to napredni računalni algoritmi?

Sada kad već znaš osnovne algoritme i upotrebljavati većinu naredbi u programskom jeziku, moraš naučiti još tehnike rada s matricama, metode pretraživanja podataka, dinamičko programiranje, teoriju grafova… Sve zajedno, ona znanja koja će te već sada izdvojiti kao jednog od najboljih programera i stvoriti preduvjete da napreduješ ka slijedećoj „ljestvici“. Da li je to teško? Da. No, ako si spreman redovito vježbati za tebe će to biti izazov i užitak.

Za koga su namijenjeni Algoritmi 2?

Algoritmi 2 je tečaj u kojem djeca kreću učiti rješavati napredne problemske zadatke čija rješenja se sastoje od matematičkih i analitičko-logičkih instrukcija (naredbi). Programira se (uglavnom) u Python te C++ programskom jeziku.

Ciljna skupina su učenici od 6. razreda osnovne škole, a koji su uspješno svladali tečaj Algoritmi 1. Razumljivo, preduvjet je da je učenik jako dobar u matematici. Svakako, prihvaćamo i iznimke.

Djeca će kroz tečaj naučiti osmišljavati složene algoritme u rješavanju problemskih zadataka. Kombinacijom postojećih i osmišljavanjem novih naprednih algoritama djecu se vodi u koncipiranju modela za izradu efikasnih rješenja. Posebna pažnja vodi se razvoju kritičkog promišljanja, analizi problema i mogućih rješenja. Programski jezik koristi se kako bi se „sposobnost“ računala iskoristila za dobivanje rješenja.

Što čini ovaj program posebnim?

Naslovljeni tečaj temelji se na razvoju izvrsnosti u djece na polju računalnog razmišljanja s naglaskom na primjenu računalnih algoritama. Kroz tečaj će djeca upoznati jedan od trenutno najpopularnijih svjetskih programskih jezika – Python, kao i C++. Upoznat će se sa sučeljem najmodernijeg razvojnog alata PyCharm te naučiti kako se naredbama stvaraju napredni računalni programi. Učenje se provodi kroz primjere, bez faktografije. Učenici će naučiti koristiti programski jezik u rješavanju složenijih problemskih zadataka, prije svega učeći stvarati efikasne algoritme u rješavaju zadanih problema. Kroz tečaj ćemo djecu naučiti razmišljati, rješavati probleme, poticati kreativnost te prije svega, razvijati izvrsnost.

Ishodi tečaja:

  • razumjeti napredne pojmove o algoritmu i njegovom stvaranju
  • upoznati se s razvojnim sučeljem PyCharm i/ili CodeBlocks alata
  • usvojiti napredne naredbe Python jezika:
    • 1d i 2D matrice (liste i vektori)
    • Složene tipove podataka
    • Matematičke operacije s matricama
    • Rad s funkcijama – modeliranja programa
    • rekurzije
    • binarno pretraživanje
    • dinamičko programiranje
    • osnove teorije grafova (BFS, DFS…)
    • osnove objektno orijentiranog programirnaja (OOP)
    • Dodatak: Izrada web aplikacija u Python Flask „framework-u“
      • Rad s rutama, pogledima, modelima
      • Web serveri, metode komunikacije, pojam virtualnih okruženja…
    • dizajnirati algoritam i izabrati optimalne tipove i strukture podataka u rješavanju naprednih problema
    • modulirati programski kod izradom vlastitih funkcija
    • prezentirati i argumentirati svoje stavove, ideje i rješenja
    • razvijati kritičko razmišljanje, kreativnost i snalažljivost u rješavanju problema
    • razvijati vještinu matematičko-logičkog razmišljanja
    • povezati matematiku i informatiku s ostalim prirodnim predmetima
    • upoznati mogućnosti i granice primjene računala u rješavanju problema

Učenike će se, prema njihovoj spremnosti i podršci roditelja, pripremiti za sudjelovanja na informatičkim natjecanjima u primjeni algoritama (Hrvatsko otvoreno natjecanje u informatici – HONI i Državnom natjecanju iz informatike – Infokup).

Planiran je godišnji fond od 60 školskih sati, a tjedni ritam predavanja od 2 školska sata.

Svaki učenik je obvezan učlaniti se u udrugu Mladi informatičari Strahoninca (MIS) te time dobiva e-mail adresu te online pristup sustavu kroz koji će imati dodatne materijale i vrhunsku komunikacijsku i edukativnu platformu.