| Subject name | Programming language C | 
| Details | CodeVSITE126
 Abbrev.CLANG
 ECTS5
 Year3
 SemesterWinter semester
 Typemajor elective
 NQF Level 6Bachelor study
 E-Learning 0%
 | 
| Activities | IT zg - Sum 25/26ECTS
 Units
 Hours
 Total
 T1
 15
 2
 30
 
 N0
 15
 1
 15
 
 L0
 15
 1
 15
 
 S0
 0
 0
 0
 
 PN0
 0
 0
 0
 
 PT0
 2
 2
 0
 
 PR0
 0
 0
 0
 
 EN0
 0
 0
 0
 
 ET0
 1
 2
 0
 
 AL3
 1
 90
 90
 
 | 
| Teachers | Leaders:  Mariza Maini, pred. Assistants:  Vatroslav Zuppa Bakša, pred.
 | 
| Prerequisits | None | 
| Content | Uvod u C jezik. Kodiranje i tipovi podataka. Pisanje programa. Ispravljanje programskih pogreški. Leksicka i sintakticka struktura C jezika: tipovi, varijable, izrazi, upravljanje tijekom programa, funkcije, doseg i vidljivost varijabli. Nizovi. Modularno programiranje i funkcionalna dekompozicija programa. Leksicki pretprocesor. Pokazivaci. Dinamicko dodjeljivanje memorije. Korisnicke strukture podataka. Rad s tekstualnim i binarnim datotekama. Standardne biblioteke. Pokazivači na funkcije. Stringovi. | 
| Learning objectives | Opći: Analiza postojećh i kreiranje vlastitih multiplatformskih programskih rješenja u programskom jeziku C.Posebni: Razvoj komandnolinijskih aplikacija u programskom jeziku C koristeći Visual Studio odnosno Eclipse razvojna okruženja. Korištenje C-ove standardne biblioteke funkcija. Mogućnost čitanja i razumijevanja tehničke dokumentacije bilo koje C programske biblioteke, te njeno korištenje u vlastitom projektu.
 | 
| Learning outcomes |  | 
| Competencies | Kolegij pruža napredna znanja s područja programiranja kao osnovu jezgre računarstva, te obučava polaznika za programiranje u programskom jeziku C i okruženju MS Visual Studio.NET | 
| Recommended Literature | Brain W. Kernighan: The C Programming Language (2nd Edition) | 
| Additional Literature | Peter Prinz: C in a Nutshell: The Definitive Reference 2nd Edition | 
| lectures (T) | Osnovi pojmovi kod programiranja, uvod u C, povijest jezika, prvi program (Hello world),osnovni ciklus u kodiranju, varijable, ključne riječiTipovi podataka, sinonimi tipova, printf/scanf, aritmetički operatori, operatori pridruživanja, naredbe grananja, blok naredbaPetlje (for, while, do-while), break, continue, switch naredbaFunkcije. Prototipovi funkcija.
Pokazivači (uključujući i pokazivač na pokazivač)Nizovi, adresna aritmetika. Višedimenzionalni nizovi.OperatoriKolokvijStandardne funckcije za dinamičku alokaciju memorijeStringovi (definicija + standardne funkcije).Strukture
Datoteke (tekstualni i binarni pristup).
Vidljivost i životni vijek varijabli, konstante, statičke varijable, standardne funkcije za rad s blokovima memorije
Pokazivači na funkcije
Kolokvij
 | 
| numeric exercises (N) | Uvod u Visual Studio, funkcionalnosti, debugiranjeTipovi podataka, sinonimi tipova, printf/scanf, aritmetički operatori, operatori pridruživanja, naredbe grananja, blok naredbaPetlje (for, while, do-while), break, continue, switch naredbaFunkcije. Prototipovi funkcija.Pokazivači (uključujući i pokazivač na pokazivač)Nizovi, adresna aritmetika. Višedimenzionalni nizovi.OperatoriPregled zadataka iz kolokvijaStandardne funckcije za dinamičku alokaciju memorijeStringovi (definicija + standardne funkcije).StruktureDatoteke (tekstualni i binarni pristup).Vidljivost i životni vijek varijabli, konstante, statičke varijable, standardne funkcije za rad s blokovima memorijePokazivači na funkcijePregled zadataka iz kolokvija
 | 
| laboratory exercises (L) | Upoznavanje sa razvojnim okruženjem (Visual Studio), kreiranje projekata, pisanje, prevođenje i testiranje C programa, printf, scanf, if naredbaPetlje: while, for i do. Funkcije.Nizovi i pointeri.Operatori, dinamička alokacija
Stringovi, strukture
Datoteke, funkcije za rad s datotekama
Not definedNot definedNot definedNot definedNot definedNot definedNot definedNot definedNot defined
 | 
| preliminary exam - theory (PT) | Pismeni ispit, analiza i rješavanje zadataka, dva školska sata.
Gradivo: printf, scanf,  if naredba, petlje, break, continue, switch, funkcije, prototipovi funkcija, pokazivači, nizovi, adresna aritmetika.
Od maksimalnih 100, za prolaz je potrebno imati 50 bodovaPismeni ispit, analiza i rješavanje zadataka, dva školska sata.
Gradivo: operatori, standardne funkcije za alokaciju memorije, stringovi, strukture, datoteke, standardne funkcije za rad s blokovima memorije, sinonimi tipova, vidljivost i životni vijek varijabli, pokazivači na funkcije
Od maksimalnih 100, za prolaz je potrebno imati 50 bodova.
Ukupna ocjena se računa na osnovu prosjeka bodova sa oba kolokvija.
 | 
| exam - theory (ET) | Ljetni ispitni rokovi: odvojeno polaganje prvog i drugog dijela gradiva ("ispravak kolokvija")
Jesenski ispitni rokovi: cijelo gradivo bez obzira na rezultat kolokvija, samo pismeni dio ispita.
 | 
| autonomus learning (AL) | Testovi i kolokviji, konzultacije, samostalni rad u laboratoriju i samostalno učenje
 |