Kurs Python and Programming Fundamentals

Kurs objašnjava elementarne koncepte programiranja, načine na koje se programi kreiraju i koriste, kao i koncepte njihovog pisanja, prevođenja i interpretacije. Tokom njegovog praćenja saznaje se kako funkcionišu programi na računaru, zašto su nam potrebni i kako ih možemo stvoriti. Proučavaju se standardne programske strukture i elementi poput tipova podataka, različitih operatora za manipulaciju tim tipovima, razne strukture kojima je tok programa moguće usmeriti u željenom pravcu, kao i strukture za skladištenje podataka u memoriji. Sve ovo kroz programski jezik Python.

Kroz kurs se saznaje i gde je sve moguće upotrebljavati ovaj programski jezik i na koji način, kako se kreira Python projekat, preuzimaju i učitavaju Python biblioteke, vrši kolaboracija i verzionisanje i program distribuira korisnicima ili postavlja na produkciono okruženje, upoznaje se sa pojmom integrisanog okruženja za programiranje i njegovom upotrebom. 

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Python Development Program.

Opis i ciljevi kursa Python and Programming Fundamentals

Cilj kursa je upoznavanje polaznika sa tehnikama i logikom programiranja. Nakon usvojenog gradiva, on će biti u stanju da samostalno kreira programe pomoću programskog jezika Python, kao i da ih startuje i distribuira. Moći će da razume terminologiju programiranja, te da prepozna i samostalno upotrebljava različite sintaksne i logičke šablone u sopstvenim aplikacijama.

Nakon odslušanog kursa, polaznik će moći da objasni koncept promenljivih, operatora, struktura za kontrolu toka programa, nizova, petlji i funkcija.

Osim generalnih veština programiranja, tokom kursa polaznik se upoznaje sa osobenostima programskog jezika Python, njegovom specifičnom sintaksom i pravilima, pa će, nakon što ga odsluša i usvoji prezentovano gradivo, moći da identifikuje programe napisane u ovom jeziku, prepoznajući njegove sintaksne komponente.

Polaznik će tokom praćenja kursa saznati koje sve kategorije postoje i kako funkcionišu različiti programi koje koristimo svakodnevno, kako se pomoću programa kontrolišu uređaji, na koji način se kreiraju računarske igre, šta su to serverski, a šta klijentski programi.

Kurs Python and Programming Fundamentals će vam odgovoriti na pitanja:

1. Šta je to Python?

Python je programski jezik. Programski jezik je poseban jezik pomoću koga dajemo instrukcije računaru. Računar razume samo jedan jezik – mašinski, pa se zbog toga većina programskih jezika prevodi u mašinski jezik. A jedan od takvih jezika jeste i Python. Ali Python nije pojam koji ukazuje samo na programski jezik već i na implementaciju, odnosno platformu koja se njime bavi.

Ova platforma prevodi Python program u neki drugi jezik ili ga momentalno izvršava. Tako se Python može naći gotovo svugde, i to u najrazličitijim kontekstima. Česta manifestacija Pythona jeste izvršavanje u konzolnom okruženju, gde se istovremeno prevodi i izvršava. Takođe, vrlo često se Python sreće kao pomoćni (skript) jezik u kompleksnijim programima i aplikacijama.

2. Da li je teško programirati u Pythonu?

Python je jedan od najlakših jezika za učenje i korišćenje, zbog čega se njegova sintaksa savladava i usvaja veoma brzo. Ali ni drugi programski jezici nisu mnogo teži. I svaki ima svoje lakše i teže delove, kao i svoje prednosti i mane. Zbog toga pitanje da li je teško programirati u nekom jeziku zapravo zavisi od onoga što programiranjem želimo da postignemo. Ponekad programi mogu biti trivijalni, sa minimalnim zahtevima i izlaznim kriterijumima. I njihova proizvodnja nije komplikovana. Nekad, sa druge strane, programski zahtevi nisu tako jednostavni, što i samu proizvodnju, koja u slučaju Pythona pretpostavlja programiranje, čini nešto težom.

3. Šta je potrebno za pisanje Python aplikacija?

Za pisanje Python aplikacija potrebno je, pre svega, znati Python. Svi ostali zahtevi zavise od toga kakvu vrstu programa želimo da proizvedemo sa Pythonom. Python programi se čuvaju u tekstualnom obliku, pa je u najvećem broju slučajeva za proizvodnju programa dovoljan program za kreiranje i ažuriranje teksta. Postoje i okruženja kompleksnija od tekst editora, namenjena specijalno programiranju u Pythonu, pa je pravljenje Python programa pomoću njih daleko jednostavnije i intuitivnije.

Za izvršavanje Python programa treba nam program koji može da prevede Python kod i izvrši ga. Ovakvi programi nazivaju se interpreteri. Interpreteri se mogu naći u vidu samostalne aplikacije ili kao deo nekog postojećeg programa ili biblioteke. Ali s obzirom na to da se Python najčešće koristi za sistemske i servisne aplikacije, koje podrazumevaju upotrebu samostalnog Python interpretera, možemo reći da nam za pisanje i startovanje Python aplikacija trebaju: poznavanje ovog jezika, tekst editor i Python interpreter.

Polaznici kursa Python and Programming Fundamentals

4. Gde sve mogu koristiti Python programe?

Python programi se mogu koristiti na različitim platformama i u različitim kontekstima sve dok platforma ima mogućnost startovanja Python programa, odnosno dok poseduje Python interpreter. Python interpreter postoji u verzijama za sve poznate operativne sisteme, pa se zbog toga može reći da je gotovo platformski nezavisan. Programi napisani na jednoj platformi u velikom procentu rade i na svim ostalim platformama sve dok se unutar programa ne koriste biblioteke koje su platformski specifične. Ukoliko se u obzir uzmu i egzotičniji vidovi upotrebe poput prevođenja Python programa u JavaScript, C ili čak Asembler, može se reći da je Python moguće koristiti bilo gde.

5. Da li mi treba matematika za bavljenje Pythonom?

Nije potrebno znati matematiku da bi se savladao neki programski jezik ili da bi se programiralo. Ipak, dosta problema u programima jesu logičke i često matematičke prirode, pa nije nemoguće da nam matematika „zatreba”. Svakako, nivo upotrebe matematike u programu zavisi najviše od koncepta samog programa i oblasti koju on obrađuje.

6. Koje su dobre, a koje loše osobine Pythona?

Svaki programski jezik ima dobre i loše osobine, pa ni Python nije izuzetak. Ali ako se uzme u obzir da su ukusi različiti, te da neko smatra nešto dobrim, dok neko drugi to isto smatra lošim, na ovo pitanje nije moguće tako lako odgovoriti. Ukoliko ipak uzmemo tradicionalne kvalifikatore, možemo reći da se Python veoma lako uči, lako primenjuje i implementira, radi na gotovo svim platformama, odlično plaća, ima izuzetnu podršku zajednice, te da su sve to njegove dobre osobine. Loše osobine Python deli sa većinom drugih interpretiranih jezika – slabije performanse i manje efikasna upotreba memorije od prevedenih jezika. 

7. Da li je Python besplatan i da li je podržan od strane zajednice?

Kada govorimo o tome da li je neki jezik besplatan, zapravo ne mislimo na sam jezik, već na programe za njegovo prevođenje ili interpretaciju. U tom smislu, sve ili gotovo sve Python implementacije jesu besplatne za korišćenje. Takođe, osim što je besplatna za korišćenje, Python platforma je i Open Source, što znači da je možemo modifikovati prema sopstvenim potrebama. U svemu tome može nam pomoći zajednica, čiju ogromnu podršku Python ima. Male su šanse da, ukoliko ste početnik ili čak iskusniji Python developer, unutar nje ne pronađete odgovor na neko pitanje ili rešenje za aktuelni Python problem.

Plan i program predavanja:

1. Uvod u Python programiranje

  • Uvod u programiranje
  • Uvod u programski jezik Python
  • Instalacija Python okruženja i priprema za rad
  • Kreiranje i startovanje Python programa
  • Alati za kolaboraciju

2. Osnove Python programiranja

  • Pravila kodiranja i sintaksa programskog jezika Python
  • Tipovi podataka
  • Promenljive
  • Operatori

3. Kontrola toka programa

  • Strukture za kontrolu toka
  • Rad sa petljama

4. Kolekcije i strukture podataka

  • Sekvence i liste
  • Višedimenzionalne liste podataka
  • Gomile i redovi
  • Tuple, skupovi i sekvence i rečnici

5. Proceduralno programiranje

  • Pojam i definicija funkcije
  • Parametrizacija funkcija
  • Lambda izrazi
  • Dekoratori
  • Generatori

6. Prostori imena i opsezi

  • Opsezi i prostori imena
  • Rukovanje modulima
  • Rad sa fajl sistemom

Python and Programming Fundamentals