Göm menyn

TDDC68 Imperativ programmering i Ada

Kursinformation


Allmänt

Under period VT1 (period 3) kommer en serie föreläsningar, lektioner, laborationer samt ett projekt 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-VT2012@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 redovisad senast på det redovisningspass som gäller den laborationen (vilket innebär att ni kommer före den mjuka deadline som finns i kursen). Observera att bonustiden endast gäller första tentatillfället (i mars) och att det endast gäller laborationer gjorda detta år.

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). Mer om detta på FÖ.

Laboration 0-3 anses vara lätta och skall inte leda till alltför mycket hemarbetstid. Laboration 4 och 5 tar ganska mycket tid. Avslutningsvis tar laboration 6 förhållandevis lite tid.

Redovisningen av laborationerna sker företrädesvis på de pass som är markerade med "Redovisning" i ert schema, men i mån av tid kan assistenterna ta redovisningar även på labtiderna. Laborationer som redovisas senare än deadline ger ingen bonustid på tentan.

En laboration som ej är godkänd skall kompletteras snarast.

OBS! Har man inte gjort ett bra program är det stor risk för komplettering så det kan vara bra att närvara på de schemalagda pass för laborationer som finns. Vi har krav på att det skall fungera OCH att det är bra skriven kod för att det skall bli godkänt så det är viktigt att ni har kollat ert program noga innan ni kommer till redovisning.

Ni är ca 100-120 studenter och det är 7 laborationer i Ada samt 2 laborationer i C++ som skall redovisas. Detta ger att det är minst 900 laborationer som skall redovisas av assistenterna i kursen. Detta gör att det inte kan bli alltför många kompletteringar om det skall hinnas med att rättas innan kursen är slut. Se till att ni är i fas! Vi tar inte redovisningar av laborationer efter det att kursen är slut! Vi proiriterar dessutom den laboration som är aktuell enligt kursens upplägg så de som vill redovisa gamla eller "framtida" laborationer får vänta till de övriga redovisat. Eventuell tid som återstår på labredovisningspasset går till dessa.

Absolut sista dag att lämna in laborationer är sista dagen i tentaperioden i mars (mer om deadlines på första FÖ). 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.

Projekt

Projektet kommer i år att introduceras på en FÖ ganska tidigt i kursen. När sen projektet kör igång är det ganska kort om tid kvar i perioden så det är bra om ni funderar och planerar detta redan parallellt med slutet av labserien. Mer om projektet på projektintroduktionsföreläsningen. Hård deadline för projektet kommer att vara ca 2 veckor in i period VT2.

Kursupplägg

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 redovisningspliktiga. Dessa måste redovisas 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.
    SN 0 2h Laborationstid i sal. Inte redovisningspass. Det är till för att ni skall kunna ställa frågor till assistenterna och för att ni skall komma igång. Alla är välkomna att delta på detta pass.
  LE 1   2h Övning på grundläggande begrepp och satser.
FÖ 2     2h Deklarationer och definitioner av underprogram inklusive parameteröverföring och räckvidd. Överlagring av operatorer. Hur man hanterar man undantag.
    SN 1 / RE 0 2h Laborationstid i sal. Redovisningspass för lab 0.
  LE 2   2h Övning på enkla underprogram, parameteröverföring och hur man fångar undantag.
FÖ 3     2h Datatyperna fält (array) och sträng (string). Hur gör man sortering av data?
    RE 1 / SN 2 2h Redovisning av lab 1. Laboration 2
SS Ada     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 3   2h Övning på fältstrukturer kombinerat med underprogram.
    RE 2 2h Redovisning av lab 2. (Deadline!)
    RE 2 2h Redovisning av lab 2 (extra pass).
FÖ 4     2h Datatypen post (record). Paket (privat datatyp). Hur man skapar man egna undantag?
  LE 4   2h Övning på poster, strängar och paket.
    SN 3 2h Laboration 3.
    RE 3 2h Redovisning av lab 3.
    SN 4 2h Laboration 4.
    RE 4 2h Redovisning av lab 4.
    RE 4 2h Redovisning av lab 4 (extra).
FÖ 5.1-2     4h Grundläggande om pekare. Grundläggande om listor. Rekursion i Ada. Lite om binära träd eller andra lite mer komplexa datastrukturer.

Generiska paket. Hur gör man om ett "vanligt" paket till ett generiskt paket?

  LE 5   2h Övning på enkellänkade listor.
FÖ P1     2h Introduktion av projektet.
    PR 2h Bokad tid i sal för projektet.
    SN 5 2h Laborationstid i sal. Inte redovisningspass. Detta pass finns det inte tillräckligt med salar uppbokade för alla. Därför är det viktigt att de som behöver detta pass får plats.
FÖ 6     2h Textfiler och binära filer.
  LE 6   2h Övning på filhantering.
    RE 5 4h Redovisning av lab 5.
SS C++     2h Genomgång av grundläggande delar i C/C++.
    RE 6 2h Redovisning av lab 6.
    RE Ada 2h Extra redovisningspass för hela Ada-labserien. OBS! På detta pass kan ni inte räkna med att det finns tid för assistenterna att ta hand om "alla" era laborationer!
    SN C1 2h Laborationstid i sal. Inte redovisningspass. Detta pass finns det inte tillräckligt med salar uppbokade för alla. Därför är det viktigt att de som behöver detta pass får plats.
FÖ P2     2h Processer i Ada (task).
    RE C1 2h Redovisning av lab 1 i C/C++.
    RE Extra 2h Redovisning av diverse laborationer (även lab 2 i C++ ...).
    PR 2h Bokad tid i sal för projektet.
FÖ P3     2h Skyddade typer i Ada (protected type).
    PR 2h Bokad tid i sal för projektet (med assistent).
    PR 2h Bokad tid i sal för projektet.
    SN C2 2h Laborationstid i sal. Inte redovisningspass. Detta pass finns det inte tillräckligt med salar uppbokade för alla. Därför är det viktigt att de som behöver detta pass får plats.
    RE C2 4h Laboration 2 i C/C++.
    PR 4h Bokad tid i sal för projektet.
    PR 2h Bokad tid i sal för projektet (med assistent).
    RE Extra 2h Redovisning av kvarvarande laborationer.
    PR 4h Bokad tid i sal för projektet.
    PR-DEMO 2h Redovisning av projekten.
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 ibland uppdelad i flera omgångar (beroende på stort antal studenter) och det är endast tillåtet att gå upp på ett av tillfällena (alla 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 SU18 för vidare instruktioner.


Omtentorna

Under omtentaperioderna i maj/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 (TB/KBciv), TDDC97 och TDDD44 (M) och TDDD11 (I/II/FYN) 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: 2012-01-09