
Fortlöpande information om kursen ges på denna webbsida. Det är därför viktigt att man besöker den regelbundet. Under rubriken senaste nytt finns information om sådant som är aktuellt. Det kan t.ex. gälla planerade aktiviteter och schemaändringar. Det finns också en dagbok där man efter varje lektion kan se vilka avsnitt och övningar som behandlats. För de olika laborationerna gäller att de skall vara inlämnade senast vissa datum. Uppgifter om detta ges i de separata PM som beskriver laborationerna.
Kursen ges av institutionen för datavetenskap.
Handledare:
Björn Bringert
d00bring
at
dtek.chalmers.se
Tomas Falemo
d00tomas
at
dtek.chalmers.se
Joseph Hagberg
d99jos
at
dtek.chalmers.se
Anders Höckersten
chucky at dtek.chalmers.se
Anders Röding
d99andro at dtek.chalmers.se
Per Sillrén
MacPelle
at
home.se
Skansholm,
Java direkt
med Swing, 3:e eller 4:e upplagan, Studentlitteratur. Boken finns på
Cremona.
Det finns en webbsida som hör till boken. Där finns bl.a. diverse hjälpklasser, programexempel samt lösningar till alla övningsexempel.
Du får lära dig hur
man programmerar i ett objektorienterat programspråk. Språket Java med det grafiska
biblioteket Swing skall användas. Själva språket Java är kanske inte så
komplicerat, men det finns en mycket omfattande samling av standardklasser
vilka man brukar använda sig av. Vi kommer inte att hinna gå
igenom alla dessa och alla delar av språket, utan får koncentrera oss på det
som är viktigast och mest grundläggande.
Följande avsnitt i boken ingår i kursen (ändringar kan förekomma): Kapitlen 1-5, kapitel 6 utom avsnitten 6.10 och 6.13 (avsnitten 6.5, 6.8 och 6.9 läses kursivt på egen hand), kapitel 7, avsnitten 8.1.1-8.1.4 och 8.4, kapitlen 9-11 (avsnitt 10.10 läses kursivt som ett exempel), avsnitt 12.1, avsnitten 13.1-13.4 samt avsnitten 19.1-19.2.
Ett separat avsnitt om MVC-arkitektur ingår också.
Kursen har en utpräglat praktisk inriktning. Undervisningen består av föreläsningar, övningar och laborationer. Det är relativt få föreläsningar och övningar och du som läser kursen måste räkna med att arbeta mycket på egen hand.
Övningarna sker i ett antal mindre grupper. Samma gruppindelning används som i Programmeringsteknik del A, fast gruppen med studenter från högre årskurs kallas för enkelhets skull i fortsättningen för grupp nummer 1. (Det kommer alltså att finnas 17 grupper numrerade från 1 till 17.) Tider och salar för övningarna finns angivna i ett separat schema för övningar.
Vid övningarna är det meningen att man skall konstruera datorprogram. Detta görs dels av övningsledaren (på tavlan) och dels av studenterna själva (med papper och penna). Naturligtvis kan det också göras vid datorn om tiden räcker till. Övningsuppgifterna är främst hämtade ur kursboken. Lösningar till uppgifterna finns på bokens webbsida.
I kursen ingår fyra s.k. laborationer. Till dessa laborationer måste man anmäla sig på en särskild blankett som skickas runt under de första föreläsningarna och under övningarna. Laborationerna sker vid dator och utförs i grupper med två studenter i varje grupp. Laborationerna beskrivs i separata PM.
|
|
Den första laborationen (PM till Laboration 0)
är egentligen en enkel "uppmjukning" inför de följande laborationerna. I denna
får du möjlighet att praktiskt lära dig hur man kompilerar och kör Javaprogram.
Laborationen ger också träning i grundläggande programmeringsteknik. Denna laboration skall utföras under första veckan. Laborationen behöver inte
lämnas in, men du måste vara beredd att redovisa vad du har gjort vid det
första övningstillfället som äger rum under den andra läsveckan. |
|
|
Laboration nummer 1 (PM till Laboration 1)
handlar om konstruktion av en enkel klass. Denna laboration hjälper dig att förstå de
grundläggande objektorienterade begreppen. Laborationen skall vara inlämnad
senast under läsvecka 3. |
|
|
Laboration nummer 2 (PM till laboration 2 ) är lite
mer komplicerad. Den går ut på att skriva ett spel med grafiskt användargränssnitt.
Laborationen skall vara inlämnad senast under läsvecka 6. |
|
|
Laboration nummer 3 (PM till laboration 3 ) ger övning i att dela upp ett grafiskt program enligt den s.k. MVC-arkiekturen (Model-View-Controller). Laborationen skall vara inlämnad senast under läsvecka 7. |
Alla laborationerna, utom laboration nummer 0, skall dokumenteras. Vad som skall ingå i dokumentationen beskrivs i respektive PM. Innan man får lämna in en dokumentation måste programmet visas upp för en handledare som kan ge ett körningsgodkännande. Dokumentationer av laborationer lämnas sedan in (i pappersform) i rätt fack i det skåp som finns i korridoren på våning 6 i EDIT-huset. Främst i varje dokumentation skall sitta ett speciellt försättsblad (som delas ut) och handledaren skall ha givit sitt körningsgodkännande på detta. I skåpet lämnas också laborationerna ut. De kan då vara godkända men det kan också vara något som behöver ändras eller kompletteras. Det framgår av försättsbladet.
I samband med att man lämnar in sin laboration skall man också skicka sin programtext i maskinläsbar form till handledaren som skall rätta laborationen. Detta skall göras på följande sätt: Koden skall läggas i en katalog som heter d1ptb-XX-labN (där XX är labgruppnumret och N laborationens nummer (1,2,3)). Katalogen skall sedan zippas och skickas med e-post till handledaren. Förutom den bifogade zip-filen skall e-brevet även innehålla: labgruppnummer och labnummer samt namn, personnummer och e-postadress för samtliga gruppmedlemmar. För att skapa zip-filen kan ni använda följande i unix-kommandon:
# lägg koden i katalogen d1ptbXX-labN och kör:
zip -r d1ptbXX-labN.zip d1ptbXX-labN
# kontrollera att det fungerar genom att packa upp med:
unzip d1ptbXX-labN.zip
E-brevet
ska alltså innehålla:
- Labnummer
- Labgruppnummer
- Namn, personnummer och e-postadress för samtliga medlemmar
- Bifogad zip-fil med koden
Här visas vilka handledare som rättar de olika labgrupperna
Björn Bringert
d00bring
at
dtek.chalmers.se
labgrupp nr 1-11
Tomas Falemo
d00tomas
at
dtek.chalmers.se labgrupp nr
12-21
Joseph Hagberg
d99jos
at
dtek.chalmers.se
labgrupp nr 22-39
Anders Höckersten
chucky at dtek.chalmers.se
labgrupp nr 40-50
Anders Röding
d99andro at dtek.chalmers.se labgrupp
nr 51-85
Per Sillrén
MacPelle
at
home.se labgrupp nr 86-100
Tiderna för föreläsningar och övningar följer det utdelade Chalmers-schemat, med undantag för den första läsveckan då det är ett tillägg. Den veckan blir den en extra föreläsning tisdagen den 20/1 kl 8-10. Sal: HB4. Tider och salar för övningarna finns angivna i ett separat schema för övningar.
Tider för laborationer finns angivna i en separat lista med laborationstider. Lägg märke till att det, på grund av CHARM-dagar, inte är någon undervisning onsdagen den 11/2. Det är inte obligatorisk närvaro vid alla laborationstillfällen. Istället används ett system där man får boka tid. Vid dessa tider är datorerna reserverade för denna kurs och vid de flesta tillfällen finns dessutom en handledare tillgänglig. Vill man utnyttja dessa tillfällen för att göra sina laborationer, måste man anmäla detta på en särskild bokningslista som sitter anslagen på anslagstavlan som finns utanför motionslokalen på bottenvåningen (våningen under Café Linsen) i EDIT-huset. Man får inte boka in mer än ett arbetspass åt gången! Man får naturligtvis även arbeta med sina laborationer vid andra tider om man hittar någon ledig dator. Det är också tillåtet att konstruera sina program på någon annan dator, t.ex. en PC som man har hemma. I så fall måste man, när programmet är klart, ta med en kopia på programmet och demonstrera det för en handledare.
För varje laboration finns ett datum när den senast måste vara klar och inlämnad. Det är mycket viktigt att man håller dessa tider.
För att bli godkänd på kursen måste man dels ha lämnat in samtliga
obligatoriska laborationer och fått dem godkända och dels blivit godkänd på tentamen. En skriftlig tentamen på programmeringsmomentet anordnas vid kursens slut. På tentamen sätts graderade betyg. Tillåtet hjälpmedel på tentamen är kursboken
Java direkt
med Swing. (Studenter som har läst kursen tidigare år och som gör
omtentamen får ha den kursbok som användes tidigare, dvs. Cay Horstmann:
Computing Concepts with Java Essentials, 3rd ed.) Inga kalkylatorer är tillåtna.
Tid och plats för första tentamen: torsdagen den 11/3 kl
14.15 i M-huset
Tid och plats för omtentamen: onsdagen den 14/4 kl
8.45 i M-huset