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å

G2

Tidsfördelning

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

Språk

Svenska

Länkar

Kurshemsida

SNY har ordet

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.

Kursutvärderingar

Logga in för att läsa kursutväderingar

Innehåll

Föreläsningar, lektioner och laborationer behandlar programspråket C++ och dess programmeringsomgivning, objektorienterad analys och design, programmering i C++, datastrukturer och algoritmer.
  • imperativ programmering i C++ (variabler, konstanter, deklarationer, uttryck, satser, funktioner, grundläggande datatyper och datastrukturer).
  • klasser (deklaration, datamedlemmar, medlemsfunktioner, nästlade typer, åtkomstspecifikation för medlemmar, konstruktorer, destruktorer, härledning/arv, polymorfi, dynamisk typkontroll och typomvandling).
  • objektorienterad programutvecklingsmetodik (objektorienterad analys, design och kodning).
  • användning av C++ standardbibliotek (in- och utmatning, tecken- och stränghantering, containrar).
  • algoritmanalys, linjära datastrukturer, binära träd, sortering, hashning, indexering, grafer.

Mål

Kursen ska ge fördjupade kunskaper i programmering, speciellt procedurell och objektorienterad programmering i programspråket C++, och kunskaper om vanligt förekommande datastrukturer och algoritmer. Efter genomgången kursen ska studenten:
  • kunna konstruera och implementera program i programspråket C++.
  • kunna tillämpa objektorienterad programutvecklingsmetodik.
  • känna till och kunna använda vanligt förekommande datastrukturer och algoritmer.

Examinationsmoment

PRA1 - 3,0 HP
Ett obligatoriskt projekt (U,G)
LAB2 - 3,5 HP
En obligatorisk laborationskurs (U,G,VG)
UPG3 - 1,5 HP
Datorbaserade inlämningsuppgifter (U,G)
UPG4 - 0,0 HP
Frivillig individuell reflektionsuppgift (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. Slutbetyget för kursen bestäms av resultatet på LAB2 i kombination med UPG4. Betyg G i LAB2 ger betyg 3, VG i LAB2 ger betyg 4, och G i UPG4 höjer betyget från LAB2 en nivå (till 4 eller till 5).

Organisation

Kursen består av föreläsningar, lektioner, laborationer och hemarbete (för litteraturstudier, lösning av laborations- och inlämningsuppgifter samt projektarbete).

Litteratur

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

Rekommenderade förkunskaper

Grundkurs i programmering, speciellt grundläggande färdigheter i problemlösning och konstruktion av små program. Grundläggande färdigheter i användning datorer och vana vid unixbaserade datorsystem.

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.