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: |
TEN1
LAB1
PRA1
KTR1
KTR2
|
Skriftlig tentamen/duggor (U,3,4,5) Laborationer (U,G) Projekt (U,3,4,5) Frivillig dugga Frivillig dugga |
2 hp 3 hp 3 hp 0 hp 0 hp
|
|
|
Som första tentamenstillfälle räknas de tre 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 TEN1, LAB1 och PRA1, se kursinformation. |
|