Kursinnehåll
Användning av olika programvaruutvecklingsverktyg: versionshanteringssystem, UNIX-kommandorad, kompilatorer, integrerade utvecklingsmiljöer, och felsökningsverktyg. Programmering med hjälp av olika datastrukturer: listor, arrayer, stackar, köer, och strukturer för uppslagning. Programspråkskoncept: mönstermatchning, rekursion, slingor, aritmetik, operatorer, variabler, algoritmer, oföränderlig data, objekt, klasser, funktioner, pekare, datatyper, polymorfism. Programvarutekniker: design, testning, felsökning, promptning (både för egenskrivna program och av existerande program). Programspråksparadigm: historiskt perspektiv, översikt av olika språk och paradigm, samt studie, diskussion, och analys av programmeringsbegrepp inom imperativ programmering (variabler och pekare), funktionell programmering (rekursion och oföränderlig data) och objektorienterad programmering (objekt och klasser). Former av in- och utmatning, inklusive ljud, bild, text och filer. AI-verktyg: översikt och kortare övningar med moderna AI-verktyg. Individuellt projekt: egen utveckling av ett icketrivialt program, inklusive problemformulering, design, testning och presentation.