Etikettarkiv: adk

A – Algoritmer, datastrukturer och komplexitet

Som jag har tjatat om den här kursen. Detta är, delat med en annan, den största kursen jag läser denna termin. DD1352 (kurskoden), eller som i folkmun kallas ADK, är en kurs som handlar om just det den heter; algoritmer, datastrukturer och komplexitet!

Jag läser ju datateknik tredje året för er som missat det och som ni då kan gissa blir det väldigt mycket programmering. I denna kurs är det dock inte enbart programmering utan även teoretisk datalogi. Första delen av kursen handlade om algoritmer och algoritmkonstruktion, medan den andra delen handlade mer om komplexitet (vilka problem som kan lösas (i rimlig tid) med hjälp utav en dator, vilka som tar orimligt lång tid att lösa och vilka som inte går att lösa med en dator överhuvudtaget).

Vår kursledare Viggo Kann har sannerligen finslipat denna kurs in till minsta detalj över åren, och jag tror faktiskt detta är den kurs jag läst som varit helt organiserad. Allt har varit upplagt i tid, alla saker finns på kurshemsidan och har man frågor så får man svar direkt. Mycket uppskattat!

diagram
Maffigt! Bild snodd härifrån.

Hur är denna kurs uppbyggd då? Jo, som ni kan se på flödesschemat ovan finns det väldigt många moment. Jag tror Viggo har lyckats pressa in alla kursmoment som existerar i denna kurs!

Om vi börjar med det första på flödesschemat:

  • Mästarprov 1 & 2 – Som jag har nämnt flera gånger i bloggen har jag haft något som kallas för ”mästarprov”. Detta är som en slags hemtenta där din uppgift är att lösa 1-3 st (beroende på vilket betyg du vill ha) uppgifter. Det som jag tycker är jobbigast är att man inte får diskutera lösningarna, eller ens uppgifterna(!), med någon av dina kursare. Dessa uppgifter är ganska omständliga och tar lång tid att göra, så då får man se till att börja i tid.
  • Teoritenta – en standardtenta som testar dina kunskaper på kursen. Till denna kan man samla bonuspoäng genom att svara på teorifrågor under fyra tillfällen på terminen, samt klara de fyra labbarna i tid.
  • Labbar – dessa existerar inte på schemat ovan men ingår givetvis i kursen ändå. Vi har fyra obligatoriska labbar vi måste genomföra och klara för att få godkänt. Dessa handlar om olika saker beroende på vart i kursen vi är och är olika svåra. Klarar du alla labbar i tid får du fyra bonuspoäng till tentan.
  • Teorifrågor – dessa frågor tillhör labbarna, men är inte obligatoriska. Innan varje labb bör du ha svarat på dessa frågor för att klara labben, och de redovisas först skriftligt genom en inlämning och sedan även redovisning/kamraträttning tillsammans med en kursare till dig.

De första tre delarna är det som räcker för att få godkänt i kursen, men utöver det kan ni även se att det finns muntor (som en muntlig tenta) och extralabbar om man vill höja sitt betyg.

Som tur är så är inte alla kurser på KTH så här jobbiga, utan de flesta är väldigt överkomliga (denna också faktiskt). Dock måste jag inflika att den faktiskt är väldigt rolig, och man lär sig extremt mycket. Ett måste för alla dataloger!

Labb 3 – Flöden (av tårar) och matchningar

Idag ägnas dagen åt att labba för full rulle. Imorgon har vi redovisning på en labb i kursen ADK (Algoritmer, datastrukturer och komplexitet) som handlar om flöden och matchningar (möjligtvis en aning diffust för er som inte vet vad detta betyder), alltså en blandning av programmering och diskret matematik. Det jag tycker om med att läsa flera kurser parallellt är att mycket som man lär sig i ena kursen får man lära sig i en annan kurs samtidigt, men kanske med olika perspektiv. Detta gör att ens förståelse verkligen blir bättre.

Hur labbar fungerar på data är oftast så att du får instruktioner om hur du gör, sedan försöker du göra labben innan en viss deadline. Det är inte en deadline på när du senast måste göra labben, för det kan du i princip göra under hela din tid på KTH, utan snarare att om du redovisar innan eller på det datumet så får du bonuspoäng till tentan eller kontrollskrivningen. Jag rekommenderar starkt att du försöker göra så många labbar i tid som möjligt då det är väldigt svårt att försöka ta tag i dem i efterhand.

När du sedan redovisar ställer du dig i kö så kommer snart en asse (en student som redan läst kursen) och då förklarar du och din labbpartner vad ni har gjort för att lösa uppgiften. Assen kanske ställer lite frågor för att se att ni verkligen har koll, så se till att du har det innan ni redovisar.