Göm menyn

Planering hösten 2023

Studiematerial

I planeringstabellen nedan ser ni bland annat vilket studiematerial ni behöver studera inför varje veckas labbar och seminarier i TDDE23 och TDDE24. Studiematerialet består av över 20 kapitel där en del kapitel innehåller filmer som kompletterar texten. Materialet innehåller den information ni behöver kunna för att klara kursen. Vanliga frågor kring studiematerialet.

Notera att studiematerialet för seminariespåret Experimentering även används för Diskussion och analys.

Labbar

Som ni kan se i tabellen nedan ska man under de första fyra veckorna av TDDE23 göra klart och redovisa/demonstrera ungefär en labb i veckan för att vara i takt. De tre efterföljande veckorna ska användas för labb 5 som är en något större uppgift. Det är dock i allmänhet en bra idé att börja på nästa labb så snart man kan, eftersom alla labbar inte tar exakt lika lång tid.

För TDDE23 har vi också några frivilliga extrauppgifter för de som vill öva mer: extra övningar till de tre första labbarna och övningar i att skapa enklare script.

Labb 6–8 tillhör TDDE24 och bör påbörjas direkt efter tentaperioden. Labb 8 är större än 6 och 7, och bör påbörjas i god tid!

Planering

Start för TDDE23
Vecka   Förberedelser / studiematerial Seminarieuppgifter Labb
35

Komma igång med python-tolken (starta Python, köra Python, Python i Emacs)

Matematiska operationer och variabler (heltal, flyttal, sanningsvärden, funktioner)

Emacs (layout, konfiguration, modes, kända problem)

- Labb 1. Komma igång med programmering. Genomförs enskilt, liksom labb 2-5.
36

Satser och uttryck (enkla satser, sammansatta satser, enkla uttryck, sammansatta uttryck)

Selektion (sant och falskt, booleska operatorer, if uttryck, if-sats)

Upprepning (range, grundläggande rekursion och iteration)

Funktioner (parameterisering, varför en funktion?, vad händer?, parameteröverföring, synlighet (en. scope), skuggning)

Listor och strängar (listor, index, slicing, jämförelse, operationer, lagring, teckenkodningar)

En sak i taget 1

Experimentering 1

Labb 2. Villkor och upprepning.
37

Datatyper (typer, dynamisk typning, metoder, objekt)

Tupler och dictionaries (tuple, dictionary)

Mer om datatyper (muterbarhet, typer av datatyper)

Iteration och rekursion (hur tänker man, mallar, olika typer av upprepning)

En sak i taget 2

Experimentering 2

Labb 3. Dictionaries och rekursion.
38

Programmeringspraxis (korrekthet, läsbarhet, namnformatering, kommentarer, radlängd, testbarhet)

Hur man programmerar (programutvecklingsprocessen, divide and conquer)

Dubbelrekursion (t.ex. rekursion i nästlade listor)

Listbyggare

En sak i taget 3

Experimentering 3

Labb 4. Mer om rekursion.
39

Bildbehandling (Introduktion till bildbehandling, opencv)

Versionshantering (Versionshantering, git)

Externa bibliotek (Moduler, import, bibliotek)

En sak i taget 4

Experimentering 4

Labb 5. Bildbehandling.
40

Funktionell programmering (högre ordningens funktioner, lambda-funktioner, funktioner som utdata, iteratorfunktioner, listbyggare)

Funktionell programmering som paradigm (programmeringsparadigm, egenskaper, nackdelar och exempel på funktionell programmering)

En sak i taget 5

Experimentering 5

41

Testning (testningsnivåer, teststrategier, enhetstestning)

Undantag (vanliga undantag, undantagshantering, try-except-else-finally, undantagshantering på fler nivåer)

En sak i taget 6

Experimentering 6

42

Labbtider för uppsamling

-

43 – Tentaperiod (inte lov) med möjlighet att jobba ifatt
Start för TDDE24
Vecka   Förberedelser / studiematerial Seminarieuppgifter Labb
44

Programstrukturer, interpretator och kompilator (källkodsanalys)

En sak i taget 7

Experimentering 7

Labb 6. Språk och interpretatorer. Genomförs i par. Indelning i par kommer ske under slutet av HT1.
45

Problemlösning (att lösa problem, algoritmer, lösningsmodeller, top-down, bottom-up, algoritmkomplexitet)

Cellulära automater (frivillig läsning, och ingår inte i "en sak i taget")

En sak i taget 8

Experimentering 8

46 -

En sak i taget 9

Experimentering 9

Labb 7. Algoritmer.
47

Dataabstraktion (abstrakt kontra konkret, definition av datatyp, arbetsmetodik för datatypsval)

Algoritmer (selection sort, insertion sort, rekursiva algoritmer, quicksort. Ingår för alla kursdeltagare, men diskuteras enbart på "En sak i taget"-seminarium. Övriga läser på egen hand.)

En sak i taget 10

Experimentering 10

48 -

-

Labb 8. Dataabstraktion. En större labb än labbarna 6-7, så börja i tid!
49 -

Gemensamt seminarium/föreläsning 11: Information om tentan i TDDE24. Leds av examinatorn.

50 -

12 Genomgång av exempeltenta

13 Repetition av uppgifter. Skicka in frågor!

51

Labbtider för uppsamling och redovisning

-


Sidansvarig: Peter Dalenius
Senast uppdaterad: 2023-08-10