Kursomgång vt20
Kursomgång vt20
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 inbjudan till varje videokonferens 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.
Det blir också ett lite större individuellt projekt där du får möjlighet att välja och implementera ett eget mindre programbibliotek.
Kursen följer KTH:s rekommendationer om covid-19. Det innebär i korthet att allt kursmaterial och all kursinformation finns tillgänglig på nätet, att de obligatoriska momenten sker på distans och att du ska stanna hemma om du är sjuk.
Denna hederskodex tillämpas.
Ö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 vt20
Övning x på kursen ska lämnas in i katalogen username-ovnx i organisationen grudat20 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
- Einar Lennelöv <lennelov>
- Gustav Hedengran <hedengr>
- Fredrik Diffner <fdiffner>
- Cajsa Pierrou <cajsap>
- NN
- Hovig Manjikian <hoffek>
Du kommer att få återkoppling via git och övningarna kommer att hållas som videokonferenser. Du får en inbjudan via epost till videokonferensen från din övningsassistent.
Labbar
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.
Föreläsningar
- F1 (Mån 16/3) Introduktion. Algorithms: What’s the problem? [VIDEO]
- F2 (Tis 17/3) Dokumentation och enhetstestning, tidskomplexitet. /ovn0/grudat20/ * Time complexity: Count your steps [VIDEO] * Överkurs: API design
- F3 (Mån 23/3) Ordo-notation. Big O notation [VIDEO] * Time complexity of array operations [VIDEO]
- F4 (Mån 30/3) Binära sökträd och hashtabeller. Binary search trees [VIDEO] * Treaps [VIDEO] * Hash tables [VIDEO]
- F5 (Mån 6/4) Binärsökning och korrekthet. Loop invariants [VIDEO] * Induction [VIDEO]
- F6 (Tis 21/4) Sortering och tidskomplexitet. Insertion sort vs. Selection sort [VIDEO] * Quicksort * Time complexity of recursive functions [VIDEO] (Överkurs: The fastest sorting algorithm?)
- F7 (Ons 29/4) Grafer. Your basic graph [VIDEO]
- F8 (Tis 5/5) Dynamisk programmering och reguljära uttryck. Dynamic programming with memoization [VIDEO] * Regular expressions [VIDEO]
- F9 (Tis 12/5) Programvaruteknik och API-design. 12 steps to better code * API design [VIDEO] * Why Go?
I stället för föreläsningar så blir det i år en serie screencasts om de olika teorimomenten och om de olika uppgifterna. Prenumerera gärna på kanalen så att du inte missar någon video.
Kurslitteratur
Det finns ingen obligatorisk kursbok på den här kursen, men du kan ha nytta av de här sajterna och böckerna om du vill lära dig mer om algoritmer och programvaruteknik.
Kursnämnd
- Henry Jacobson <henryj>
- Markus Magnuson <markmag>
Lärare
- Stefan NilssonExaminator, Kursansvarig