Opis predmeta
Predmet je logično nadaljevanje predmeta Osnove programiranja, čeprav ga je mogoče poslušati tudi neodvisno od Osnov programiranja. Razdeljen je na tri osnovne sklope:
-Uvod v jezik C s poudarkom na razlike med jezikoma C in JavaScript:
-skriptni jeziki in prevajalniki
-operacijski sistemi
-operatorji
-podatkovni tipi
-objekti in spremenljivke
-Programski jezik C:
-podatkovne strukture
-programske tehnike
-nižjenivojske operacije
-Učni sistem Arduino:
-osnove vgrajenih sistemov
-priklop in krmiljenje perifernih naprav
-večopravilni sistemi in sistemi v realnem času
-osnovni mehanizem prekinitev
Cilji in kompetence
Študenti bodo osvojili osnovno znanje programskega jezika C. Spoznali bodo osnovne principe delovanja mikrokrmilnikov, priključevanja naprav ter osnovnih načel sistemov v realnem času
Metode poučevanja in učenja
Predavanja, praktični prikazi, laboratorijske vaje, individualno delo z zahtevnejšimi študenti, uporaba spletnih tehnologij, domače naloge
Predvideni študijski rezultati
Po uspešno opravljenem modulu naj bi bili študenti zmožni:
-našteti in opisati osnovne komponente mikroračunalniškega sistema
-razložiti pomen in način delovanja osnovnih računalniških komponent
-pojasniti moteče fizikalne pojave, ki jih lahko obvladamo s programskimi rešitvemi
-prepoznati izzive, ki jih prinašajo vgrajeni sistemi, večopravilni sistemi in sistemi, ki delujejo v realnem času
-razviti preprost vgrajen sistem
-ovrednotiti pomen časovne in pomnilniške učinkovitosti programske rešitve
-zgraditi zanesljiv sistem, ki deluje v realnem času
-oceniti učinkovitost konkretne rešitve z vidika porabe sredstev, končne cene, pravilnosti, in zanesljivosti delovanja, ter možnosti vzdrževanja in nadgradnje
Reference nosilca
- KUNAVER, Matevž, BÜRMEN, Arpad, FAJFAR, Iztok. Automatic grammatical evolution-based optimization of matrix factorization algorithm, Mathematics. Apr.-1 2022, iss. 7, 1139, str. 1-22
- ŽIC, Mark, SUBOTIĆ, Vanja, PEREVERZYEV, Sergei, FAJFAR, Iztok. Solving CNLS problems using Levenberg-Marquardt algorithm : a new fitting strategy combining limits and a symbolic Jacobian matrix. Journal of electroanalytical chemistry. 1 Jun. 2020, vol. 866, 114171, str. 1-9
- BÜRMEN, Arpad, TUMA, Tadej, FAJFAR, Iztok. Meta-optimisation on a high-performance computing system. Elektrotehniški vestnik, ISSN 2232-3228. [English print ed.], 2012, vol. 79, no. 5, str. 231-236
- FAJFAR, Iztok, TUMA, Tadej, PUHAN, Janez, OLENŠEK, Jernej, BÜRMEN, Arpad. Towards smaller populations in differential evolution = K manjšim populacijam v diferencialni evoluciji. Informacije MIDEM, ISSN 0352-9045, sep. 2012, letn. 42, št. 3, str. 152-163
- FAJFAR, Iztok, PUHAN, Janez, TOMAŽIČ, Sašo, BÜRMEN, Arpad. On selection in differential evolution. Elektrotehniški vestnik, ISSN 2232-3228. [English print ed.], 2011, vol. 78, no. 5, str. 275-280
- PUHAN, Janez, BÜRMEN, Arpad, TUMA, Tadej, FAJFAR, Iztok. Teaching assembly and C language concurrently. International journal of electrical engineering education, ISSN 0020-7209, Apr. 2010, vol. 47, no. 2, str. 120-131
Temeljni viri in literatura
1. I. Fajfar, J. Olenšek: Osvojimo C – C89, C99 in primeri programiranja mikrokrmilnikov, Založba FE, 2020
2. S. G. Kochan: Programming in C (4th Edition), 2014
3. K. N. King: C Programming – A Modern Approach, 2008
4. H. Schildt: Teach Yourself C, McGraw-Hill, 1997
5. R. P. Halpern: C for Yourself: Learning C Using Experiments, Oxford University Press, 1997
5. How C Programming Works (www.howstuffworks.com)
6. Spletna stran, www.cprogramming.com