TDDC68 Imperativ programmering i Ada
Kursinformation
Allmänt
Under period VT1 (period 3) kommer en serie föreläsningar, lektioner, laborationer att genomföras. Lite speciellt är att vi kommer att ha en laborationsserie i Ada och därefter kommer ett par laborationer att utföras i C/C++. Tentan kommer att göras vid dator på en så kallad datortenta. Betyget för kursen sätts på tentan.
Vi använder vårt Sun-system, men om du har egen dator kan det gå bra att plocka hem kompilator m.m. via dessa hemsidor. På detta sätt får du möjlighet att göra en del av arbetet hemma.
Vi har inte närvaroplikt på några timmar, men det är obligatorisk redovisning av de flesta laborationerna och projektet (se mer om detta nedan).
Om vi skickar ut epost till er personligen skickas dessa brev till er adress på "studentservern" ("användare"@student.liu.se). E-post till alla i kursen skickas till TDDC68-VT2007@student.liu.se. Om ni inte finns registrerade på denna kurs kommer ni inte att få eposten som skickas till listan. Alla problem med epost hänvisas till "helpdesken" i hus ZENIT.
Kontakt
Generellt sett är det lättast att nå oss under de tider vi har undervisning i er kurs. Om ni vill nå oss på annat sätt rekommenderas e-post. Vi har dock en regel i denna kurs: Ärenderaden i ditt e-postmeddelande skall inledas med "TDDC68: " samt ha substans för innehållet i brevet.
Meddelanden som inte följer regeln ovan kommer antagligen inte att ses i tid och kan nästan ses som bortkastade.
Tenta
Under tentan kommer betygsättningen att ske med avseende på hur många uppgifter man löst samt hur lång tid detta tagit. Under labseriens gång kan du som student få extra tid (så kallad bonustid).
För att få bonustid krävs att laborationen är inlämnad senast vid den mjuka deadline som finns i schemat på dessa kurssidor, samt att laborationen är godkänd vid första inlämningen. Observera att bonustiden och bonustipsen endast gäller första tentatillfället (i december) och att det endast gäller laborationer gjorda detta år.
OBS! Ingen rättning av laborationer görs innan deadline. Det vi dock gör är att vi under laborationstid diskuterar era lösningar och om ni är närvarande på dessa tider kan ni slippa både pappersskickande (inlämning av laborationer) samt få de tips som behövs för att slippa kompletteringar (och på det viset tjäna bonustid. Laborationer
Laborationsmaterial läggs ut på dessa hemsidor. Materialet läggs som "pdf"-filer.
Alla laborationer i labserien är obligatoriska att redovisa. De första tre är dock triviala för er med lite förkunskaper inom programmering så vi räknar med att dessa redovisas tidigt (på labtid).
Laboration 0-3 anses vara lätta och skall inte leda till alltför mycket (om en s någon) hemarbetstid. Laboration 4 och 5 tar ganska mycket tid. Avslutningsvis tar laboration 6 förhållandevis lite tid.
Rättning av laborationerna sker efter deadline och återlämningen sker ca två arbetsdagar efter denna. Laborationer som lämnas in senare än deadline rättas när de kommer in och lämnas tillbaka så fort det går. Observera dock att vi har andra saker som upptar vår tid så det kan ibland dröja lite längre tid att få respons på sent inlämnade laborationer.
En laboration som ej är godkänd skall kompletteras snarast. Vid komplettering skall den/de gamla versionerna lämnas med.
Absolut sista dag att lämna in laborationer är sista dagen i tentaperioden i mars (se mer om deadlines i det gruppindelade schemat). Efter detta garanteras ingen rättning innan nästa års kurs.
Om det uppstår förhinder under kursens gång som gör att ni kanske inte kommer att hinna lämna allt innan den sista hårda deadline som finns bör ni snarast kontakta er assistent. Att komma efter kursens slut och säga att man inte kunna lösa detta i tid av olika anledningar verkar vara bortförklaringar om man inte tagit upp det tidigare.
Kursupplägg
Tider inom parentes efter respektive laborationsbeskrivning nedan anger tid bokad i sal. Hemarbetstiden kan variera från person till person, men det är viktigt att ha förberett sig så att eventuella frågor kan tas upp på t.ex. labtiderna.
Här följer upplägget i någorlunda kronologisk ordning (ordningen kan bero lite på vilken laborationsgrupp man kommer att tillhöra).
Speciellt Alla moment är inlämningspliktiga. Dessa måste lämnas in och vara godkända för att laborationsdelen i kursen skall bli godkänd.
Observera att föreläsningar och lektioner är numrerade efter vilken laboration de hör till. Exempelvis är Fö 5.1 den första av två föreläsningar som behandlar det som tas upp på lab 5 (lab 0 är ett specialfall, introduktionslaboration, som behandlas på Fö 1).
Moment Tid Beskrivning
FÖ 1 2h Genomgång av kursens upplägg. Grundläggande uppbyggnad av program, diverse satser i Ada. Paket som behövs. Anmälan till labgrupper.
LE 1 2h Övning på grundläggande begrepp och satser. SN 0 1h(1-3h) Uppvärmning av hur man gör för att programmera i Ada. SN 1 1h(1-3h) Enkel in- och utmatning. FÖ 2 2h Deklarationer och definitioner av underprogram inklusive parameteröverföring och räckvidd. Överlagring av operatorer. Hur man hanterar man undantag. SS 2h Här får ni en snabbgenomgång av hela labkursen. Om ni har programmerat tidigare kan detta vara en bra sammanfattning så att ni slipper sitta av en massa onödig tid på lektioner och kanske också föerläsningar. Om ni är lite mer ovana med detta är det ändå en bra idé att gå för att få en överblick över vad som komma skall. LE 2 2h Övning på enkla underprogram, parameteröverföring och hur man fångar undantag. Mjuk deadline för laboration 0 & 1 (Ada) SN 2 2h(2-4h) Enkla underprogram. FÖ 3 2h Datatyperna fält (array) och sträng (string). Hur gör man sortering av data? LE 3 2h Övning på fältstrukturer kombinerat med underprogram. Mjuk deadline för laboration 2 (Ada) FÖ 4 (FU) 2h Datatypen post (record). Paket (privat datatyp). Hur man skapar man egna undantag? SN 3 4h(2-8h) Fälthantering. LE 4 2h Övning på poster, strängar och paket. FÖ 5.1 2h Grundläggande om pekare. Grundläggande om listor. Rekursion i Ada. Lite om binära träd eller andra lite mer komplexa datastrukturer. Mjuk deadline för laboration 3 (Ada) SN 4 2h(1-6h) Posthantering och enkelt paket (undantagshantering och felsökning). LE 5 2h Övning på enkellänkade listor. SN 5.1 2h(2-8h) Enkel listhantering. Del A och B. Mjuk deadline för laboration 4 (Ada) FÖ 5.2 2h Generiska paket. Hur gör man om ett "vanligt" paket till ett generiskt paket? SN 5.2 2h(0.5-8h) Enkel listhantering (generiskt paket). Del C. FÖ 6 2h Textfiler och binära filer. LE 6 2h Övning på filhantering. Mjuk deadline för laboration 5 (Ada) SN 6 2h(2-4h) Filer och poster. FÖ C1 2h Genomgång av grundläggande saker i C/C++ (planering kommer senare). FÖ P1 2h Processer i Ada (task). LE C1 2h Övning på grundläggande saker i C/C++ (planering kommer senare). FÖ P2 2h Skyddade typer i Ada (protected type). Mjuk deadline för laboration 6 (Ada) FÖ P3 2h Projektintroduktion. PR 2h Bokad tid i sal för projektet. SN C1 2h(2-8h) Laboration 1 i C/C++. PR 2h Bokad tid i sal för projektet. FÖ C2 2h Genomgång av diverse saker i C/C++ (planering kommer senare). LE C2 2h Övning på diverse saker i C/C++ (planering kommer senare). Mjuk deadline för laboration 1 (C/C++) PR 2h Bokad tid i sal för projektet. SN C2 4h(4-10h) Laboration 2 i C/C++. Mjuk deadline för laboration 2 (C/C++) FÖ 2h Något om datortentan. Upplägg, vad är det som är viktigt att tänka på under tentan m.m. PR-DEMO 2h Redovisning av projekten. VI (tentasystem) 10 min. Visning av tentasystemet vi använder för att ni skall slippa fundera på och oroa er över hur detta lite annorlunda examinationssätt fungerar. Tiderna i schemat markerade med "VI" är dessa tider. Vi delar upp er i grupper senare.Se specifikt i det gruppindelade schemat vilken tid som gäller för just er. Förstagångstenta Hård deadline för alla laborationer Omtentor
Förstagångstentan Under tentaperiod 3 (mars) kommer tentan att genomföras. Tentan är uppdelad i två omgångar (beroende på stort antal studenter) och det är endast tillåtet att gå upp på ett av tillfällena (de två tillfällena räknas som en tenta).
Anmälan görs via normala tentaanmälningssystemet via studentportalen.
På denna tenta gäller de intjänade bonustiderna. Dessa försvinner och kan inte användas på senare tentor. Detta gäller även om man inte går upp på första tillfället.
OBS! Vilken sal ni skall vara i meddelas när ni kommer till tentan. Vi kommer att vara i B-husets datorsalar (i de vanliga labsalarna SU00-SU18). Ni samlas vid den öppna delen vid Café Java på bottenvåningen och vi talar om vart ni skall gå ca 15 minuter innan tentan börjar. Oftast brukar vi sätta upp informationen om placering m.m. utanför salen SU18 ca 15 minuter innan tentan startar. Leta där i första hand om information saknas.
Omtentorna Under omtentaperioderna i juni respektive augusti kommer det att gå ett antal omgångar tentor. Anmälningar till dessa görs på samma sätt som beskrivet tidigare, men efter det att föregående tenta är avklarad (efter sista passet om det är flera pass för tentan).
Alla tillfällen inom samma period räknas som en tenta så ni får alltså inte anmäla er på mer än ett tillfälle per tentaperiod.
Kurserna TDDB18 (M-linjens), TDDB22 (I-, KB-linjen) och TDDC81 (TB-linjen) har likvärdiga tentor och det är helt ok att gå på motsvarande tenta i den andra kursen (gäller omtentorna). Dock med förbehållet att de som anmäler sig till den andra kursens tenta går i andra hand om det blir trångt om platser. OBS! Man får bara tentera en gång per tentaperiod!
Tider för respektive tentor finns via tentabokningssystemet.
Sidansvarig: Torbjörn Jonsson
Senast uppdaterad: 2007-01-09
