Y-sektionens studienämnd är ansvariga för att informationen på guiden är aktuell. Om du hittar någonting som inte stämmer kan du mejla SNY.

Budgetår


Institution

IDA

Examinator

Klas Arvidsson

Schemablock

Heltermin

HT1: block 2
HT2: block 2

Huvudområden

Datateknik
Datavetenskap

Nivå

G2X

Tidsfördelning

8,0HP
Schemalagd tid: 98 timmar
Självstudietid: 115 timmar

SNY har ordet

Ersätter fr.o.m HT24 TDDC76. Skillnaden är att denna kurs har en dugga i samband med tentaperioden i oktober. Duggan är en spärr för projektarbetet i HT2. Chans till omdugga ges i början av november (efter tentaperioden). Klarar man inte omduggan får man en tredje chans, men måste göra projektet nästa omgång som kursen går. Denna fortsättningskurs i programmering består av tre delar. I den första får du lära dig att programmera både procedurellt och objektorienterat i C++, som är ett industriellt gångbart språk. Idén med objektorienterad programmering är att identifiera objekt i problemområdet (en person, en löneutbetalning, o.s.v.) och modellera objekten i programmeringsspråket med hjälp av klasser. Program byggs upp av objekt (instanser av klasser) som kommunicerar med varandra och utför uppgifter. Den andra delen behandlar datastrukturer och algoritmer. Här handlar det om hur man effektivt lagrar data och hur man sedan snabbt kan återfinna det man söker. Sista delen består av ett projekt där man jobbar fyra till sex personer och tillämpar det man lärt sig.

Innehåll

Studenten tillägnar sig färdighet i programmering av C++. Kursen tar upp de imperativa grunderna följt av objektorienterat tankesätt såväl som språkstöd för det. Innehåll:

  • Imperativ programmering i C++ (datatyper, variabler, uttryck, satser, funktioner)
  • Testdriven utveckling (TDD)
  • Objektorienterad C++ (klasser, speciella medlemsfunktioner, specialisering, polymorfi, dynamisk typomvandling)
  • Programutvecklingsmetodik (objektorienterad analys, design och kodning)
  • Användning av C++ standardbibliotek (in- och utmatning, tecken- och stränghantering, containrar)
  • Användning av externt programbibliotek
  • Programomgivning och verktyg (kompilator, versionshantering, byggverktyg)
  • Datastrukturer och algoritmer (komplexitetsberäkning och datastrukturer för effektiva algoritmer vad gäller insättning, borttagning, sökning och sortering)

Mål

Efter genomgången kurs ska studenten kunna:

  • använda grundläggande språkkonstruktioner
  • använda designprinciper, metoder och tekniker som används inom objektorienterad programmering för att konstruera program som löser givna problem
  • använda objektorienterade principer för att samarbeta i konstruktionen av ett mer omfattande program
  • komplexitetsberäkna och använda vanligt förekommande datastrukturer och algoritmer

Examinationsmoment

UPG2 - 0,5 HP
Skriftlig examination (U, 3, 4, 5)
UPG1 - 1,5 HP
Datorbaserade inlämningsuppgifter (U, G)
LAB1 - 3,0 HP
En obligatorisk laborationskurs (U, G)
PRA1 - 3,0 HP
Ett obligatoriskt projekt (U, G)

Examination

Programmeringsuppgifterna övar och prövar studentens kunskaper och färdigheter i imperativ och objektorienterad programmering.

Projektet övar och prövar kunskaper och studentens färdigheter i objektorienterad analys, design och programmering samt att arbeta i en projektgrupp.

De datorbaserade inlämningsuppgifterna prövar studentens kunskaper om datastrukturer och algoritmer och är samtidigt ett tillfälle för inlärning.

UPG2 ger grundbetyget U/3 och vid betyg 3 tillgodoräknas betygsuppgiftspoäng (bonus) från övriga kursmoment för överbetygen 4/5. Bonus ges för prestationer som går utöver kraven för godkänt enligt de krav som anges för respektive uppgift.

Betyg på delmoment/modul beslutas i enlighet med de bedömningskriterier som presenteras vid kursstart.

Organisation

Första halvan av kursen bedrivs med föreläsningar där nytt stoff presenteras. Därefter diskuteras och löses problem gemensamt under seminarier där stoff från föreläsning nyttjas i problemlösningen. Studenten cementerar därefter sin inhämtade kunskap genom egen problemlösning via övningsuppgifter. 

I andra halvan av kursen tillämpas kunskaperna genom att genomföra ett programmeringsprojekt.

Arbete med datastrukturer och algoritmer bedrivs via interaktivt självstudiematerial med inbyggda kontrollfrågor.

Litteratur

Kompletterande litteratur

Böcker

  • Bjarne Stroustrup, (2013) The C++ Programming Language, 4/E Addison-Wesley
    Referensbok för dig som redan kan programera en del C++ eller liknande språk.
  • Stanley B. Lippman, Josée Lajoie, Barbara E. Moo, (2012) C++ Primer, 5/E Addison-Wesley
    Traditionell lärobok

Rekommenderade förkunskaper

Programmering, grundkurs
TDDE44 - 8,0 HP - VT1 block 2, VT2 block 1

Påbyggnadskurser

Databasteknik
TDDD12 - 6,0 HP - VT2 block 4
Programmering av parallelldatorer - metoder och verktyg
TDDC78 - 6,0 HP - VT2 block 2

Kommentarer

Logga in för att kunna läsa och skriva kommentarer.