Programmeringsteknik II
Kursplan, Grundnivå, 1TD722
- Kod
- 1TD722
- Utbildningsnivå
- Grundnivå
- Huvudområde(n) med fördjupning
- Datavetenskap G1F, Teknik G1F
- Betygsskala
- Med beröm godkänd (5), Icke utan beröm godkänd (4), Godkänd (3), Underkänd (U)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 17 februari 2022
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
Programmeringsteknik I
Mål
Efter godkänd kurs ska studenten kunna:
- använda programspråket Python med stöd av verktyg för testning, felsökning och versionshantering, både i form av att skriva egen kod och kunna förklara vad en given kod utför;
- redogöra för begreppen polymorfi i allmänhet och duck typing i Python och använda dessa begrepp i egen programutveckling;
- implementera rekursiva lösningar till olika problem;
- beskriva principen för analys av algoritmers effektivitet och utföra sådan analys av enklare algoritmer;
- beskriva och använda de grundläggande datastrukturerna lista, hashtabell och träd samt med dessa som grund kunna implementera abstrakta datatyper som stackar, köer, generatorer och avbildningar;
- beskriva hur felhantering med hjälp av undantag fungerar och kunna använda detta i egna program;
- redogöra för Pythons begränsningar och former för att integrera Python med andra språk;
- implementera program med såväl enkla sekventiella flöden som parallella eller händelsedrivna flöden, inklusive enkla former av parallell bearbetning, och diskutera skillnaderna.
Innehåll
Fortsatt programmering i Python: polymorfi, duck typing, undantag. Begreppen stackar, köer, enkla grafer som listor och träd, hashtabeller, avbildningar i allmänhet med Pythons Dictionary som specialfall. Generatorer med stöd av nyckelordet yield.
Grundläggande algoritmer för lagring, sökning och sortering. Felsökning, versionshantering och testning. Analys av asymptotisk tidskomplexitet. Egenskaper hos Python som språk och programmiljö jämfört med C++. Implementering och enklare prestandajämförelse för samma algoritm i Python och C++.
Representera kod som objekt, inklusive lambdauttryck, och använda detta för händelsedriven och parallell programmering i Python.
Undervisning
Föreläsningar, lektioner/laborationer och obligatoriska inlämningsuppgifter.
Examination
Skriftligt prov (2 hp) samt inlämningsuppgifter (3 hp).
Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.
Litteraturlista
- Litteraturlista giltig från och med höstterminen 2023
- Litteraturlista giltig från och med höstterminen 2019
- Litteraturlista giltig från och med höstterminen 2017
- Litteraturlista giltig från och med vårterminen 2013
- Litteraturlista giltig från och med höstterminen 2010
- Litteraturlista giltig från och med höstterminen 2009
- Litteraturlista giltig från och med höstterminen 2007