Göm menyn

TDDE10 Objektorienterad programmering i Java

Laborationer

Laborationsuppgifter

Laborationsserien består av fem laborationsuppgifter och projektet.

  • Laboration 0 - Grundläggande syntax i Java. En introduktionslabb till programspråket Java
  • Webtutorial OOP. En tutorial vars syfte är att introducera grundläggande begrepp inom objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. I slutet av laborationen kommer du också guidas till att sätta upp så att du kan skicka in dina laborationer för skriftlig rättning. Skall göras på egen hand innan laboration 1.
  • Laboration 1 - OOP i Java. I denna laborationens kommer du få arbeta mer med många koncept inom objektorienterad programmering, samt motsvarande språkkonstruktioner i Java.
  • Laboration 2 - Datastrukturer. I denna laboration kommer du få insikt i hur de länkade strukturerna lista, stack och kö är uppbyggda och fungerar.
  • Laboration 3 - Ritprogrammet. I denna laboration skall du använda objektorienterad analys och design för göra ett grafiskt ritprogram.

Anvisningar för laborationer

Nedan finns allmän information inför och kringlaborationerna.

Labgrupper

Labbarna utförs i grupper om två personer.

Anmälan till laborationerna sker via Webreg, se rubriken "Labgrupper" i menyn. Du måste vara anmäld till laborationerna i WebReg för att kunna lämna in laborationer i denna kurs.

I webreg finns flera grupper. Vilken labgrupp du anmäler dig till avgör vilken handledare du ska följa i schemat för labbar och lektioner. Alla labpass, med något undantag, går dock parallellt för grupperna.

Observera att du bara skall gå på passen markerade för grupp A om du tillhör A-gruppen, och bara på de för grupp B om du tillhör B-gruppen.

Redovisning

  • Laboration 0 skall endast redovisas muntligt i sal.
  • Webtutorialen behöver ej muntligt redovisas men skall skickas in till handledaren m.h.a. ett terminalbaserat skript, se anvisningarna för labredovisning. Koden rättas ej för denna lab.
  • Laboration 1-3 skall redovisas muntligt i sal och sedan skickas in, på samma sätt som webtutorialen. Assistenten rättar och ger återkoppling.
  • För hur projektet skall redovisas, se Projektarbetes-sidan i menyn till vänster.

Deadlines

Hård deadline för laborationer (och projekt) kommer att vara sista vardagen i TekFak's tentamensperiod, alltså kl 17.00 fredagen den 22:e mars. Efter den dagen tar vi inte emot några muntliga redoivsningar och rättar av de laborationer som vi har fått in.

OBS: Efter sista schemalagda laborationstillfälle är det ert ansvar att ta kontakt med oss ang. redovisning av laborationer. Det görs rimligen i god tid innan den hårda deadlinen så att ni och laborationsassistenten kan hitta en tid som passar er båda. Detta innebär att önskemål om redovisning som kommer de sista dagarna innan deadlinen kommer ev. att hänvisas till nästa års kursomgång.

Se även IDA:s generella policy för redovisning av datorlaborationer på examinations-sidan.

Bonus-del

Man kan tjäna lite "bonus" till tentan från laborationer genom att redovisa innan s.k. "mjuk deadline". Den mjuka deadlinen infaller alltid på första passet för nästkommande laboration. T.ex. är mjuka deadlinen för lab 0 på första passet för lab 1. Till detta tillkommer även att man får ha maximalt en komplettering på den inlämnade laborationen. Kompletteringen skall lämnas in maximalt en vecka efter att labben rättas. Bonusen kommer att utgöra 5 minuters extra tid (för högre betyg) per avklarad laboration (ej webtutorialen) som muntligt redovisats innan respektive mjuk deadline. Man kan även tjäna in lite extra bonus på vissa laborationer genom att göra extra delar. Detta innebär att man totalt sett kan tjäna ihop 35 minuter värt av bonustid för tentan. Observera att bonustiden inte ökar/hjälper dina chanser att få godkänt i kursen, endast högre betyg. Bonustiden gäller bara vid förstagångstentamen i mars.

Mjuka deadlines
Lab 0
Grupp A/B - Måndag 28/1


Lab W - Ingen mjuk deadline

Lab 1
Grupp A/B - Måndag 11/2
förskjuten till pass 2 på lab 2


Lab 2
Grupp B - Torsdag 14/2
Grupp A - Onsdag 15/2
förskjuten till pass 2 på lab 3



Lab 3
Grupp A/B - Torsdag 21/2

Att arbeta i grupp

För att båda i gruppen ska kunna ta till sig materialet på bästa sätt bör ni byta vem som sitter bakom tangentbordet av er två minst var 30'e minut. Det här ger också lite omväxling i arbetet, en del av tiden skriver man kod, en annan del av tiden hjälper man sin kamrat skriva kod. Mer att läsa om den här stilen av arbete kan finnas om man söker efter "pair programming", det här är en intressant länk där man kan läsa mer om intresse finns.

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. Se även den generella policyn för fusk och plagiering under "Examination" i menyn.

Eclipse

Den huvudsakliga programutvecklingsmiljö som används i kursen är Eclipse. Eclipse kan startas med kommandot eclipse & i ett terminalfönster.

Det finns en kortfattad introduktion för att komma igång med Eclipse.

OBS Eftersom laborationer skall lämnas in med skriptet send_lab är det viktigt att rätt mapp väljs som "workspace" då eclipse startas. Se instruktionerna för labredovisning.

Arbeta på egen dator

Det absolut lättaste sättet att arbeta på egen dator är via ThinLinc, se "ThinLinc" i menyn för mer information!

Det finns en omfattande dokumentation inbyggt i Eclipse. Man kan även komma åt Eclipse dokumentation via Eclipse hemsida. Där kan ni även ladda ner Eclipse för arbete på egen dator. I sådant fall kan ni också ladda ner Java här.

Kom ihåg att vi inte erbjuder någon "support" på era egna datorer, om det inte fungerar som det ska, eller ni stöter på problem när ni installerar. Vi hjälper gärna till med skolans system, men på egen dator är ni också ute på eget bevåg.

Kodstandard

Kod som skrivs under kursens gång ska följa Oracles kodkonventioner. Vi har gjort en sammanfattning av dessa som du kan ha uppe medans du lär dig språket för att lättare komma in i det.

För laborationerna är det rekommenderat att skriva javadoc för sina klasser och publika metoder, men det är inte ett krav. När projektarbetet är färdigt skall det finnas javadoc åtminstone på klasserna i projektet.

För att ta reda på hur diverse klasser fungerar inom Java bör man vända sig till Javas API-dokumentation, där man kan hitta information om alla klasser, deras metoder et.c. Bör användas flitigt under kursen.

Det finns en Lathund för UNIX och Emacs för den som har glömt bort saker sen senaste tillfället i terminalen.

Sidansvarig: Erik Nilsson
Senast uppdaterad: 2019-02-25