C: Napredni nivo
Od rada sa nizovima do razumevanja memorije i složenih podataka

O ovom programu
C programski jezik omogućava programerima da razumeju rad sa podacima, memorijom i programskim strukturama na znatno dubljem nivou nego većina savremenih jezika visokog nivoa. Ovaj kurs je namenjen polaznicima koji su savladali osnove programskog jezika C i žele da svoje znanje podignu na viši nivo kroz rad sa složenijim strukturama podataka i važnim konceptima koji predstavljaju temelj ozbiljnog C programiranja. Kurs počinje radom sa jednodimenzionalnim i dvodimenzionalnim nizovima, kroz koje polaznici uče kako da organizuju, pretražuju i obrađuju veći broj podataka. Poseban akcenat stavljen je na implementaciju osnovnih algoritama pretraživanja i sortiranja, kao i na praktičnu obradu vektora i matrica. Nakon toga polaznici prelaze na jedan od najvažnijih delova C jezika — pokazivače i memoriju. Uče kako se definišu i koriste pokazivači, kako funkcioniše adresna aritmetika i na koji način se memorija dinamički dodeljuje tokom izvršavanja programa. Znanje pokazivača povezuju sa radom sa stringovima, upoznajući deklaraciju i inicijalizaciju stringova, unos i ispis, kao i osnovne funkcije za obradu znakova i stringova i njihovu primenu unutar funkcija. U završnom delu kursa polaznici uče kako da podatke trajno čuvaju pomoću datoteka, razumeju različite režime otvaranja i koriste osnovne funkcije za čitanje i upis podataka, uključujući fgetc() i fputc(), kao i relativne i apsolutne putanje. Kurs se završava radom sa strukturama, kroz koje polaznici uče kako da više povezanih podataka organizuju u složene logičke celine. Stečeno znanje objedinjuju kroz praktične zadatke i složenije programske probleme, čime stiču čvrstu osnovu za dalje učenje struktura podataka, algoritama i naprednog programiranja.
Tehnologije i alati koje savladavamo
Detaljan plan i program
Nedelje 1-4Nizovi, algoritmi pretrage i sortiranja
Nizovi, algoritmi pretrage i sortiranja
U prvom modulu polaznici prelaze sa osnovnih programskih konstrukcija na organizaciju i obradu većeg broja podataka. Detaljno se obrađuju jednodimenzionalni nizovi odnosno vektori, njihova eksplicitna inicijalizacija, indeksi i načini za upis i ispis elemenata. Polaznici kroz praktične zadatke uče kako da analiziraju sadržaj niza i implementiraju linearno pretraživanje. Poseban deo modula posvećen je osnovnim algoritmima sortiranja, uključujući selection sort i bubble sort, pri čemu polaznici razumeju logiku rada algoritma i način njegove implementacije u C jeziku. Obrađuju se i operacije left shift i right shift, a kroz kombinovanje nizova, funkcija i petlji rešavaju se složeniji algoritamski problemi.
Fokus i alati:
Nedelje 5-8Matrice, pokazivači i adresna aritmetika
Matrice, pokazivači i adresna aritmetika
U drugom modulu polaznici prelaze na dvodimenzionalne nizove odnosno matrice i uče kako se podaci organizuju u redove i kolone. Obrađuju se inicijalizacija dvodimenzionalnih nizova i pristup pojedinačnim elementima, uz rešavanje problemskih zadataka koji zahtevaju obradu redova, kolona i kompletnih matrica. Nakon rada sa matricama uvode se pokazivači kao jedan od ključnih koncepata programskog jezika C. Polaznici uče kako se pokazivač definiše, kako se povezuje sa promenljivom i memorijskom adresom i kako funkcioniše adresna aritmetika. Kroz praktične primere povezuju pokazivače sa nizovima i funkcijama i stvaraju osnovu za razumevanje dinamičkog upravljanja memorijom.
Fokus i alati:
Nedelje 9-12Dinamička memorija i rad sa stringovima
Dinamička memorija i rad sa stringovima
Treći modul predstavlja jedan od najvažnijih koraka u prelasku na naprednije C programiranje. Polaznici produbljuju razumevanje pokazivača i upoznaju dinamičku dodelu memorije, učeći kako program tokom izvršavanja može da zahteva i koristi memorijski prostor prema potrebi. Kroz praktične zadatke povezuju dinamičku memoriju sa nizovima i funkcijama i uče da razmišljaju o životnom ciklusu podataka i memorijskih resursa. Nakon toga prelaze na stringove, njihovu deklaraciju i inicijalizaciju, unos i ispis i osnovne funkcije za rad sa znakovima i tekstualnim podacima. Poseban fokus stavljen je na povezivanje stringova sa funkcijama, kako bi polaznici mogli da grade složenija rešenja za obradu tekstualnih podataka.
Fokus i alati:
Nedelje 13-16Datoteke, strukture i složena organizacija podataka
Datoteke, strukture i složena organizacija podataka
U završnom modulu polaznici uče kako da podatke iz svojih programa trajno čuvaju i ponovo koriste pomoću datoteka. Upoznaju definiciju i podelu datoteka, različite režime njihovog otvaranja i osnovne funkcije za rad sa datotekama. Posebna pažnja posvećena je funkcijama fgetc() i fputc(), kao i razumevanju razlike između relativne i apsolutne putanje. Nakon toga uvode se strukture kao način organizovanja više međusobno povezanih podataka u jednu logičku celinu. Kroz praktične zadatke polaznici povezuju strukture sa nizovima, stringovima, funkcijama i datotekama i uče da grade složenija programska rešenja. U završnom delu kursa objedinjuju sve naučene koncepte kroz kompleksnije problemske zadatke i praktičan projekat, čime razvijaju sposobnost samostalnog projektovanja i implementacije C programa.
Fokus i alati:
Osnovne informacije
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