Göm menyn

TDDC68 Imperativ programmering i Ada

Projektmaterial


Då projektet bygger på eget arbete och att laborationsdelen i kursen är avklarad är det lämpligt att grupperna bildas så att de som ingår i gruppen ligger på samma nivå.

För att projektet skall godkännas skall följande moment redovisas för er assistent:

* Specifikation: En specifikationsfil som visar att man förstått vilka moment som behöver hanteras vad det gäller de datastrukturer som skall användas för att representera olika delar och figurer. Eventuellt blir detta flera paket. OBS! Skapa INTE "adb"-filen utan tänk igenom vad som behövs och hur ni skall lagra data.
Specifikationsfilens-filerna skall skickas via e-post till Linus Olsson (se kontaktinformationen för att få mailadress) senast fredag den 1:a mars klockan 13:00.

* Redovisningstillfälle = Deadline: I ert schema kommer det att finnas ett redovisningspass inbokat i period 2. Under detta tillfälle kommer en provkörning av ert projekt kommer att göras. Programkod skickas till Linus efter det att ni fått godkänt på testkörningen.

* Tävling Under redovisningspasset kommer även tävligen att hållas. Inget allvarligt, men de som vinner får givetvis någon form av pris.

* Slutdokumentation: Erfarenhetsdokumentet skall innehålla era egna synpunkter om vad som fungerat bra och mindre bra i ert projekt samt en sammanställning av hur mycket tid som lagts ner på de olika delarna (per person). Ska skickas till Linus efter godkänd demo.


Schema

Föreläsning, introduktion26/210:15A1
Föreläsning, tasks27/208:15C2
Deadline webreg-registrering27/215:00
Handledning, specifikation27/217:15SU12-18
Deadline specifikation1/313:00
Handledning, specifikation4/315:15SU12-18
Drop-in tid14/313:00 UPP kontor
Drop-in tid19/313:00 UPP kontor
Drop-in tid21/313:00 UPP kontor
Drop-in tid25/311:00 UPP kontor
Drop-in tid27/313:00 UPP kontor

Ada 2005 / 2012

I projektet så är det helt okej att använda nyare språkversioner än ada 95. Sammanfattningar av vad som finns i de nya versionerna kan hittas här: ada05 ada12

För att kunna använda dessa på IDAs system måste ni uppdatera den version av kompilatorn som används för erat konto. För att göra det för den aktuella sessionen skriver man "module add prog/gcc/4". Om man vill ändra det permanent skriver man "module initadd prog/gcc/4". Med den nya versionen så är standardversionen ada05, för att använda ada12 kompilerar man med flaggan "-gnat2012".
Notera att om ni byter permanent så påvärkar det även kompilering av andra språk. Det gör speciellt att c++ behöver lite extra flaggor för att kompileras korrekt. Ni kan läsa mer om det här.


TJa-biblioteket (fungerar endast på IDA, används för nätverks-kommunikation)

Observera att detta paket inte är något som finns tillgängligt utanför IDA. Det är heller inte så att det skall användas till något kommersiellt då det i vissa fall är rent olämpliga konstruktioner som ligger i "botten". Det fungerar dock i våra nybörjarkurser.
OBS! localhost / 127.0.0.1 fungerar inte alltid korrekt med ada05+, så använd zazaN som hostname.
OBS(2)! Det finns reserverade portar, om man försöker använda en av dessa så kan programmen kasta ovändade fel. De flesta fyrsifriga portar är dock lediga.


Givna Filer

Två olika servrar ges för er att testköra med under projektet. Den första är en server som visualiserar pusslen, det är lämpligt att ni börjar jobba med denna så att ni lätt kan se om er klient gör rätt. Efter att allting funkar korrekt är det lämpligt att gå över till den andra servern som är optimerad för tidtagning. Notera även att den visuella servern är skriven för en enkel genomkörning medans den andra är fullständig och motsvarar den som används för redovisning. soma_parts/figures är ett bra exempel på den typ av problem som måste kunna lösas under redovisningen.

Server med grafik

En server som används för att testa att rotationer och förflyttningar görs korrekt.
Läs instruktionerna före användning

Server med tidtagning

En server som har tidtagning och kan hantera flera klienter
OBS! Kan endast köras i SUN-system! Läs instruktionerna före användning

Pusselfiler

soma_parts.txt soma_figures.txt
soma_mini_parts.txt soma_mini_figures.txt
only_one_parts.txt only_one_figures.txt
soma++_parts.txt soma++_figures.txt
very_small_pieces_parts.txt very_small_pieces_figures.txt

De filer som användes under förra årets tävlingen var
soma_org_parts.txt soma_org_figures.txt

Sidansvarig: Eric Elfving
Senast uppdaterad: 2013-03-11