DD1321 Tillämpad programmering och datalogi 9,0 hp
En grundläggande kurs i datalogi och programmeringspraktik.
Välj termin och kursomgång
Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.
Kursval
Gäller för kursomgång
HT 2024 tilpro24 programstuderande
Anmälningskod
50154
Innehåll och lärandemål
Kursinnehåll
Programmering: Imperativ och objektorienterad programmering i Python. Programmeringsmetodik. Programkvalitet. Testning och felsökningsstrategier. Modularisering. Abstraktion. Programmeringsgränssnitt.
Algoritmer och datastrukturer: En systematisk genomgång av datalogiska begrepp: abstrakta datatyper, algoritmanalys, rekursion, stackar, köer, listor, sökning, sortering, hashning, prioritetsköer, träd, sökträd, problemträd, textsökning, enkel syntaxanalys, kryptering.
Lärandemål
Efter godkänd kurs ska studenten kunna
- skriva strukturerade program utan kodupprepning i Python
- använda och konstruera sammansatta datatyper och klasser
- utforma och presentera användarvänliga utdata
- överföra data mellan fil och program
- systematiskt felsöka och testa program
- använda abstraktion som ett verktyg för att förenkla programmeringen
- använda programmeringsgränssnitt
- välja lämplig algoritm till ett givet problem
- jämföra algoritmer med avseende på tids- och minnesåtgång
- implementera olika algoritmer för sökning och sortering och redogöra för 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, köer, binära sökträd, allmänna träd, hashtabeller och hashfunktioner samt använda dessa
- använda prioritetsköer
- använda enkla krypteringsmetoder, och förklara principerna för asymmetrisk kryptering
- använda algoritmer för textsökning, reguljära uttryck och BNF-syntax
- 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
- få tillräckliga förkunskaper för att kunna läsa fortsättningskurser i datalogi.
Kurslitteratur och förberedelser
Särskild behörighet
Kunskaper och färdigheter i grundläggande programmering, 3 hp, motsvarande slutförd kurs SF1511/SF1516/SF1518/SF1519/SF1521.
Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs.
Den som är registrerad anses vara aktivt deltagande.
Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.
Rekommenderade förkunskaper
Utrustning
Kurslitteratur
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
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.
För högre betyg på KONT görs muntlig examination eller datortentamen. Vilken av examinationsformerna som kommer att användas anges i kurs-PM.
Möjlighet till komplettering
Möjlighet till plussning
Examinator
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.
Ytterligare information
Kursrum i Canvas
Ges av
Huvudområde
Utbildningsnivå
Påbyggnad
Fortsättningskurser är bland annat DD2350 Algoritmer, datastrukturer och komplexitet, DD1418 Språkteknologi, DD1334 Databasteknik, DD1377 Maskinnära programmering och datorarkitektur, DD1420/DD2421 Maskininlärning och DH2323 Datorgrafik med interaktion. Dessutom DD1380 Javaprogrammering för Pythonprogrammerare följd av DD1385 Programutvecklingsteknik eller DD1389 Internetprogrammering.
Kontaktperson
Övergångsbestämmelser
TEN1 har ersatts av KONT.
Övrig information
Endast en av följande kurser får räknas med i examen: DD1320, DD1321, DD1325, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020, ID1021.
I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex