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.
| 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 |
|
| 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 |
|
| Vecka 36 |
| La3 |
|
| 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)
|
| Fö |
|
| Le2 |
- Övningar på grafisk presentation av listor
|
| La4 |
|
| 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 |
|
| 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 |
|
| 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
|
| 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)
|
| Fö |
|
| 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 |
|
| 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 |
|
| 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
|