En grundläggande kurs i datalogi och programmeringspraktik.
Kurs-PM HT 2022
Presentation av kursen
Rubriker markerade med en asterisk ( * ) kommer från kursplan version HT 2021
Innehåll och lärandemål
Kursinnehåll
Programmering i Python. Programkvalitet. Abstraktion. Modularisering. Testning och felsökning. Versionshantering. Systemanrop. Biblioteksrutiner. Elementär webbprogrammering.
En systematisk genomgång av begreppen abstrakta datatyper, stackar, köer, listor, träd, sökning, sortering och rekursion. Hashning. Prioritetsköer. Sökträd. Problemträd. Textsökning. Algoritmanalys.
Lärandemål
Efter godkänd kurs ska studenten kunna
- skriva strukturerade program på några sidor i programspråket Python
- systematiskt felsöka program
- skriva automatiserade testprogram
- använda abstraktion som ett verktyg för att förenkla programmeringen
- använda prototypprogrammering i Python
- skriva fristående komponenter
- använda ett webb-API (programmeringsgränssnitt)
- välja lämplig algoritm till ett givet problem
- jämföra algoritmer med avseende på tids- och minnesåtgång
- beskriva olika algoritmer för sökning och sortering och deras egenskaper
- formulera och implementera rekursiva algoritmer
- modellera problem som sökproblem och implementera algoritmer för breddenförstsökning, djupetförstsökning och bästaförstsökning
- beskriva grundläggande komprimeringsalgoritmer och vid vilka typer av komprimering de används
- implementera stackar och köer samt använda dessa
- implementera insättnings-, genomgångs- och sökoperationer i binära sökträd och allmänna träd samt använda dessa
- implementera hashtabeller och hashfunktioner samt använda dessa
- använda prioritetsköer
- identifiera problem där datastrukturerna ovan är användbara och konstruera enkla algoritmer med dessa
i syfte att
- bli bra på att lösa problem med programmering
- kunna använda datalogiska metoder i tillämpningsprojekt
- kunna testa datorsystem
- få tillräckliga förkunskaper för att kunna läsa fortsättningskurser i datalogi.
Förberedelser inför kursstart
Kurslitteratur
Det finns ingen kursbok som är heltäckande för kursens ämnesområde. Kursen använder ett OLI-material (Online Leraning Initiative) som frivilligt instuderingsmaterial. Länk till detta finns via canvas.
Utrustning
Egen dator rekommenderas. Det finns linux-datasalar att tillgå på KTH.
Programvara
Kursen använder programmeringsspråket Python och flera tillägg/paket som kan behöva installeras separat.
Stöd för studenter med funktionsnedsättning
Om du har en funktionsnedsättning kan du få stöd via Funka:
Examination och slutförande
Betygsskala
A, B, C, D, E, FX, F
Examination
- KONT - Kontrollskrivningar, 3,0 hp, Betygsskala: A, B, C, D, E, FX, F
- LABD - Programmeringsuppgifter, 3,0 hp, Betygsskala: A, B, C, D, E, FX, F
- LABP - Programmeringsuppgifter, 3,0 hp, Betygsskala: P, F
Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.
Examinator får medge annan examinationsform vid omexamination av enstaka studenter.
Digital tentamen används för högre betyg på KONT.
Avsnittet nedan kommer inte från kursplanen:
Kontrollskrivningar ( KONT )
Programmeringsuppgifter ( LABD )
Programmeringsuppgifter ( LABP )
Etiskt förhållningssätt
- Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
- Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
- Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.
Avsnittet nedan kommer inte från kursplanen:
Om en student inte kan redogöra för hela uppgiftslösningen så kan examinator ge en ny programmeringsuppgift.
Ytterligare Information
Ingen information tillagd
Kontakter
Kursansvarig
Lärare
Lärarassistenter
Examinator
Fakta om kursomgång
Startdatum
2022-10-31
Kursomgång
- tilpro22 HT 2022-52274
Undervisningsspråk
Svenska