| TDDC60 |
Programmering - abstraktion och modellering, 5 p
/Programming: Abstraction and Modelling/
För:
CII
Mat
Y
|
| |
Prel. schemalagd
tid: 96
Rek. självstudietid: 104
|
| |
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi Nivå (A-D):B
|
| |
Mål:
Kursen är en grundkurs i datavetenskap och ger kunskaper och färdigheter i design och konstruktion av program. Kursen baseras på en ingenjörsmässig syn på programmering och betonar abstraktion som ett generellt och effektivt sätt för problemlösning och modellering av beräkningsprocesser och tekniska system.
Inlärningsmål för kursen: Efter fullgjort kurs skall studenten kunna förklara och tillämpa grundläggande programmeringsmetoder för konstruktion av mjukvarusystem.
Studenten skall kunna:
- förklara och tillämpa mekanismer som underlättar konstruktion av
mjukvarusystem: rekursiva och interativa processer, dataabstraktion, procedurellabstraktion, konventionella gränssnitt, procedurer med tillstånd, objektorientering, datadriven programmering
- redogöra för och tillämpa designprinciper som särskiljer bra programmeringsstil och konventioner
- designa och implementera algoritmer i programspråket Scheme som använder begrepp och strukturer som täcks under kursens gång
- läsa och anlysera, modifiera, vidareutveckla ett något större program under projektarbetet
|
| |
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan)
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 TDDB28 Programmering - tillämpning och datastrukturer.
TDDB69 Data och programstrukturer
|
| |
Organisation: Kursen ges över hela höstterminen och består av föreläsningar, lektioner och laborationer. Föreläsningar och lektioner behandlar kursen grundläggande begrepp. Lektioner och laborationer ger exempel på deras användning. Kursen avslutas med ett mindre projektarbete. Kursen kräver en stor egen arbetsinsats (hemarbetstid) utöver den schemalagda undervisningen.
|
| |
Kursinnehåll: Handhavande av aktuella datorsystem. Översiktlig introduktion till datavetenskap. Programspråket SCHEME (en LISP-dialekt): symboler, uttryck, listor, variabler och omgivningar, procedurer, högre-ordningens procedurer. Abstraktion: procedurell abstraktion, dataabstraktion, konventionella gränssnitt och orientering i lingvistisk abstraktion. Iterativa och rekursiva beräkningsprocesser. Datastrukturer: träd, köer, tabeller, strömmar. Modellering av objekt och tillstånd. Organisation och kommunikation i större program: modularitet, datadriven programmering, objekt-orienterad programmering, funktionell programmering, imperativ programmering, logikprogrammering. Modeller för interpretering av program: substitutionsmodellen, omgivningsmodellen. Strategier för interpretering av program: normal-, applikativ och fördröjd evaluering. Fördjupning i en del av dessa områden sker inom ramen projektarbetet.
|
| |
Kurslitteratur: Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs. MIT Press. Kurskompendium som utges av Institutionen för datavetenskap (IDA).
Referenslitteratur:
Haraldsson, A, Programmering i Lisp, Studentlitteratur 1993.
Harel, D, Algorithmics, Addison Wesley, 1992. Goldschlager, L, Lister, A, Computer Science - A Modern Introduction , 2nd edition, Prentice Hall, 1988.
|
| |
Examination: |
TEN1 LAB1 PRA1
|
Skriftlig tentamen/duggor (U, 3, 4, 5) En laborationskurs, inklusive skriftlig redovisning av en större uppgift. (U,G) Projekt (U, 3, 4, 5) |
1 p 2 p 2 p
|
| |
|
Som första tentamenstillfälle räknas de tre duggorna som ges under kursens gång. Omtentamenstillfällen ges under december och augusti.
Som slutbetyg ges (U, 3, 4, 5) . I slutbetyget vägs resultatet från TEN1, LAB1 och PRA1, Se kursinformation.
|
|