Opis predmeta
Predmet najprej obravnava osnovne pojme računalnikov in računalniškega programiranja. V nadaljevanju se osredotoča na konkretni programski jezik JavaScript, ob katerem se študent sreča s principi načrtovanja podatkov in algoritmov, kodiranja ter preizkušanja izdelanih programov. Predmet je razdeljen na naslednja poglavja:
-Uvod:
-splošni principi programskih jezikov
-načrtovanje, gradnja in preizkušanje programske opreme
-Načrtovanje algoritmov:
-diagram poteka
-simbolni jezik
-načrtovanje z vrha navzdol
-deli in vladaj
-povratno sledenje
-Programiranje z jezikom JavaScript:
-spremenljivke
-krmilni stavki
-funkcije
-objekti
-dogodki
-preizkušanje in razhroščevanje
Predmet učimo na programih
Elektrotehnika 1. stopnja
Cilji in kompetence
Študenti bodo obvladali osnove algoritemskega in sistemskega načina reševanja problemov. Naučili se bodo veščin računalniškega programiranja in preizkušanja programskih rešitev.
Snov je zasnovana tako, da predstavlja podlago za učenje programskega jezika C.
Metode poučevanja in učenja
Predavanja, praktični prikazi, laboratorijske vaje, individualno delo z zahtevnejšimi študenti, domače naloge
Predvideni študijski rezultati
Po uspešno opravljenem predmetu naj bi bili študenti zmožni:
-prepoznati različne komponente računalniškega programa
-pojasniti vpliv strukturiranja podatkov na kompleksnost programske kode
-izluščiti algoritem in identificirati podatke iz programa, zapisanega v konkretnem računalniškem jeziku
-razviti preprost algoritem na podlagi seznama matematičnih zahtev ter ga implementirati v konkretnem računalniškem jeziku
-ovrednotiti algoritemsko učinkovitost podanega algoritma
-zgraditi preprosto aplikacijo na podlagi podanih zahtev
-presoditi, kako učinkovita je konkretna rešitev z vidika porabe sredstev, pravilnosti, in zanesljivosti delovanja, prijaznosti do uporabnika, 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: Algoritmi in podatkovne strukture – Uvod za inženirje, Založba FE, 2020
2. I. Fajfar: Start Programming Using HTML, CSS, and JavaScript, CRC Press, 2016
3. Spletna stran W3 Schools (www.w3schools.com)
4. Mozilla Developer Network (developer.mozilla.org)
5. John Pollock: JavaScript: A Beginner's Guide, Osborne McGraw-Hill, 2009