DV1618 Algoritmer och datastrukturer med objektorienterad Python

Programkurs, 7,5 Högskolepoäng, Grundnivå, vårterminen 2021

Denna kurs är del av program och går inte att söka till.

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.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2021 vecka 03 till 2021 vecka 12
  • Nivå: G2F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges i huvudsak på svenska men undervisning på engelska kan förekomma.
  • Ort: Karlskrona
  • Huvudområde: Datavetenskap
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • Förkunskapskrav: För tillträde till kursen krävs genomgången kurs Programmering och problemlösning med Python 7,5 hp.

Innehåll

• Objektorienterade programmeringsteknike 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.

Lärandemål

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.
• Kunna använda objektorienterade tekniker i webbmiljö genom att tillämpa dem i praktiska övningar och projekt.
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.
• Kunna välja och implementera lämpliga datastrukturer för en given situation.
• Kunna implementera och analysera algoritmer.
• Via text och muntligt kunna presentera datastrukturer och algoritmer.
Värderingsförmåga och förhållningssätt
• Påvisa god förmåga att välja mellan objektorienterad programmering kontra procedurell programmering vid en given problemställning.
• Kunna bedöma vilka datastrukturer och algoritmer som är lämpliga för ett problem.

Kurslitteratur och övriga läromedel

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

Kurslitteratur och övriga läromedel

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

Lärande och undervisning

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. Ingen praktik ingår i planerade lärtillfällen. BTH strävar efter tät kontakt med näringslivet vid utveckling av kurser och program.

Lärare

I genomsnitt bör en student räkna med att studera 200 timmar för att nå lärandemålen.
I denna tid ingår alla olika förekommande lärandeaktiviteter (föreläsningar, självstudier, examination m. m.).
Tidsuppskattningen baseras på att ett akademiskt år omfattar 60 högskolepoäng (motsvarar 60 ECTS credits),
som svarar mot en total studietid på ca 1 600 timmar. Den faktiska studietiden varierar individuellt.

Bedömning

Betyg

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredsställande, E Tillräckligt, FX Otillräckligt, komplettering krävs, F Underkänd.

Tentamina

Du kan läsa mer om tentamen i Studentportalen och där anmäler du dig till de flesta tentamina.


Det kan finnas andra planerade examinationstillfällen. Information om dem finns i lärplattformen Canvas eller på annan plats som kursansvarig hänvisar till.

Kursutvärdering

Kursansvarig ansvarar för att studenternas synpunkter på kursen systematiskt och regelbundet inhämtas och att resultaten av utvärderingar i olika former påverkar kursens utformning och utveckling.