TDDC76 Programmering och datastrukturer
Kursinformation
Denna kurs är en påbyggnadskurs i programmering. Deltagarna ska ha genomgått en grundkurs i programmering och förutsätts ha grundläggande färdigheter i att analysera och formulera programmerbara lösningar för mindre programmeringsuppgifter. I kursen används programmeringsspråket C++ med inriktning på procedurell och objektorienterad programmering. Grunderna för objektorienterad analys och design tas upp och övas i ett projekt.
Kursen har relativt få föreläsningar, få lektioner men relativt mycket tid för programmering. En hög grad av självstudier förutsätts.
För kursens mål, etc., se kursplanen i LiTHs studiehandbok.
Kursplanering 2012. (PDF)
Aktivitetsöversikt 2012. (PDF)
Kurslitteratur
Lärobok på svenska, Skansholm, Jan: C++ direkt, tredje upplagan, Studentlitteratur (2011) (populär bland studenter men har påtagliga brister).
För den som vill skaffa en mer högkvalitativ lärobok om C++ rekommenderas C++ Primer 5/E, Stanley Lippman, José Lajoie och Barbara Moo (2012).
En annan klassiker är The C++ Programming Language 4/E, Bjarne Strostrup (maj 2013).
Datastrukturer:
Det finns ett enkelt kompendium som täcker kursens behov. Den som vill ha en riktig lärobok kan överväga Data Structures and Algorithm Analysis in C++, 3/E, (2007), Mark Allen Weiss.
Laborationshandledningar kommer att finnas i samband med kursstart. Allmän information och den introduktionslaboration som inleder laborationerna delas ut på den första lektionen. Den egentliga laborationsserien distribueras via webben.
Examination
Kursen examineras genom laborationer, ett mindre projekt och en hemtentamen. För mer information om examination, se kursens webbsidor.
Anmälan till laborationer
Anmälan till laborationer görs via IDAs webbaserade anmälningssystem WebReg under kursens inledning. Länk kommer att finnas från kursens webbsidor.
Om du inte redan är registrerad på kursen bör du göra det så snart möjligt!
Lärare och administrativ personal
Presenteras på kursens kontaktsida.
Schema
För schemat som helhet hänvisas till kursens eget schema på webben, där även planering finns. Kursen inleds med en lektionen och en introduktionslaboration. Först därefter börjar föreläsningarna och de ordinarie laborationerna.
Organisation
Föreläsningarna i Ht1 behandlar kursens innehåll med avseende på C++. Första föreläsningen i Ht2 orienterar om objektorienterad programutvecklingsmetodik och verktyg för detta. Övriga föreläsningar i Ht2 behandlar datastrukturer och algoritmer.
Lektionerna kommer att omfatta orientering om C++kompilering och praktiska frågor kring laborationerna (lektion 1), uppsamling efter laboration 1.1-1.3 och genomgång inför laboration 1.4-1.5 (lektion 2), genomgång inför laboration 3 och verktyget make (lektion 3), samt övning på objektorienterad programutveckling, främst objektorienteras analys (lektion 4). På lektion 5 delas hemtentamen ur och en video om sorteringsalgoritmer visas.
Laborationerna omfattar tre laborationsuppgifter, vilka i sin tur består av deluppgifter. De olika laborationstillfällena är inte direkt tillägnade vissa uppgift. Tidplaneringen gör du i princip själv, i förhållande till de deadline som finns för de olika laborationsuppgifterna. Arbete med laborationsuppgifter förutsätts ocksaå vara en aktivitet ingående i hemarbetstiden, dvs du får räkna med att arbeta vid dator en hel del även vid sidan av den schemalagda tiden. Laborationerna betygsätts väl godkänd (VG), godkänd (G) eller underkänd (U). Observera att det finns ett antal deadline för laborationer och att dessa måste hållas för att komma ifråga för högre betyg än godkänd. Observera också att i LADOK rapporteras godkända laborationer (LAB1) endast som G och att betyget G eller VG sammanvägs med betyget på hemtentamen till ett sifferbetyg som sätt för hemtentamen (UPG1).
Projektet genomförs huvudsakligen under Ht2 i grupper om 4-6 personer. Projektet består i att sammanställa en enkel kravspecifikation, samt genomföra objektorienterad analys (OOA), design (OOD) och programmering (OOP). För de olika momenten ska ett motsvarande mindre dokument inlämnas. Observera att vissa moment ingående i projektet ska utföras redan under Ht1, bl.a. att bilda projektgrupper, föreslå projektuppgift och skriva en kravspecifikation. Projektet betygssätts endast godkänt (G) eller icke godkänt (U).
Hemtentamen behandlar datastrukturer och algoritmer och är helt oberoende av programeringsspråk. Den är planerad att genomföras under den femte veckan av Ht2. Hemtentamen betygssätts väl godkänd (VG), godkänd G eller underkänd (U). Observera dock att i LADOK betygssätts tentamen med sifferbetyg och att detta bestäms genom sammanvägning av betygen på hemtentamen och laborationerna (G+G=3, G+VG=4, VG+VG=5).
WWW
På kursens webbsidor kan du hitta bland annat följande:
- Information av olika slag; kursinformation, examination, aktuella meddelanden, schema med aktivitetsplanering, föreläsningsdagbok.
- Laborationsmaterial: uppgifter (släpps i samband med kursstarten) och stödmaterial.
- Projektanvisningar, projektförslag och annat material som rör projektet och dess genomförande.
- Läsanvisningar och annat instuderingsmaterial.
- Länkar till information om C++ och programmering i C++.
Bekanta dig väl med innehållet på kursens webbsidor!
Sidansvarig: Tommy Olsson
Senast uppdaterad: 2013-03-14
