| TDDB28 |
Programmering - tillämpning och datastrukturer, 6 p
/Programming and Data Structures/
För:
Mat
TB
Y
|
| |
Prel. schemalagd
tid: 92
Rek. självstudietid: 148
|
| |
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi, Datateknik Nivå (A-D):B
|
| |
Mål:
Kursen skall ge deltagarna fördjupade kunskaper i programmering i ett industriellt gångbart, objektorienterat programspråk, samt kunskaper om objektorienterad programutvecklingsmetodik. Därutöver skall kursen ge en översikt av och kunskaper om vanliga datastrukturer och algoritmer.
Efter kursen ska deltagaren:
- ha goda kunskaper i det programspråk som används i kursen,
- självständigt kunna ta fram programmerbara lösningar för problem av litet format och utifrån dessa kunna skriva kod med lämpligt val av grundläggande datastrukturer (t.ex. strängar, fält, länkade listor) och programstrukturer (t.ex. uttryck, satser, funktioner) i det aktuella språket.
- ha goda kunskaper om objektorienterade konstruktioner och mekanismer i objektorienterade programspråk, dvs om klasser, arv, polymorfi, etc, samt kunna programmera med användning av dessa.
- ha grundläggande kunskaper om de olika stegen i objektorienterad analys och design samt om olika former av analys- och dokumentationshjälpmedel, såsom klasskort, klassdiagram och klassbeskrivningsformulär.
- i grupp (eller självständigt) kunna genomföra en objektorienterad analys och design enligt grunderna för dessa aktiviteter och dokumentera arbetet med klassdiagram och andra former av dokumentationshjälpmedel som tas upp i kursen, samt implementera designen.
- ha god kännedom om vanligt förekommande datstrukturer och algoritmer, och förståelse för deras egenskaper då det gäller effektivitet (tidsåtgång, minnesbehov) och hur effektiviteten kan påverkas av egenskaper hos indata såsom tillgänglighet, antal, eventuell ordning, etc., samt kunna bedöma vad som kan vara ett lämpligt val av datastruktur eller algoritm, grundat på indatas tillgänglighet, antal och eventuell ordning samt syftet med datalagringen eller bearbetningen.
|
| |
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) Grundkurs i programmering. Framför allt avses programmeringsvana, dvs att kunna analysera och formulera programmerbara lösningar för mindre
problem. Vana att hantera IDA:s 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 TDDB63 Processbeskrivning och operativsystem, TDDB38 Databasteknik, TDDB47/TDDC47 Realtids- och processprogrammering,
TDDB29 Kompilatorer och interpretatorer.
|
| |
Organisation: Föreläsningarna behandlar programspråket, objektorienterad analys och design, samt datastrukturer och algoritmer. På lektionerna förbereds laborationer och projekt, samt behandlas olika programmeringshjälpmedel.
På laborationerna löses programmeringsuppgifter. Ett mindre projekt, omfattande objektorienterad analys, design och programmering, med tillhörande dokumentering avslutar kursen. Kursen pågår under hela höstterminen. I mitten av den andra läsperioden ges en hemtentamen som pågår under en dryg vecka. Antalet timmar föreläsning och lektion är förhållandevis lågt för att ge mer utrymme åt eget arbete.
|
| |
Kursinnehåll: Programspråket och dess programmeringsmiljö. Grundläggande objektorienterad analys och design, objektorienterad programmering. Datastrukturer:
listor, stack, kö, träd, hashtabeller och prioritetsköer. Sökning och sortering.
Grundläggande om analys av algoritmer. Ett mindre programmeringsprojekt.
|
| |
Kurslitteratur: Enligt kursinformationen som utkommer inför varje kursstart, samt kursens webbsidor, http://www.ida.liu.se/~TDDB28/.
|
| |
Examination: |
PRA1 LAB1 UPG1
|
Ett obligatoriskt projekt (U,G) En obligatorisk laborationskurs (U,G,VG) En obligatorisk skriftlig hemtentamen (U,G,VG) |
2 p 2,5 p 1,5 p
|
| |
|
På avslutad kurs ges betyg U,3,4,5.
Laborationer och hemtentamen betygssätts godkänt (G) eller väl godkänt (VG) och slutbetyget för kursen bestäms av det sammanvägda resultatet på dessa två moment (två G ger betyg 3, ett VG ger betyg 4, två VG ger betyg 5). |
|