Göm menyn

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/eclipse
Denna 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 kommandot eclipse 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 assumed
Detta 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