TDDB25 | PROGRAMMERING - abstraktion och modellering, 5 poäng /Programming: Abstraction and Modelling/ För: Y2, YX3 | |
Utbildningsområde: Teknik Ämnesgrupp: Datalogi | ||
Fördjupningsnivå: 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.Påbyggnadskurser: TDDB11 Imperativa programspråk, TDDB20 Programmering - tillämpning och datastrukturer.Organisation: Kursen ges över två perioder och består av 48 timmar föreläsningar och lektioner och 40 timmar 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äns snitt och orientering i lingvistisk abstraktion. Iterativa och rekursiva beräknings processer. 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, omgivnings modellen. Strategier för interpretering av program: normal-, applikativ och fördröjd evaluering.Kurslitteratur: Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs . MIT Press. Kurskompendium som utges av Institutionen för datavetenskap (IDA). Referenslitteratur: Aho A, Hopcroft, J, E, Ullman, J, D, Data Structures and Algorithms , Addison-Wesley, 1987. 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. | ||
LAB 1 | En laborationskurs, inklusive skriftlig redovisning av en större uppgift. | |
TEN1 | Kontinuerlig datortenta under kursens gång. Omtentamen sker i form av en traditionell skriftlig tentamen. |