Programiranje 1

2022/2023
Program:
Visokošolski strokovni študijski program 1. stopnje Praktična matematika
Letnik:
1 letnik
Semester:
prvi in drugi
Vrsta:
obvezni
ECTS:
9
Jezik:
slovenski
Ure na teden – 1. semester:
Predavanja
2
Seminar
0
Vaje
0
Laboratorij
2
Ure na teden – 2. semester:
Predavanja
1
Seminar
1
Vaje
0
Laboratorij
2
Vsebina

Osnove programskih jezikov:Proces od problema do programa za izvajanje na računalniku. Pojem algoritma.izpisovanje, branje podatkov preko tipkovnice, spremenljivke, osnovni in številski tipi, aritmetika, pogojni stavki, zankeOsnovne podatkovne strukture:tabele, seznami, nabori, nizi, slovarji, množice, datoteke
Zgradba programa:podprogrami, funkcije, dokumentacija, uporaba programskih knjižnic
Osnovni programerski postopki: rekurzija, bisekcija, iskanje najmanjšega elementa ... Vpogled v dogodkovno programiranje in programski jeziki na osnovi »logo kock«

Temeljni literatura in viri

Priročniki in učbeniki za programske jezike, ki jih študenti spoznajo.
Spletne strani in tečaji (Coursera, Udacity, Edx ...) za učenje programskega jezika, izbor je vsakoletno osvežen na spletni strani predmeta.
Zapiski s predavanj, gradivo za vaje in ostalo gradivo v spletni učilnici predmeta.
Zaradi hitrega razvoja informacijskih tehnologij se literatura in viri redno prilagajajo razvoju programskih jezikov in didaktike poučevanja le teh. Konkretni naslovi, ki bi jih navedli, bi bili v času izvajanja že zastareli.
Manuals and textbooks for programming languages.
Web sites and courses (Coursera, Udacity, Edx...), selection is annually refreshed on the Web site of the subject.
Notes from lectures, tutorials and other resources in the online classroom.
References and resources are refreshed regularly to address the development of programming languages and the didactics of teaching. Specific resources listed would have been at the time of the implementation already obsolete.

Cilji in kompetence

Cilj predmeta je spoznati osnove algoritmičnega razmišljanja in kodiranja v primerno izbranem programskem jeziku.
Študenti bodo spoznali in usvojili osnovne tehnike programiranja. Enostavne konkretne naloge bodo sposobni rešiti s pomočjo računalniškega programa. Osnovne tehnike programiranja bodo nadgradili z modularnim pristopom in uporabo zahtevnejših tehnik razvoja programov. S pomočjo računalniškega programa bodo sposobni reševanja težjih sestavljenih nalog.

Predvideni študijski rezultati

Znanje in razumevanje: Študenti pridobijo znanje iz osnovnih programskih konstruktov (spremenljivke, stavki, zanke, podprogrami ...) in njihova učinkovita uporaba za reševanje manjših programerskih problemov.
Analiza problema, uporaba ustreznih programerskih prijemov,
Uporaba:
Sposobnost algoritmičnega pristopa k reševanju problemov. Reševanje matematičnih in drugih problemov z računalnikom, predvsem kadar je treba za rešitev problema sestaviti program. Sposobnost branja in pisanja dokumentacije.
Refleksija: Sposobnost programiranja omogoča uporabniku višji nivo nadzora nad računalnikom in mu omogoča reševanje problemov, ki jih z običajnimi aplikacijami ne more rešiti. Poznavanje osnov programiranja omogoča algoritmični pristop k reševanju poljubnih problemov. Študent spozna pomembnost uporabe knjižnic programov in ustrezne dokumentacije programske kode.
Prenosljive spretnosti – niso vezane le na en predmet:
Programerske sposobnosti študent uporabi pri ostalih računalniških in numeričnih predmetih, sam način pristopa k problemu pa tudi pri ostalih predmetih.

Metode poučevanja in učenja

predavanja, vaje, uporaba metod študija na daljavo, domače naloge, konzultacije

Načini ocenjevanja

domače naloge (pogoj za pristop k pisnemu izpitu), izpit iz vaj (kolokviji ali pisni izpit)
Seminarska naloga, ustni izpit – zagovor seminarske naloge
Študentje dobijo dve oceni: eno iz izpita iz vaj ter domačih nalog, drugo iz seminarske naloge in ustnega izpita.
(ocene: 5 (negativno), 6-10 (pozitivno), ob upoštevanju Statuta UL)

Reference nosilca

Andrej Bauer:
HAJDINJAK, Melita, BAUER, Andrej. Similarity-based relations in Datalog programs. International journal of uncertainty, fuzziness and knowledge-based systems, ISSN 0218-4885, Oct. 2012, vol. 20, no. 5, str. 673-700. [COBISS-SI-ID 9428308]
BAUER, Andrej, STONE, Christopher A. RZ: a tool for bringing constructive and computable mathematics closer to programming practice. Journal of logic and computation, ISSN 0955-792X, 2009, vol. 19, no. 1, str. 17-43. [COBISS-SI-ID 15325785]
LUKŠIČ, Primož, HORVAT, Boris, BAUER, Andrej, PISANSKI, Tomaž. Practical E-Learning for the Faculty of Mathematics and Physics at the University of Ljubljana. Interdisciplinary journal of knowledge & learning objects, ISSN 1552-2210, 2007, vol. 3, str. 73-83. [COBISS-SI-ID 14269529]
AWODEY, Steve, BAUER, Andrej. Propositions as [Types]. Journal of logic and computation, ISSN 0955-792X, 2004, vol. 14, no. 4, str. 447-471. [COBISS-SI-ID 13374809]
Matija Lokar:
MARKOVIČ, Katja. Izdelava vodičev za uporabo programa GeoGebra : diplomska naloga. Ljubljana: [K. Markovič], 2011. 73 f., ilustr. [COBISS-SI-ID 16189529]
LOKAR, Matija. Designing tasks for CAS/DGS classrooms. V: TIME 2010, Technology and its Integration into Mathematics Education, July 6th-10th, 2010, Málaga, Spain. Proceedings of TIME 2010 : Technology and its Integration into Mathematics Education. Málaga: Universidad de Málaga, 2011, 17 str. [COBISS-SI-ID 15643993]
LOKAR, Matija. Some issues on designing tasks for CAS classrooms. V: 6th Came symposium: structured abstracts : 16-17 July 2009, Megatrend University, Belgrade, Serbia. Beograd: Megatrend University, 2009, str. 15-16. [COBISS-SI-ID 15241817]
KUDREVIČIUS, Evelina. Platforma SharePoint in oblikovanje glavne strani : diplomska naloga. Ljubljana: [E. Kudrevičius], 2008. 77 f., ilustr. [COBISS-SI-ID 15105625]
LOKAR, Matija. Prvenstvo študentskih ekip Univerze v Ljubljani v programiranju 2002. Ljubljana: [Fakulteta za matematiko in fiziko], 2002. 100 str., ilustr. [COBISS-SI-ID 12122457]