www.cse.chalmers.se/edu/course/TDA540/

Chalmers tekniska högskola, Data- och Informationsteknik

 

Objektorienterad Programmering Z1, vt 2011

TDA540

Senaste nytt
Allmän information
Ansvariga
Kurslitteratur
Kursinnehåll
Övningar
Laborationer
Schema
Planering
Examination
Gamla tentor
Hemsida för boken Java direkt
Dokumentation av Java API på webben
Hur man laddar ner och installerar Java SDK på sin egen dator (Windows) 
Här kan du hämta  texteditorer och programutvecklingssystem (IDE)
Exempel

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 planering där man kan se vilka avsnitt och övningar som planeras för föreläsningar och övningar. För de olika laborationerna gäller att de skall vara inlämnade senast vissa datum. Uppgifter om detta ges i avsnittet om laborationer.

Ansvariga

Kursledare:

Jan Skansholm tel. 772 10 12

Handledare:

Pelle Evensen,  evensen (at) chalmers (punkt) se 
Mia Indrika, indrika (at) alumni.chalmers (punkt) se
Bartek Jankowski, brtk666 (at) gmail (punkt) com

Kurslitteratur

Skansholm, Java direkt med Swing,  Studentlitteratur.
OBS! Om du inte har boken tidigare så skaffa 6:e upplagan
.
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. 

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.

Här följer en sammanställning av vilka avsnitt i kursboken som ingår.
(Denna gäller om du har den 6:e upplagan av kursboken. Om du har upplaga 5 kan du titta här istället.)

Kapitel 1.       Ingår i sin helhet
Kapitel 2.       Ingår i sin helhet
Kapitel 3.       Ingår, utom 3.10.2
Kapitel 4.       Ingår i sin helhet
Kapitel 5.       Ingår, utom 5.4.2. Avsnitt 5.6 kan läsas översiktligt.
Kapitel 6.       Ingår, utom 6.11 och 6.14. Avsnitten 6.5, 6.8, 6.9 och 6.10, behöver bara läsas översiktligt.
Kapitel 7.       Ingår, utom 7.4
Kapitel 8.       Här ingår endast 8.1.1-.8.1.4. Dessutom bör man läsa avsnitt 8.4 översiktligt.
Kapitel 9.       Ingår, utom 9.3, 9.5 och 9.6. Avsnitt 9.10 behöver bara läsas översiktligt.
Kapitel 10.     Ingår, utom 10.9 och 10.10, vilka kan betraktas som överkurs.
                     Avsnitt 10.12 innehåller ett exempel och kan läsas översiktligt.
Kapitel 11.     Ingår i sin helhet
Kapitel 12.     Här ingår 12.1-12.5 samt 12.7.
Kapitel 13.     13.1 - 13.2 ingår. Avsnitt 13.3 kan läsas översiktligt.
Kapitel 14.     Här ingår bara avsnitten 14.1.1 - 14.1.3, vilka kan läsas översiktligt.
Kapitel 15.     Utgår helt
Kapitel 16.     Här ingår bara avsnittet 16.4.2
Kapitel 17.     Här ingår avsnitten 17.2 - 17.7.3.
Kapitel 18.     Utgår helt
Kapitel 19.     Här ingår endast avsnitt 19.4. Avsnitten 19.2 och 19.3 bör vara kända sedan tidigare. (Jämför med C.)

Övningar

Övningarna sker i mindre grupper. Samma gruppindelning används som i Maskinorienterad programmering.

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. Här finns en tabell som översätter övningsnummer i upplaga 6 av boken till upplaga 5.

Laborationer

I kursen ingår fyra s.k. laborationer.  Laborationerna sker vid dator och utförs i grupper med två studenter i varje grupp.  Laborationerna beskrivs i separata PM.

punkt Laboration nummer 1 (PM till laboration 1)  ä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.  Laboration nummer 1 skall vara klar och lämnas in senast den 1/4.
 
punkt Laboration nummer 2 (PM till laboration 2) handlar om konstruktion av en enkel klass. Denna laboration hjälper dig  att förstå de grundläggande objektorienterade begreppen. Laboration nummer 2 skall vara klar och lämnas in senast den 15/4.
 
punkt Laboration nummer 3 (PM till laboration 3 ) är lite mer komplicerad. Den går ut på att skriva ett spel med grafiskt användargränssnitt. Laboration nummer 3 skall vara klar och lämnas in senast den 13/5.
 
punkt Laboration nummer 4 (PM till laboration 4 ) (filer till laboration 4) går ut på att simulera elektriska grindar. Laboration nummer 4 skall vara klar och lämnas in senast den 20/5.

Om man fått retur på någon laboration måste man lämna in en rättad version senast en vecka efter det att man fått returen. För laborationerna gäller att sista dag för godkännande av laborationen är två veckor efter sista inlämningsdag.

Det är mycket viktigt att man håller inlämningstiderna. Fire-systemet blockerar nämligen automatiskt inlämning och godkännande efter de angivna datumen. Det går alltså inte att lämna in laborationer för sent.

Inlämning av laborationer sker med hjälp av systemet Fire som man kan nå med hjälp av en vanlig webbläsare.
För att lämna in laborationer går man till Fire-startsidan för denna kurs.
(Det kan hända att du i din webbläsare får en säkerhetsvarning för denna sida, men det är ingen fara. Gå vidare till den.)
Användarmanual för studenter finns i Fire - Student Documentation. Mer detaljerade anvisningar ges i Submission Instructions.
OBS! Glöm inte att klicka på knappen "Submit" när du skall skicka in din laboration.

Schema 

Tiderna framgår av TimeEdit. Observera att  tiderna varierar något de olika veckorna.

Det är inte obligatorisk närvaro vid de laborationstillfällen som är angivna på schemat men vid dessa tider är datorerna reserverade för denna kurs och vid de flesta tillfällen finns dessutom en handledare tillgänglig.  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. I så fall måste man, när programmet är klart, ta med en kopia på programmet och demonstrera det för en handledare.

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 (valfri upplaga).  Det är tillåtet att istället ha med sig någon annan lärobok som beskriver Java om  man senast två veckor innan tentamen meddela kursledaren detta via e-post. Man skall då uppge bokens författare, titel, förlag och utgivningsår. De tillåtna böckerna kommer att anges på tentamenstesen vid tentamenstillfället. Man får dock bara ha en bok med på tentamen. Understrykningar och rättelser av tryckfel i boken är tillåtna, men inte egna anteckningar.
Inga kalkylatorer är tillåtna.

Gamla tentor

Tentamen 1 med lösningar.
Tentamen 2 med lösningar.