Kursomgång vt23
Kursomgång vt23
Kursen innehåller sex individuella inlämningsuppgifter som lämnas in via KTH git och presenteras vid de obligatoriska övningarna.
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.
- Att hjälpa studiekamrater som kört fast i en uppgift är positivt och lärorikt för både den student som får och den som ger hjälp, men man ska inte dela sina lösningar publikt.
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 vt23
Övning x på kursen ska lämnas in i katalogen username-ovnx i organisationen grudat23 på KTH GitHub. Användaren nisse hittar alltså sin katalog för övning 1 på adressen
- gits-15.sys.kth.se/grudat23/nisse-ovn1
Om ni loggar in på KTH GitHub för första gången så kan det ta någon dag innan ni kommer åt era kataloger.
Övningsgrupper
- Grupp 1 Sal B21 fm (Basic) Nils Forsgren <nforsg>
- Grupp 2 Sal B22 fm (Extensive) Marcus Dicander <dicander>
- Grupp 3 Sal B23 fm Theo Ingelstam <theoi>
- Grupp 4 Sal B21 em Cajsa Pierrou <cajsap>
- Grupp 5 Sal B22 em Emmy Yin <emmyy>
- Grupp 6 Sal Zoom em Bethel Zaya <bethel> (FULLT)
I Basic-gruppen kommer vi gå igenom alla grundläggande uppgifter extra noggrannt, medan Extensive-gruppen går lite fortare fram och kan innehålla mer överkursmoment.
Grupp 6 ges via Zoom. Din övningsassistent kommer att skicka ut ett mejl med adressen till Zoom-rummet.
Om du ännu inte valt en grupp så kan du mejla en övningsassistent och kolla om det finns plats. För närvarande finns det platser kvar i alla grupper utom grupp 6.
Labbar och individuell hjälp
Labbarna är till för att ni ska kunna ställa frågor om veckans inlämningsuppgift. Labbarna sker antingen på plats eller 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 i sal B2
- F1 (Mån 20/3, 10.00) Introduktion. Algorithms: What’s the problem?
- F2 (Ons 22/3, 15.00) Dokumentation och enhetstestning: /ovn0/grudat23/ * Övning 1 * Överkurs: API design
- F3 (Fre 24/3, 13.00) Tidskomplexitet, Ordo-notation. Time complexity: Count your steps [VIDEO] * Big O notation [VIDEO] * Time complexity of array operations [VIDEO]
- F4 (Tis 28/3, 13.00) Binära sökträd. Binary search trees [VIDEO] * Treaps [VIDEO]
- F5 (Tis 4/4, 15.00) Hashtabeller, binärsökning och korrekthet. Hash tables [VIDEO] * Loop invariants [VIDEO] * Induction [VIDEO]
- F6 (Tis 18/4, 13.00) Sortering och tidskomplexitet. Insertion sort vs. Selection sort [VIDEO] * Quicksort * Time complexity of recursive functions [VIDEO] (Överkurs: The fastest sorting algorithm?)
- F7 (Tis 25/4, 8.00) Grafer. Your basic graph [VIDEO]
- F8 (Tis 2/5, 13.00) Dynamisk programmering och reguljära uttryck. Dynamic programming with memoization [VIDEO] * Regular expressions [VIDEO]
- F9 (Tis 9/5, 10.00) Programvaruteknik och API-design. Tips inför projektet [VIDEO] * 12 steps to better code * API design [VIDEO] * Why Go?
- F10 (Tis 16/5, 10.00) Inställd
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.
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
- Babak Samimi <babakss>
- Robert Olsson Kihlborg <robertok>