Skriv ut som pdf om du vill ha en pdf! Om du vill ha en snyggare utskrift, klicka bort webbläsarens automatiskt tillagda sidhuvud och sidfot.

Blekinge Tekniska Högskola
Institutionen för datavetenskap

Revision: 2
Dnr: BTH-4.1.14-0824-2021


Kursplan

Algoritmer och datastrukturer med objektorienterad Python

Algorithms and Data Structures with Object-oriented Python

7,5 högskolepoäng (7.5 credits)

Kurskod: DV1660
Huvudområde: Datavetenskap, Programvaruteknik
Utbildningsområde: Tekniska området
Utbildningsnivå: Grundnivå
Fördjupning: G1F - Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Undervisningsspråk: Undervisningen ges i normalfallet på svenska, men undervisning på engelska kan förekomma
Gäller från: 2022-01-17
Fastställd: 2021-09-01

1. Beslut

Denna kurs är inrättad av dekan 2021-05-18. Kursplanen är fastställd av prefekten vid institutionen för datavetenskap 2021-09-01 och gäller från 2022-01-17.

2. Förkunskapskrav

För tillträde till kursen krävs genomgången kurs i Programmering och problemlösning med Python 7,5 hp.

3. Syfte och innehåll

3.1 Syfte

Kursen syftar till att lära studenterna objektorienterade angreppssätt och designprinciper för att utveckla objektorienterade program. Vidare ska studenterna lära sig såväl teoretiska aspekter som implementationsaspekter av algoritmer och datastrukturer.

3.2 Innehåll

  • Objektorienterade programmeringstekniker så som klasser, objekt, operatoröverlagring, överskuggning och klassrelationer (exempelvis arv och komposition). Det ingår även hur objekt hanteras med pekare och minneshantering.
  • Listor, mängder och köer.
  • Trädalgoritmer.
  • Abstrakta datatyper (ADT).
  • Hashtabeller.
  • Rekursion.
  • Sorterings- och sökalgoritmer.
  • Introduktion till komplexitetsteori.
  • Introduktion till objektorienterad analys och design med UML.
  • Introduktion till testning med enhetstester.
  • Webbaserade teknologier för att bygga webbtjänster med Python.
  • Utvecklingsmiljö och verktyg för programvaruutveckling med Python samt publicera kod på en driftserver och visa resultat via webbsidor.

4. Lärandemål

Följande lärandemål examineras i kursen:

4.1. Kunskap och förståelse

  • Påvisa grundläggande kunskaper i datastrukturer och algoritmer genom att känna till begrepp som

abstrakt datatyp, rekursion, trädalgoritm, länkade listor och hashtabeller.

  • Känna till och förstå grundläggande algoritmer inom bland annat sökning och sortering.
  • Ha kunskap inom problemlösning med objektorienterad programmering i Python genom att skriftligen beskriva och sammanfatta erfarenheter och observationer från övningar och projekt.
  • Använda objektorienterade tekniker i webbmiljö genom att tillämpa dem i praktiska övningar och projekt.

4.2. Färdighet och förmåga

  • Självständigt, utifrån en specifikation, utveckla en webbaserad objektorienterad lösning i Python.
  • Analysera och designa lösningen med UML.
  • Välja och implementera lämpliga datastrukturer för en given situation.
  • Implementera och analysera algoritmer.
  • Via text och muntligt presentera datastrukturer och algoritmer.

4.3. Värderingsförmåga och förhållningssätt

  • Bedöma vilka datastrukturer och algoritmer som är lämpliga för ett problem.

5. Läraktiviteter

Som stöd används BTH:s lärplattform där kursmaterial distribueras och information publiceras. Det förekommer kommunikation via e-post och handledning sker i sal (campusstudenter) och via forum och chatt (distansstudenter). Kursen består av ett antal kursmoment som utförs individuellt och/eller i grupp. Kursmomenten är praktiskt inriktade och fokuserar på att öva färdigheter via övningar och problemlösning. Varje kursmoment innehåller en teoretisk del där studenten fördjupar sin kunskap genom att studera litteratur och söka information. Efter varje avslutat kursmoment lämnas resultatet in och studenten gör en skriftlig avrapportering. En lärare ger kort feedback på varje inlämning. Kursen avslutas med ett examinationsmoment/projekt. I kursen förutsätts att studenten har, eller skaffar sig, förmågan att självständigt söka information för att lösa problem och svårigheter som dyker upp.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
2205 Inlämningsuppgift 1 2,5 hp GU
2215 Inlämningsuppgift 2 2,5 hp GU
2225 Inlämningsuppgift 3 2,5 hp AF

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredställande, E Tillräckligt, FX Underkänd, något mer arbete krävs, F Underkänd.

I kurstillfällets information inför kursstart framgår i vilka examinationsmoment som kursens lärandemål examineras samt gällande bedömningsgrunder.

Examinator kan, efter samråd med högskolans FUNKA-samordnare, fatta beslut om anpassad examinationsform för att en student med varaktig funktionsvariation ska ges en likvärdig examination jämfört med en student utan funktionsvariation.

7. Kursvärdering

Kursvärdering ska göras i enlighet med BTH:s beslut om frågeställning i kursvärderingar och beslut om process för hantering och uppföljning av kursvärderingar.

8. Begränsningar i examen

Kursen kan ingå i examen men inte tillsammans med annan kurs vars innehåll, helt eller delvis, överensstämmer med innehållet i denna kurs.

9. Kurslitteratur och övriga lärresurser

Titel: Python 3 Object-oriented Programming
Utgiven, revision, antal sidor: 2018 oktober, tredje utgåvan, 466 sidor
Författare: Dusty Phillips
Förlag: Packt Publishing Ltd.
ISBN: 9781789615852

10. Övrigt

Denna kurs ersätter kursen DV1618