TDDC76 |
Programmering och datastrukturer, 8 hp
/Programming and Data Structures/
För:
FyN
Mat
MED
TB
Y
Yi
|
OBS! |
Yi: En grundkurs i programmering läses under utlandsåret alt TDDC74, TDDC76
|
|
Prel. schemalagd
tid: 98
Rek. självstudietid: 115
|
|
Utbildningsområde: Teknik
Huvudområde: Datateknik, Datavetenskap Nivå (G1,G2,A): G2
|
|
Mål:
IUAE-matris
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.
|
|
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) 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.
OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.
|
|
Påbyggnadskurser Kurser där goda kunskaper i procedurell eller objektorienterad programmering, speciellt i C++, förutsätts. Exempel på sådana kurser är kurser som behandlar kompilatorer och interpretatorer, databaser, processprogrammering, realtidsprogrammering, operativsystem, designmönster, programutvecklingsprojekt och programmering av parallelldatorer.
|
|
Organisation: Kursen består av föreläsningar, lektioner, laborationer och hemarbete (för litteraturstudier, lösning av laborations- och inlämningsuppgifter samt projektarbete).
|
|
Kursinnehå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.
|
|
Kurslitteratur: 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.
|
|
Examination: |
PRA1
LAB2
UPG3
UPG4
|
Ett obligatoriskt projekt (U,G) En obligatorisk laborationskurs (U,G,VG) Datorbaserade inlämningsuppgifter (U,G) Frivillig individuell reflektionsuppgift (U/,) |
3 hp 3,5 hp 1,5 hp 0 hp
|
|
|
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). |
|