Opis predmeta
- Uvod v programski jezik C.
- Osnovni podatkovni tipi in osnovne kontrolne strukture.
- Razvoj programov in razhroščevanje.
- Kazalci in tabele (1. del).
- Kazalci in tabele (2. del).
- Funkcije in prenos argumentov.
- Dinamično dodeljevanje pomnilnika.
- Nizi.
- Vhodno-izhodne operacije.
- Strukture.
- Enostavni algoritmi urejanja.
- Rekurzija in algoritmi sestopanja (1. del).
- Rekurzija in algoritmi sestopanja (2. del).
- Predprocesor.
Cilji in kompetence
Cilj predmeta je razširiti znanje programiranja skozi študij bazičnih in naprednejših tehnik programiranja.
Splošne kompetence:
- Sposobnost kritičnega, analitičnega in sintetičnega razmišljanja
- Sposobnost razumevanja in reševanja strokovnih izzivov v računalništvu in informatiki
- Sposobnost uporabe pridobljenega znanja pri samostojnem reševanju tehničnih in znanstvenih problemov v računalništvu in informatiki; sposobnost razširjanja pridobljenega znanja
Predmetno-specifične kompetence:
- Osnovne veščine v računalništvu in informatiki – osnovne teoretične veščine, praktično znanje, bistvene veščine za področje računalništva in informatiki
- Osnovne veščine v računalništvu in informatiki, ki omogočajo nadaljevanje študija na drugi stopnji
Metode poučevanja in učenja
Predavanja, domače naloge, seminarski način dela pri vajah. Poseben poudarek je na sprotnem študiju in domačih nalogah.
Predvideni študijski rezultati
Po uspešnem zaključku tega predmeta bo študent:
- znal reševati zmerno težke programske naloge;
- sposoben pisati programe v programskem jeziku C;
- razumel nizko nivojsko programiranje;
- sposoben uporabljati rekurzijo za reševanje problemov;
- sposoben uporabljati kazalce za pisanje učinkovitih programov;
- sposoben uporabljati dinamično dodeljevanje in sproščanje pomnilnika;
- sposoben uporabljati rekurzivne podatkovne strukture;
- sposoben uporabljati sistemske klice v programskem jeziku C;
- sposoben pisati programe sestavljene iz več neodvisnih enot.
Reference nosilca
- SLIVNIK, Boštjan. On different LL and LR parsers used in LLLR parsing. Computer Languages, Systems & Structures, ISSN: 1477-8424, Dec. 2017, vol. 50, str. 108-126.
- SLIVNIK, Boštjan, VILFAN, Boštjan. Producing the left parse during bottom-up parsing. Information processing letters, ISSN 0020-0190, Dec. 2005, vol. 96, no. 6, str. 220-224.
- SLIVNIK, Boštjan. Measuring the complexity of domain-specific languages developed using MDD. Software quality journal, ISSN 0963-9314, Sep. 2016, vol. 24, no. 3, str. 737-75
- ROŽANC, Igor, SLIVNIK, Boštjan. Using reverse engineering to construct the platform independent model of a web application for student information systems. Computer Science and Information Systems, ISSN 1820-0214, 2013, vol. 10, no. 4, str. 1557-1583.
- POTOČNIK, Matic, ČIBEJ, Uroš, SLIVNIK, Boštjan. Linter – a tool for finding bugs and potential problems in Scala code. Proceedings of the 29th Annual ACM Symposium on Applied Computing, Gyeongju, Korea, March 24-28, 2014, str. 1615-1616.
Celotna bibliografija je dostopna na SICRISu:
Temeljni viri in literatura
- B. W. Kernighan, D. Ritchie: Programski jezik C, Fakulteta za računalništvo in informatiko, 1994.
- T. Dobravec: abC, Fakulteta za računalništvo in informatiko, 2010.
- A. Kavčič, M. Privošnik, C. Bohak, M. Marolt, S. Divjak: Programiranje in algoritmi skozi primere, Založba FE in FRI, 2010