Rapportering av inkompletta laborationer: Om ni måste rapportera in en lösning som inte är klar, bifoga en README-fil som talar om vad som återstår att göra. Här har ni också chansen att fråga om tips för det fortsatta arbetet om ni vill. Det bästa är förstås att tala med er handledare.
Anledningen till att uppgifterna behandlas i den ordning som anges ovan är att det den 14 april ges omtenta i del B; som hjälp till dem som ska tenta om ägnar vi kursdelen före påsk åt Java och den efter påsk åt Haskell.
Laborationerna utförs och redovisas i grupper om två. Labgrupperna skall bildas inom den enhet om fyra faddergrupper som har gemensam handledare.
I Laboration 1/2 skall ni också jämföra Haskells och Javas lämpligheter för det givna problemet och skriva en kort rapport om era erfarenheter; mer information ges i labinstruktionen för lab 1/2.
Den undervisning som ges är i huvudsak till för att hjälpa er med laborationerna: föreläsningarna introducerar de nödvändiga baskunskaperna; gruppmötena diskuterar hur problemen kan lösas; på handledningspassen kan ni få hjälp med programmeringsverktygen, och med att leta buggar i era program.
| Handleder grupper med nummer | ||
|---|---|---|
| Oscar Lindberg | f96osli@dd.chalmers.se | 2-5 |
| Erik Norvell | d00ean@dtek.chalmers.se | 6-9 |
| Magnus Larsson | md9larma@mdstud.chalmers.se | 10-12 |
| Anders Höckersten | chucky@dtek.chalmers.se | 13-17, 1 (Haskell) |
| Andreas Olsson | f97anol@dd.chalmers.se | 13-17, 1 (Java) |
Kursansvarig och föreläsare: Magnus Carlsson magnus@cs.chalmers.se. Notera att Anders och Andreas delar grupper: Anders kommer att leda övningar och rätta laborationer med Haskellinnehåll, medan Andreas tar Javadelen.
| Vecka | Tidpunkt | Ämne |
|---|---|---|
| 1 | Måndag 15/3 kl 13 | Lab 1; Objektorienterad versus funktionsorienterad programmering; Java: I/O, undantag. (miniatyrer) |
| 1 | Tisdag 16/3 kl 15 | Lab 1; Datastrukturer i Java, binära sökträd, tidskomplexitet, balansering. The Java Collections Framework. (miniatyrer) |
| 2 | Måndag 22/3 kl 13 | Lab 3, Java: Ramverk, händelsestyrd programmering. (miniatyrer) |
| 4 | Måndag 19/4 kl 13 | Lab 2, Haskell: I/O; binära sökträd i Haskell. (miniatyrer) |
| 5 | Måndag 26/4 kl 13 | Monader och effekter i Haskell. (miniatyrer) |
| 6 | Måndag 3/5 kl 13 | Lab 4, CGI-programmering i Haskell. (miniatyrer) |
Föreläsningarnas innehåll kommer efterhand att dokumenteras på denna
sida.
| Grupp | Tid | Rum | Handledare |
|---|---|---|---|
| 1 | Må 15-17 | Idéläran 11 | Andreas/Anders |
| 2 | Ti 8-10 | Idéläran 2 | Oscar |
| 3 | Ti 8-10 | Idéläran 3 | Oscar |
| 4 | Ti 10-12 | Idéläran 4 | Oscar |
| 5 | Ti 10-12 | Idéläran 5 | Oscar |
| 6 | Ti 8-10 | Idéläran 6 | Erik |
| 7 | Ti 8-10 | Idéläran 7 | Erik |
| 8 | Ti 10-12 | Idéläran 8 | Erik |
| 9 | Ti 10-12 | Idéläran 9 | Erik |
| 10 | Ti 8-10 | ED5209 | Magnus L |
| 11 | Ti 10-12 | ED5211 | Magnus L |
| 12 | Ti 10-12 | ED5213 | Magnus L |
| 13 | Ti 8-10 | Idéläran 10 | Andreas/Anders |
| 14 | Ti 8-10 | Idéläran 11 | Andreas/Anders |
| 15 | Ti 10-12 | Idéläran 12 | Andreas/Anders |
| 16 | Ti 10-12 | Idéläran 13 | Andreas/Anders |
| 17 | Må 15-17 | Idéläran 10 | Andreas/Anders |
Det är därför förstås tillåtet att sedan utnyttja de gemensamma lösningsidéer som presenterats på mötet (förutsatt att man varit med på mötet). Det är däremot inte tillåtet att kopiera eller skriva av hel- eller halvfärdiga programdelar som utvecklats av andra labgrupper. Här är en utförligare diskussion om akademisk ärlighet.
Gruppmötena vecka 1, 2, 4 och 6 introducerar arbetet med de fyra laborationerna och bör därför vara till god hjälp för samtliga labgrupper. Mötena övriga veckor utgör ytterligare tillfällen till diskussion om tidigare ämnen och kan därför vara överflödiga för de grupper som är säkra på sin design.
Diskussionsunderlag för gruppmöte vecka 1 (lab 1).
Diskussionsunderlag för gruppmöte vecka 2 (lab 3).
Diskussionsunderlag för gruppmöte vecka 4 (lab 2).
Diskussionsunderlag för gruppmöte vecka 6 (lab 4).
Labhandledning
Utöver gruppmötena erbjuds handledning till laborationerna i
labsalar. Dessa tillfällen är av två slag:
| Grupper | Tid | Labsal | Handledare |
|---|---|---|---|
| 2-5 | Måndag 15-17 (ej vecka 3) | ED6220 | Oscar |
| 6-9 | Måndag 15-17 (ej vecka 3) | ED6225 | Erik |
| 10-12 | Måndag 17-19 (ej vecka 3) | ED6220 | Magnus L |
| 13-15 | Måndag 17-19 (ej vecka 3) | ED6225 | Andreas/Anders |
| 16,17,1 | Torsdag (flyttat till onsdag vecka 8) 8-10 | ED6220 | Andreas/Anders |
| Vecka | 8-10 | 15-17 |
|---|---|---|
| Torsdag v. 1 (18/3) | Magnus L | Andreas |
| Torsdag v. 2 (25/3) | Oscar | Erik |
| Torsdag v. 3 (1/4) | Oscar | Andreas |
| Torsdag v. 4 (22/4) | Oscar | Erik |
| Torsdag v. 5 (29/4) | Magnus L | Anders |
| Torsdag v. 6 (6/5) | Oscar | Erik |
| Torsdag v. 7 (13/5) | Magnus L | Anders |
| Onsdag v. 8 (19/5) | Magnus L | Erik |
Det går bra att skicka frågor per email till handledarna, som gör sitt bästa för att svara på frågorna innan nästa handledningspass. För att systemet skall fungera måste dock frågorna vara välformulerade och rimliga till antalet. Frågor om till exempel webbsidorna och saknade filer skickas till kursansvarig.
Då samtliga tre delkurser (del A, B och C) godkänts ges slutbetyg på kursen. Slutbetyget baseras på betygen i tentamina i delarna A och B och på laborationerna. Dock har tentamensresultaten större betydelse för slutbetyget än labresultaten.
Observera att