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.
Betygshöjande labbar ger inte betyg om de lämnas in efter deadline.
Bonusdatum finns för F2 och S1, men övriga obligatoriska labbar (S2, W1) har inga bonusdatum. Att göra klart en uppgift innan ett bonusdatum ger lite mer utrymme för fel på mästarprovet.

Nedan följer en tabell över föreläsningar och rekommenderade förberedelser.

Datum Föreläsning Rekommenderade förberedelser och dokumentation
17:e januari. Introduktionsföreläsning (av Marcus Dicander)

Slides.

18:e januari. Funktionell Programmering 1: Haskell, funktioner, rekursion, listor, oändliga listor och listomfattningar (List comprehensions)

Slides och kod.
Learn Haskell in 10 minutes.
Förra året: Föreläsningen på youtube med svensk text.

22:a januari Funktionell Programmering 2: Typer och typklasser.

Slides.
Zeroes in javascript
wat

25:e januari Funktionell programmering 3: Högre ordningens funktioner.

Gamla Slides
Datatyper, biten vi inte hann med från förra veckan.
Nya slides om högre ordningens funktioner.
Kod

29:e januari. Funktionell programmering 4: Monader

Monads are not...
Bra grund att stå på.
Slides i introduktionen.
Slides.
Option i Rust.
Optional i Java.
Maybe i Elm
Gamla tentor i kursen finns här: tentor och kontrollskrivningar..
Slidesfinns här.
Animation av fiskar.
Populär video om Haskell.

19:e februari Paradigm 1: Programmeringsparadigmens historia, exempel på paradigm

(Robert W. Floyd:s Turing-föreläsning.)
Slides.
How Snowden would hack the Swedish election https://link.springer.com/chapter/10.1007/978-3-319-68687-5_17

20:e februari Paradigm 2: Turingmaskiner, Lambdakalkyl, Von Neumann-modellen.

Slides finns här.
Accidentially Turing Complete.
Från efterdiskussionerna: Notes on the analytical engine.
Alan Turings berömda papper: On computable numbers, with an application to the Entscheidungsproblem.
Information om hur mästarproven kommer att gå till kommer också här.

Datum kommer senare Gästföreläsning i Rust (av Rasmus Kaj)

Installera Rust och göra en tutorial som du hittar här.

26:e februari Syntax 1 (av Karl Palmskog)
28:e februari Syntax 2
18:e mars Syntax 3
25:e mars Syntax 4
26:e mars Syntax 5: Mästarprovet i Syntax lämnas ut. Mästarprovet presenteras under föreläsningen som inkluderar en frågestund om mästarprovsproblemen.
22:a april Internetprogrammering (av Vahid Mosavat)
25:e april Internetprogrammering 2.

 

6:e maj

Gästföreläsning i Litterär programmering (av Daniel Bosk)

E1 på campus eller
online i Zoom

Efter kursens avslut.

Alla föreläsningar i funktionell programmering, paradigm och syntax finns på Youtube: https://www.youtube.com/@programmering och Marcus håller ibland öppna föreläsningar om Haskell i Stackens regi.

 

Viktiga datum för laborationer:

Datum Aktivitet
22:a januari Om du vill göra uppvärmningslabben F1 så rekommenderas det att sätta igång nu.
25:e januari Det rekommenderas att sätta igång med labb F2 (obligatorisk) nu så att den blir klar senast då mästarprovet i funktionell programmering lämnas ut.
20:e februari Deadline för F2 är idag 18:00. Tiden för issuet på Git gäller.
För er som siktar på högre betyg: Det rekommenderas att sätta igång med de betygshöjande labbarna X1 och X2 nu så att de är klara tills mästarprovet lämnas ut.
25:e mars Deadline för bonus på S1 är 18:00. Tiden för issuet på Git gäller.
19:e april Deadline för de betygshöjande laborationerna F3, S3, X1 och X2. Issue på Git klockan 18 räknas om labbarna redovisas inom kort (normalt nästkommande vecka, med uppskov ifall det blir överfullt i labbsalarna).
Tidigt i juni

Labbveckan är sista chansen att redovisa labbar om ni vill ha dem inrapporterade på årets kursomgång. Studenter från tidigare kursomgångar kan också redovisa utgångna laborationer som INET.

Efter labbveckan

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

Viktiga datum för mästarprov:

Datum Vad händer
23:e februari Mästarprovet i funktionell programmering lämnas ut.
1:a mars klockan 18.

Deadline för att lämna in mästarprovet i funktionell programmering.
Mästarprovet i paradigm lämnas ut.

8:e mars klockan 18.

Deadline för mästarprovet i paradigm.

26:e mars

Syntax 5: Mästarprovet i Syntax lämnas ut. Mästarprovet presenteras under föreläsningen som inkluderar en frågestund om mästarprovsproblemen.

4:e april

Deadline för mästarprovet i Syntax klockan 18.00. Information om hur du bokar in dig inför muntan kommer att anslås på Canvas.

17:e maj

Ommästarproven lämnas ut. Alla tre går parallellt. Om du har klarat ett mästarprov eller (för studenter från tidigare kursomgångar) kontrollskrivning/tentadel som motsvarar de olika delarna så behöver du inte redovisa om den delen.

24:e maj kl 18.

Deadline för att lämna in ommästarproven. Information om hur du bokar in dig inför muntan kommer att anslås på Canvas.

Efter kursens avslut

Nästa chans att göra ett mästarprov är nästa kursomgång. Lycka till!