http://www.cs.chalmers.se/Cs/Grundutb/Kurser/d1ptb/d1pt/

Chalmers tekniska högskola, Institutionen för datavetenskap

Programmeringsteknik D1 del B, vt 2004

TDA091

Kursen går läsåret 2003/2004 i läsperiod 3.

Senaste nytt
Allmän information
Ansvariga
Kurslitteratur
Kursinnehåll
Övningar
Laborationer
Schema
Dagbok
Examination
Hemsida för boken Java direkt
Dokumentation av Java API på webben
Dokumentation av extra-paketet
Hur man laddar ner och installerar Java 2 SDK på sin egen dator (Windows) 
Hur man laddar ner och installerar Java 2 SDK på sin egen dator (Linux)
Här kan du hämta  texteditorer för Windows
Gammal tenta 1 (lösningar)
Gammal tenta 2 (lösningar)
Här hittar du klasserna MyLinkedList, MyListAdapter, NotImplementedException, ListDemo och MyLinkedList2
Nyheter i Java, version 1.5
Generics i Java, version 1.5

Allmän information

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.

Ansvariga

Kursen ges av institutionen för datavetenskap.

Kursledare:
Jan Skansholm tel. 772 10 12

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
 

Kurslitteratur

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.

 

Kursinnehåll

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.

Övningar

Ö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.

Laborationer

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.

punkt 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.
 
punkt 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.
 
punkt 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.
 
punkt 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                       l
abgrupp nr 86-100

Schema 

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.

Examination

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