Göm menyn

Planering för TDDC66 och TDDC67

Höstterminen 2011

Denna planering gäller för kurserna TDDC66 och TDDC67. Den visar vad vi går igenom på föreläsningar och lektioner, samt ungefär vad ni bör hinna med vid varje laborationspass. Kapitelhänvisningarna avser läroboken Programmering i Lisp. Hänvisningarna till övningar och uppgifter avser avsnitt i labbhäftet.

Läsperiod HT1

Vecka 35
Fö1
  • Introduktion till kursen och programspråket Lisp (kap 1-2)
  • Exempelprogram: Kvadratrotsutdragning med Newtons metod (kap 3.4)
  • Grundläggande Lisp-konstruktioner, tal, uttryck, sanningsvärden, relations- och logiska uttryck, villkorliga uttrycken cond och if, definition av funktioner (kap 2)
La1
  • Övning 101-109
Fö2
  • Rekursiva funktioner, rekursiv och iterativ processlösning (kap 3)
  • Symbol och lista med grundläggande operationer: first, rest, cons, endp (kap 4.1-3, 4.6)
  • Quote (kap 4.7)
  • Introduktion till rekursion över sekvenser (listor) (kap 6.1).
Le1
  • Uttryck, rekursion över tal och listor
  • Rekursiv och iterativ processlösning
La2
  • Övning 110-113, 117-123
Vecka 36
La3
  • Uppgift 1A
Fö3
  • Funktioner för att skapa listor: cons, append, list; andra listfunktioner (kap 4.6, 4.10)
  • Lokala variabler och funktioner (kap 5.1-2)
  • Sekvensiell bearbetning av listor, mallar, rekursiva och iterativ processlösningar
  • Dubbelrekursion (listor i listor) (kap 6.1)
  • Breddföreläsning
Le2
  • Övningar på grafisk presentation av listor
La4
  • Uppgift 1B
  • Övningsdugga
Vecka 37
Fö4
  • Binära träd, listan som binärt träd, mallar för binär-trädrekursion (kap 6.2)
  • Formeluttryck som binära träd, bearbetning av formeluttryck (kap 6.4.3)
La5
  • Dugga 1
  • Rekommenderad inlämning av laboration 1 (uppgift 1A-B)
  • Övning 201-205
Fö5
  • Funktioner, lambda-uttryck och högre ordningens funktioner (kap 7)
La6
  • Övning 207-2011
  • Uppgift 2A
  • Omdugga 1 (vid behov)
Le3
  • Lambda-uttryck och högre ordningens funktioner
Vecka 38
La7
  • Uppgift 2B-2C
  • Omdugga 1 (vid behov)
  • Deadline för inlämning av laboration 1 (uppgift 1A-B)
Fö6
  • Rekursiva strukturer, jämförelse mellan rekursion och induktion, metodik att skriva och verifiera rekursiva funktioner (kap 6.3)
  • Diverse exempel, bl.a. sortering och kombinatoriska problem
  • In- och utmatning (kap 13)
La8
  • Uppgift 2C-2D
Pp1
  • Prova på-laboration i Ada
Vecka 39
Fö7
  • Sökning med valmöjligheter, sökning i träd och mönstermatchning (kap 8.4)
  • Sammanfattning av den funktionella programmeringsparadigmen
  • In- och utmatning (kap 13)
  • Koppling till begrep från kursen i diskret matematik
La9
  • Dugga 2
  • Rekommenderad inlämning av laboration 2 (uppgift 2A-D)
  • Övning 301
Fö8
  • Dataabstraktion, abstrakta datatyper, primitiver: konstruktor, selektor, igenkännare, iteratorer
  • Sammansättning av datatyper: tupel, sekvens, ändlig avbildning, mängd
  • Exempel: Formeluttryck med derivering av uttryck (kap 9)
  • Genomgång av almanackan (kap 10)
La10
  • Övning 303
  • Uppgift 3A, 3C
  • Omdugga 2 (vid behov)
Fö9
  • Fortsättning abstraktion, designprinciper för almanackan (kap 10)
  • Typhantering, typkontroll och representation
Le4
  • Genomgång av almanackan och laboration 4
Pp2
  • Prova på-laboration i Prolog
Vecka 40
La11
  • Övning 401-402
  • Uppgift 4A-B
  • Omdugga 2 (vid behov)
  • Rekommenderad inlämning av laboration 3 (uppgift 3A-C)
  • Deadline för inlämning av laboration 2 (uppgift 2A-D)
Le5
  • Metoder för testning och felsökning
La12
  • Uppgift 4C
Pp3
  • Prova på-laboration i SQL
Vecka 41
Fö10
  • Imperativ programmering med datatyperna post och arraystruktur samt repetitionsstrukturer (kap 11-12)
La13
  • Uppgift 4D
  • Rekommenderad inlämning av laboration 4 (uppgift 4A-D)
  • Deadline för inlämning av laboration 3 (uppgift 3A-C)
La
  • Uppsamlingstillfälle med möjlighet att redovisa slutuppgift i datorintroduktionen samt redovisa prova på-laborationer
  • Sista chansen att klara dugga 1 och 2

Läsperiod HT2

Vecka 43
Fö11
  • Hur fungerar ett Lisp-system
  • Representationen av symboler och listor
  • Allokering och garbage collection av listor
  • Parameterlistor och flervärda funktioner (kap 14.4-5)
  • Gästföreläsning
La14
  • Deadline för inlämning av laboration 3 (uppgift 3A-C)
  • Övning 601
Fö12
  • Interpretator och kompilator för ett enkelt språk (för laboration 5)
  • Interpretator (eval och apply) för Lisp (kap 21)
Vecka 44
Fö13
  • Makrofunktioner (kap 15)
La15
  • Deadline för inlämning av laboration 3 (uppgift 3A-C)
  • Deadline för inlämning av laboration 4 (uppgift 4A-D)
  • Övning 501
  • Uppgift 5A
Le6
  • Övningar på makrofunktioner
Pr
  • Projektuppstart
Vecka 45
Fö14
  • Strukturändrande funktioner (kap 16)
Le7
  • Övningar på strukturändrande funktioner m.m.
La16
  • Uppgift 5A
  • Övning 603-604, 606
Vecka 46
Fö15
  • Statisk och dynamisk bindning
  • Felhantering (kap 17)
  • Lexical closures och deras relation till objektorienterad paketering av data (kap 19)
La17
  • Rekommenderad inlämning av laboration 5 (uppgift 5A)
  • Uppgift 6A, 6B
Vecka 47
La18
  • Deadline för inlämning av laboration 5 (uppgift 5A)
  • Övning 607-608
  • Uppgift 6C
Vecka 48
La19
  • Övning 609-612
  • Uppgift 6D
  • Rekommenderad inlämning av laboration 6 (uppgift 6A-D)
Vecka 49
Fö16
  • Sammanfattning av kursen och dess relation till kommande kurser
  • Repetition inför tentamen
Pr
  • Projektredovisning
  • Deadline för inlämning av laboration 6 (uppgift 6A-D)
  • Deadline för inlämning av bonusuppgifter

Sidansvarig: Peter Dalenius
Senast uppdaterad: 2011-10-24