TDDC30 Programmering i Java, datastrukturer och algoritmer
Laborationer 2013
Laborationsuppgifter
Laborationsserien består av fem uppgifter.
- Laboration 0 - Grundläggande syntax i Java. En introduktionslabb till programspråket Java
- Laboration 1 - Grunderna för OOP i Java. Laborationen har som syfte att lära sig grundläggande begrepp inom objektorienterad programmering, samt motsvarande språkkonstruktioner i Java.
- Laboration 2 - Stormarknaden. Laborationen har som syfte att ge insikt i hur de länkade strukturerna lista, stack och kö samt iteratorer är uppbyggda och fungerar.
- Laboration 3 - Visualisering av sortering. I laborationen implementeras ett antal olika sorteringsalgoritmer, som även visas grafiskt. Dessutom får man programmera en del av ett grafiskt gränssnitt.
- Laboration 4 - Lådplanering. Laborationens syfte är att uppmuntra till problemlösning genom att fritt få lösa ett lite större problem.
Utvärdering
Tillsammans med redovisningen av de olika labbarna uppmanas ni också att lämna in en kort utvärdering, samt tidsuppskattning av hur lång tid labben tagit att göra.
Övningsuppgifter
För att lära sig programmering är det nödvändigt att faktiskt programmera en hel del. Därför är det lämpligt att utöver laborationsuppgifterna även utföra andra programmeringsövningar under kursens gång.
Dessa finns att hitta under kategorin "Kursmaterial".
Anvisningar för laborationer
Nedan finns allmän information inför och kringlaborationerna.Deadlines
Slutgiltig deadline för alla laborationer: onsdag 3/3 kl 24:00.
Deadline för kompletteringar: måndag 1/4 kl 24:00
Utöver den slutgiltiga deadlinen finns rekommenderade deadlines för varje labuppgift. Följer man dessa så ligger man bra i fas i kursen:
Lab 0: torsdag 17/1
Lab 1: fredag 25/1
Lab 2: onsdag 6/2
Lab 3: måndag 18/2
Lab 4: fredag 1/3
VG-del
För labb 3 och lab 4 finns det en valfri VG-del. För att få VG på en labbuppgift måste samtliga VG-delar genomföras, labben lämnas in innan den ovanstående deadlinen för den labben, samt bli godkänd med VG med maximalt en komplettering.
VG på både labb 3 och labb 4 låter er tillgodoräkna er en deluppgift på tentan omedelbart i anslutning till kursen. Detta gäller bara under det närmaste tillfället och sparas inte till senare tentor på något vis.
Labgrupper
Labbarna utförs normalt i grupper om två personer. I något enstaka fall kan det gå bra att labba ensam eller i en grupp om tre. Kontakta i så fall din assistent för att få klartecken för detta.
Anmälan till laborationerna sker via webreg
I webreg finns tre grupper. Vilken labgrupp du anmäler dig till avgör vilken handledare du ska lämna dina labbar till. Alla labpass, med något undantag, går dock parallellt för de två grupperna.
Moduler
Följande moduler krävs för kursen:prog/eclipseDenna läggs till med kommandona:
module add prog/eclipse module initadd prog/eclipse
Eclipse
Den huvudsakliga programutvecklingsmiljö som används i kursen är eclipse. När modulerna ovan lagts till kan eclipse startas med kommandoteclipse i ett terminalfönster.
Det finns en omfattande dokumentation inbyggt i eclipse. Man kan även komma åt eclipse dokumentation via eclipse hemsida.
För att kunna använda dokumentationen direkt från Eclipse kan man behöva in en webläsare i Eclipse. Detta gör man via menyn window->preferences. Där väljer man sedan general->web browser. Sedan anger man mozilla som önskad webläsare med sökvägen /usr/local/bin/mozilla.
Se "Kursmaterial" för en kortfattad introduktion till att komma igång med Eclipse.
Kodstandard
Programmen som skrivs i labserien ska följa Oracles kodkonventioner(se "Kursmaterial"). Alla klasser och publika metoder ska kommenteras med så kallade javadoc-kommentarer.
Komprimera kod
Innan ni mailar kod till er handledare måste denna komprimeras. Detta kan göras via Eclipse genom att markera ert projekt i Package Explorer, högerklicka och välja "Export", samt "Archive File" under kategorin "General".Öppna komprimerad kod
Skriv följande i terminalfönstret där den komprimerade filen filnamn.tar.gz ligger:gunzip filnamn.tar.gz tar -xvf filnamn.tar
Skriva ut kod
Ett smidigt sätt att skriva ut sin kod är att göra det i terminalfönstret med kommandot/student/bin/a2ps filnamn
Kod från Windows
Om ni har suttit hemma och skrivit kod i windows kommer den koden att se konstig ut när ni skriver ut den på Unixdatorerna på Ida (massa ^M-tecken i den). För att lösa det kan ni ge följande kommando:
dos2unix -iso -ascii Filnamn.java Filnamn.java
Skriv alltså namnet på filen två gånger för att ändra i den. När ni skriver detta kommando kommer ni att få ett felmeddelande:
could not open /dev/kbd to get keyboard type US keyboard assumed could not get keyboard type US keyboard assumedDetta kan ni dock ignorera. Står det så har konverteringen lyckats.
Tillåtet och otillåtet
Vi uppmuntrar diskussion och samarbete, men att kopiera andras arbete
räknas som fusk. Diskussion och samarbete kan röra principer och
generella problem, ej kod eller specifik lösning på en uppgift. Det är
inte tillåtet att flera grupper gemensamt gör program och lämnar in
dessa som egna lösningar. Vidare ska båda personerna i ett labbpar ha
arbetat med varje uppgift och individuellt kunna redogöra för samtliga inlämnade uppgifter.
Sidansvarig: infomaster
Senast uppdaterad: 2013-01-29
