Visa kunskap om beprövad erfarenhet i design och konstruktion av imperativa program samt förmåga att planera och genomföra kvalificerade uppgifter i form av implementation av imperativa program som syftar till att lösa specifika tekniska problem.
Visa förmåga att med en helhetssyn för relevanta problemställningar, modellera problemet samt självständigt identifiera och formulera lösningar i ett modernt imperativt programspråk.
Visa förmåga att kritiskt utvärdera och analysera tekniska lösningar i form av befintliga program i imperativa språk samt förutsäga och utvärdera skeenden i dessa.
Kursinnehåll
Introduktion till programutveckling och programutvecklingsmiljöer.
Variabler och programtillstånd, vägval, iteration, rekursion.
Aritmetiska och logiska uttryck, strängar, textbehandling och minneshantering.
Generalisering, parametrisering och funktionsabstraktion.
Dynamiska datastrukturer, filbegreppet, standardbibliotek och felhantering.
Referenser och pekare kontra värden.
Introduktion till objektbegreppet.
Problemlösning, programstruktur och dokumentation.
Förutsättningar
Grundläggande behörighet + Matematik 3c eller Matematik D. Eller: Matematik fortsättning nivå 1c.