Kursomgång vt21
Kursomgång vt21
Kursen innehåller sex individuella inlämningsuppgifter som lämnas in via KTH git och presenteras vid de obligatoriska övningarna som kommer att hållas som videokonferenser. Du får en zoomlänk via epost från din övningsassistent.
Det är tillåtet att missa ett enskilt övningstillfälle om man berättar för sin övningsassistent i förväg och dessutom lämnar in den skriftliga delen av uppgiften i tid.
I slutet av kursen blir det också ett lite större individuellt projekt där du får möjlighet att välja och implementera ett eget mindre programbibliotek.
Hederskodex
Denna hederskodex gäller för de individuella uppgifterna och slutprojektet. I korthet:
- Du får inte kopiera från andras lösningar,
- i inlämningsuppgifterna ska du ärligt redovisa hjälp som erhållits och källor som använts,
- vid den muntliga examinationen ska du kunna redogöra för hela uppgiften och lösningen.
Betyg
Kursen examineras med individuella skriftliga inlämningsuppgifter som redovisas muntligt i samband med de obligatoriska övningarna. Övningarna betygssätts med G/VG och slutbetyget beräknas så här:
A | 6 G | 5-6 VG |
B | 6 G | 4 VG |
C | 6 G | 3 VG |
D | 5 G | 2 VG |
E | 5 G | 0-1 VG |
Fx | 4 G | |
F | 0-3 G |
- IND1 2hp är ett graderat betyg baserat på övning 1-6,
- LAB1 4hp är projektet och bedöms med P/F.
Uppgifter vt21
Övning x på kursen ska lämnas in i katalogen kthid-ovnx i organisationen grudat 21 på KTH GitHub. Om ni loggar in på KTH GitHub för första gången så kan det ta någon dag innan ni kommer åt er katalog.
Övningsgrupper
- Cajsa Pierrou <cajsap@kth.se> kthid: A-CA
- Hovig Manjikian <hoffek@kth.se> kthid: CB- GH
- Albert Sund Aillet <albesa@kth.se> kthid: GI-JI
- Markus Magnuson <markmag@kth.se> kthid: JJ-M
- Marcus Dicander <dicander@kth.se> kthid: N-SH
- Marcus Dicander <dicander@kth.se> kthid: SI-Z
Du får en inbjudan och Zoomlänk med epost från din övningsassistent.
Du som har ett kthid som börjar med bokstäverna "a" till och med "ca" går i grupp 1, etc. Observera att grupp 6 har andra tider i schemat än grupp 1-5.
Vi är många på kursen i år och alla grupper är fulla. Om du vill byta grupp måste du därför hitta någon att byta med och sedan kontakta assistenterna i de två grupperna.
Labbar och individuell hjälp
Labbarna är till för att ni ska kunna ställa frågor om veckans inlämningsuppgift. Labbarna sker via Zoom på de schemalagda tiderna. Ställ dig i grudat-kön så får du en inbjudan när det blir din tur.
EECSs allmänhandledare hjälper också till med programmeringsfrågor och andra problem två gånger dagligen varje vardag under terminstid, oftast 11–13 och 17–20.
Föreläsningar
- F1 (Mån 22/3, 13.00) Introduktion. Algorithms: What’s the problem? [VIDEO]
- F2 (Ons 24/3, 10.00) Dokumentation och enhetstestning, tidskomplexitet. /ovn0/grudat21/ * Time complexity: Count your steps [VIDEO] * Överkurs: API design
- F3 (Tis 30/3, 10.00) Ordo-notation. Big O notation [VIDEO] * Time complexity of array operations [VIDEO]
- F4 (Mån 12/4, 10.00) Binära sökträd och hashtabeller. Binary search trees [VIDEO] * Treaps [VIDEO] * Hash tables [VIDEO]
- F5 (Tis 20/4, 10.00) Binärsökning och korrekthet. Loop invariants [VIDEO] * Induction [VIDEO]
- F6 (Tis 27/4, 08.00) Sortering och tidskomplexitet. Insertion sort vs. Selection sort [VIDEO] * Quicksort * Time complexity of recursive functions [VIDEO] (Överkurs: The fastest sorting algorithm?)
- F7 (Tis 4/5, 10.00) Grafer. Your basic graph [VIDEO]
- F8 (Tis 11/5, 08.00) Dynamisk programmering och reguljära uttryck. Dynamic programming with memoization [VIDEO] * Regular expressions [VIDEO]
- F9 (Tis 18/5, 10.00) Programvaruteknik och API-design. Tips inför projektet [VIDEO] * 12 steps to better code * API design [VIDEO] * Why Go?
Det finns texter och korta filmer som du ska titta på inför varje föreläsning. Skriv gärna ner frågor som du vill ta upp på föreläsningen. Föreläsningarna sker i zoomrummet https://kth-se.zoom.us/j/69755335369 och kommer inte att spelas in.
Kurslitteratur
Det finns ingen obligatorisk kursbok på papper. Du hittar all kurslitteratur via länkarna i föregående avsnitt. Du kan också ha nytta av de här sajterna och böckerna om du vill lära dig mer om algoritmer och programvaruteknik.
Kursnämnd
- Lukas Werner <lukaswe@kth.se>
- Björn Thiberg <bthiberg@kth.se>
Lärare
- Stefan NilssonExaminator, Kursansvarig