STEAM INVENT LogoSTEAM INVENT
Softversko inženjerstvoSrednji nivo

Python: Srednji nivo

Od objektno-orijentisanog programiranja do izrade složenijih aplikacija

Python: Srednji nivo

O ovom programu

Nakon savladavanja Python osnova, polaznici na ovom kursu prelaze na viši nivo programiranja i uče kako da svoje programe organizuju kao složene, pregledne i funkcionalne sisteme. Glavni fokus kursa je objektno-orijentisano programiranje kroz koje učenici upoznaju klase, objekte, atribute, metode, enkapsulaciju, nasleđivanje, polimorfizam i kompoziciju. Kroz praktične projekte uče kako više klasa može da sarađuje u jednoj aplikaciji, kako da program učine otpornijim na greške, sačuvaju podatke i organizuju kod kroz više modula. Kurs predstavlja prirodan nastavak našeg Python osnovnog nivoa i priprema polaznike za naprednije programiranje, razvoj kompleksnijih aplikacija i rad na samostalnim projektima.

Tehnologije i alati koje savladavamo

PythonVS CodeOOPRad sa fajlovimaJSON

Detaljan plan i program

Nedelje 1-4

Od Python osnova do objektno-orijentisanog programiranja

U prvom mesecu polaznici obnavljaju i produbljuju znanje Pythona, a zatim upoznaju potpuno novi način razmišljanja o organizaciji programa. Kroz poređenje proceduralnog i objektno-orijentisanog pristupa uče šta su klase i objekti, kako se modeluju podaci i ponašanje i kako se pomoću atributa, konstruktora i metoda kreiraju sopstveni objekti. Kroz praktične primere polaznici postepeno prelaze sa pisanja pojedinačnih funkcija na projektovanje programa sastavljenih od jasno definisanih objekata.

Fokus i alati:
Objektno-orijentisano programiranjeKlase i objektiAtributi__init__ i selfMetodeModelovanje problema
Nedelje 5-8

Napredni rad sa klasama i objektima

U drugom mesecu polaznici produbljuju rad sa klasama i uče kako da kontrolišu stanje i odgovornosti svojih objekata. Obrađuju instance i class atribute, enkapsulaciju, svojstva i različite vrste metoda, a zatim povezuju više klasa u funkcionalne sisteme. Naučeno primenjuju kroz izradu objektno-orijentisane aplikacije, čime razvijaju sposobnost da realne probleme predstave kroz više međusobno povezanih objekata i odgovornosti.

Fokus i alati:
Instance i class atributiEnkapsulacija@propertyClassmethod i StaticmethodDizajn klasaSaradnja objekata
Nedelje 9-12

Nasleđivanje, polimorfizam i kompozicija

Treći mesec predstavlja centralni deo OOP-a. Polaznici uče kako da postojeće klase proširuju i ponovo koriste kroz nasleđivanje, kako funkcionišu redefinisane metode i super(), kao i kako polimorfizam omogućava različito ponašanje objekata kroz zajednički interfejs. Posebnu pažnju posvećujemo kompoziciji i izboru odgovarajućeg odnosa između klasa, kako bi učenici naučili da ne koriste nasleđivanje tamo gde je prirodnije povezivanje objekata. Kroz razvoj složenijih sistema povezuju više OOP koncepata u jednu celinu.

Fokus i alati:
Nasleđivanjesuper()OverridingPolimorfizamKompozicijaProjektovanje sistema
Nedelje 13-16

Robusne aplikacije, rad sa podacima i završni projekat

U završnom mesecu polaznici uče kako da svoje aplikacije učine pouzdanijim i spremnim za realnu upotrebu. Obrađuju izuzetke i kontrolu grešaka, rad sa fajlovima i JSON formatom, kao i organizaciju programa kroz module. Stečeno znanje objedinjuju kroz završni objektno-orijentisani projekat u kome samostalno planiraju strukturu aplikacije, definišu klase i njihove odgovornosti, povezuju više objekata, čuvaju podatke i testiraju funkcionalnost programa. Kurs se završava prezentacijom projekta i code review-om, kroz koji polaznici uče da obrazlože svoje programske odluke i unaprede kvalitet sopstvenog koda.

Fokus i alati:
ExceptionsTry / ExceptRad sa fajlovimaJSONModularnostZavršni OOP projekat

Osnovne informacije

Trajanje programa:4 meseca (32 časa)
Nivo složenosti:Srednji
Lokacija nastave:STEAM INVENT

Zainteresovani ste za ovaj program?

Broj mesta u grupama je ograničen kako bismo obezbedili maksimalan kvalitet mentorskog rada i posvećenost svakom polazniku.

Kontaktirajte nas za upis