Kursöversikt

Detaljschema med föreläsningsanteckningar och deadlines.

Samtliga deadlines har klockslaget 18:00 och gäller när man skapar sitt issue med rubriken Redovisning i ett repo där en version som uppfyller nästan alla krav ligger. Det går att redovisa kort efter (normalt 1-2 veckor efter) deadline om labben var klar innan deadline och issuet var skapat.
Rekommenderat inlämningsdatum innebär att det är ett bra datum att sikta på men det ger inga konsekvenser för betyg eller högskolepoäng att missa dessa datum.
Deadline på de obligatoriska labbarna (F1, S1 och S2) betyder att du inte längre får bonuspoäng om du lämnar in efter detta datum, men du behöver fortfarande göra klart labben för att få godkänt i kursen.
Betygshöjande labbar får inte lämnas in efter deadline.

  1. Onsdag 18:e Januari
    Intro (Marcus Dicander)
  2. 19:e januari
    Funktionell Programmering 1 (Marcus Dicander) Komma igång med Haskell: Funktioner, rekursion, listor, oändliga listor och listomfattningar (list comprehensions).
    Slides och kod.
    Learn Haskell in 10 minutes (Länkar till en externa sida.).
    Förra året: Föreläsningen på youtube med svensk text (Länkar till en externa sida.).
  3. 23:e januari.
    Funktionell Programmering 2 (Marcus Dicander) Typer och typklasser. Introduktion med talkonverteringar (Länkar till en externa sida.).
    Slides. (Zeroes in javascript och wat.)
  4. 26:e januari.
    Funktionell programmering 3 (Marcus Dicander) Högre ordningens funktioner.
    Gamla Slides
    Datatyper, biten vi inte hann med från förra veckan (Länkar till en externa sida.)
    Nya slides om högre ordningens funktioner (Länkar till en externa sida.)
    KodLänkar till en externa sida.
  5. 30:e januari.
    Monader:
    Monads are not...
    Bra grund att stå på.
    Slides i introduktionen.
    Slides.
    Option i Rust. (Länkar till en externa sida.)
    Optional i Java. (Länkar till en externa sida.)
    Maybe i Elm (Länkar till en externa sida.)
    Gamla tentor i kursen finns här: tentor och kontrollskrivningar.Länkar till en externa sida.
    Slidesfinns här.
    Animation av fiskar (Länkar till en externa sida.).
    Populär video om Haskell. (Länkar till en externa sida.)
  6. 20:e februari
    Paradigm 1 (Marcus Dicander) Programmeringsparadigmens historia (Robert W. Floyd:s Turing-föreläsning.), exempel på paradigm.Slides (Länkar till en externa sida.). How Snowden would hack the Swedish election https://link.springer.com/chapter/10.1007/978-3-319-68687-5_17
  7. 21:a februari
    Paradigm 2 (Marcus Dicander) Turingmaskiner, Lambdakalkyl, Von Neumann-modellen.
    Deadline för F1 och F2 är idag 18:00. Denna dag ska labb F1 eller F2 vara klara för extra utrymme för fel på mästarprovet. Tiden på issuet på Git gäller. De ger en bonuspoäng vardera som kan vardera kan lösas in mot en halvbra löst uppgift på mästarprovet.
    Slides finns här.
    Accidentially Turing Complete (Länkar till en externa sida.).
    Från efterdiskussionerna: Notes on the analytical engine (Länkar till en externa sida.).
    Alan Turings berömda papper: On computable numbers, with an application to the Entscheidungsproblem (Länkar till en externa sida.)
    Information om hur mästarproven kommer att gå till kommer också här.
    Efter föreläsningen så kommer en gästföreläsning av Rasmus Kaj om programmeringsspråket Rust som ingår i en av de betygshöjande labbarna i paradigmdelen. En bra förberedelse inför den föreläsningen är att installera Rust och göra en tutorial som du hittar här.

  8. 24:e februari
    Mästarprovet i funktionell programmering lämnas ut.
  9. 27:e februari
    Syntax 1 (Karl Palmskog): uppdaterade slides inspelning från 2022
    Kursbok: Hopcroft, Motwani, Ullman. Introduction to Automata Theory, Languages, and Computation (3rd ed.). Pearson. ISBN 978-1292039053.
  10. 1:a mars
    Syntax 2 (Karl Palmskog): , uppdaterade slidesDFA-exekveringsexempel av Per Austrin, inspelning från 2022 
    Annat intressant material: Online course on Automata Theory av Jeff Ullman, Stanford University.
  11. 3:e mars klockan 18.
    Deadline för att lämna in mästarprovet i funktionell programmering.
    Mästarprovet i paradigm lämnas ut.
  12. 10:e mars klockan 18.
    Deadline för mästarprovet i paradigm.
  13. 20:e mars
    Syntax 3 (Karl Palmskog): miniräknarexempelkod binärträdsexempelkod uppdaterade slides inspelning från 2022 Referenslösningar mästarprov syntax 2022 Referenslösningar ommästarprov 2022
  14. 27:e mars
    Syntax 4 (Karl Palmskog): JFlexCupexempelkod, uppdaterade slides, DPDA-exekveringsexempel av Per Austrin, nyckelbegrepp inom syntax, inspelning från 2022
    Mer utförlig vidareläsning: Drakboken om kompilatorkonstruktion
  15. 6:e april
    Deadline för S1. Klockan 18:00. Issue på Git räknas.
  16. 18:e april
    Deadline för S2 (för högre betyg) samt de övriga betygshöjande laborationerna F3, S3, X1, X2. Issue på Git klockan 18 räknas om labbarna redovisas senast nästkommande vecka.
  17. 21:a april
    Mästarprovet i Syntax lämnas ut.
  18. 28:e april
    Deadline för mästarprovet i Syntax klockan 18.00. Du får garanterad redovisningstid för den muntliga delen om du bokar tiden senast på tisdag klockan 12.00. Bokning sker via REMORES. Om du har lämnat in ett mästarprov men missat att boka så går det att maila en sen anmälan till kursledaren, men då finns ingen garanterad plats. Sen anmälan blir samma som ordinarie anmälan detta mästarprov, dvs 2:a maj klockan 12.00.
  19. 12:e maj Ommästarproven lämnas ut. Alla tre går parallellt. Om du har klarat ett mästarprov eller en kontrollskrivning/tentadel som motsvarar de olika delarna så behöver du inte redovisa om den delen.
  20. 19:e maj kl 18. Deadline för att lämna in ommästarproven. Om du har lämnat in så behöver du också boka en tid för muntlig redovisning. Du får garanterad redovisningstid om du bokar tiden senast denna dag. Bokning sker via REMORES som har öppet fram tills måndag 22:a maj klockan 13:00. Muntlig redovisning sker senast 26:e maj. På fredag kväll 26:e maj presenteras lösningsförslag och rättningsmallar.
  21. 2:a-11:e juni: Labbveckan är sista chansen att redovisa labbar om ni vill ha dem inrapporterade på årets kursomgång.

När kursen och labbveckan är över så går det inte att redovisa någonting. Om ni har moment kvar, be studievägledningen att omregistrera er till nästa omgång som beräknas gå vårterminen 2024.