studiehandbok@lith
 

Tekniska högskolan vid Linköpings universitet

 
 
År : 2017
 
TDDC74 Programmering - abstraktion och modellering, 8 hp
/Programming: Abstraction and Modelling/

För:   Mat   MED   Y   Yi  

 

Prel. schemalagd tid: 64
Rek. självstudietid: 149

  Utbildningsområde: Teknik

Huvudområde: Datateknik, Datavetenskap   Nivå (G1,G2,A): G1

  Mål:  IUAE-matris
Kursens syfte är att studenterna ska utveckla förmåga att representera och lösa problem med hjälp av konstruktioner i datorspråk. Efter avslutad kurs ska studenterna kunna:
  • redogöra för grundläggande datavetenskapliga begrepp relaterade till programmering och programspråk, särskilt funktionella språk
  • metodiskt lösa programmeringsrelaterade problem i en interaktiv programutvecklingsmiljö
  • representera problem och lösningar till dessa i form av rekursiva och iterativa algoritmer och kunna uppskatta tid- och rumskomplexiteten för enklare fall
  • konstruera abstraktioner som möjliggör design av program som är lättförståliga, återanvändbara och kan underhållas lättare
  • genomföra ett mindre programmeringsprojekt


  Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan)
Elementär datorvana.

OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.

  Påbyggnadskurser
Programmering - tillämpning och datastrukturer. Data och programstrukturer

  Organisation:
Kursen består av föreläsningar, lektioner och laborationer. Föreläsningar och lektioner behandlar kursens grundläggande begrepp. Lektioner och laborationer ger exempel på deras användning genom programmeringsuppgifter. Kursen avslutas med ett mindre projektarbete. Kursen kräver en stor egen arbetsinsats utöver den schemalagda undervisningen.
Kursen pågår hela vårterminen.


  Kursinnehåll:
  • Handhavande av aktuella datorsystem.
  • Översiktlig introduktion till datavetenskap.
  • Programspråket SCHEME: uttryck, symboler, listor, variabler och omgivningar, lambda-uttryck, procedurer, högre-ordningens procedurer.
  • Abstraktion: procedurell abstraktion, dataabstraktion med abstrakta datatyper och gränssnitt.
  • Algoritmisk problemlösning: iterativa och rekursiva beräkningsprocesser.
  • Grundläggande datastrukturer: träd, köer och tabeller. Pekare. strömmar.
  • Programmeringsparadigmer: Funktionell, imperativ och objektorienterad programmering.
  • Modeller för evaluering av program: substitutionsmodellen, omgivningsmodellen.
  • Modellering av objekt och tillstånd. Tilldelning.
  • Organisation och modularitet i större program. Datadriven programmering.
  • Fördjupning i en del av dessa områden sker inom ramen för projektarbetet. Specifikation och dokumentation av ett projekt.


  Kurslitteratur:
Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs. MIT Press.
Boken finns även att tillgå på http://mitpress.mit.edu/sicp/full-text/book/book.html


  Examination:
DAT1 LAB1 PRA1 KTR3 KTR4
Datortentamen (U,3,4,5)
Laborationer (U,G)
Projekt (U,3,4,5)
Frivillig datordugga
Frivillig datordugga
2 hp
3 hp
3 hp
0 hp
0 hp
 
Som första tentamenstillfälle räknas de två duggorna som ges under kursens gång under VT1 och VT2. Tentamenstillfällen för hela kursen ges under juni, oktober och augusti. I slutbetyget vägs resultatet från DAT1, LAB1 och PRA1, se kursinformation.



Undervisningsspråk är Svenska.
Institution: IDA.
Studierektor: Jalal Maleki
Examinator: Jalal Maleki
Länk till kurshemsida på kursgivande institution
Ansvarig programnämnd: Elektro&Fysik

Engelsk kursplan


Tekniska högskolan vid Linköpings universitet


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 02/02/2017