Programkonstruktion

10 hp

Kursplan, Grundnivå, 1DL200

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).

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin