Programkonstruktion
Kursplan, Grundnivå, 1DL200
Kursen är avvecklad.
- Kod
- 1DL200
- Utbildningsnivå
- Grundnivå
- Huvudområde(n) med fördjupning
- Datavetenskap G1F, Teknik G1F
- Betygsskala
- Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 19 mars 2007
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
Introduktion till datavetenskap, eller Informationsteknologi.
Mål
För godkänt betyg ska studenten
- kunna analysera enklare problem och designa lösningar med hjälp av algorimer och programmering;
- kunna beskriva algoritmbegreppet och kunna konstruera algoritmer med sekvensering, alternativ och upprepning (iteration/rekursion);
- kunna konstruera enkla datastrukturer;
- känna till grundläggande syntax och semantik för ett funktionellt programspråk, t.ex. Standard ML;
- kunna koda och dokumentera program för enklare problem;
- kunna beskriva -- oberoende av programkoden -- den uppgift ett program skall lösa och de förutsättningar som krävs för att det skall kunna arbeta;
- kunna motivera att körningen av ett program (en algoritm) med upprepning faktiskt avslutas;
- kunna genomföra kodgranskning, testning och felsökning av enklare program;
- känna till grundläggande programspråksbegrepp som uttryck, värde, typ, funktion, bindning, rekursion, pekare, sidoeffekt m.fl.;
Innehåll
Introduktion till programmering: syftet med programmering, programmeringsprocessens faser, programmering satt i sitt sammanhang genom exempel på tillämpningar, kort historik över programmering, datorsystemet ur programmerarens synvinkel, programmeringsmiljöer.
Algoritmer: vad en algoritm är, programmet som algoritm, skillnaden i preciseringsgrad mellan vardagslivets algoritmer och datorprogram.
Grundläggande funktionell programmering i Standard ML eller annat funktionellt språk: funktionsanrop, värden och typer, funktionsabstraktion, definitionsabstraktion.
Grundläggande datastrukturer: enkla datatyper, poster, listor, träd, fält. Dataabstraktion.
Grundläggande programstrukturer: sekvensering, alternativ, upprepning (rekursion).
Sidoeffekter: tilldelning, grundläggande in/utmatning.
Grundläggande programmeringsteknik: systematisk arbetsgång för kravspecifikation, problemanalys, programdesign, kodning, kodgranskning, testning, felsökning samt dokumentation.
Grundläggande webbprogrammering.
Undervisning
Föreläsningar, lektioner, laborationer och inlämningsuppgifter.
Examination
Kursen examineras med skriftlig tentamen (4 hp) samt muntligt och/eller skriftlig redovisning av laborationer (3 hp) och inlämningsuppgifter (3 hp).