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

Göteborgs Universitet, Chalmers tekniska högskola, Institutionen för Data- och Informationsteknik

 

Objektorienterad programmering, vt 2016

DAT043

Senaste nytt

Allmän information

Ansvariga

Kurslitteratur

Kursinnehåll

Övningar

Laborationer

Schema

Planering

Examination

Övningstentor

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) för Windows

Exempel från föreläsningar

Demonstrationsexempel från kursboken

Andra demonstrationsexempel


Allmän information

Fortlöpande information om kursen ges på denna webbsida. Innehållet kan förändras. Det är därför viktigt att man besöker den regelbundet.

På denna sida finns också en planering där man för varje lektion kan se vilka avsnitt och övningar som skall 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

Kursledare:

Jan Skansholm tel. 772 10 12, skansholm@chalmers.se

Handledare:
 
Alexandra Back, alexanra@student.chalmers.se
Julia Jarmar, juliajarmar@gmail.com
Johan Häggström, johhagg@student.chalmers.se

Kurslitteratur

Skansholm, Java direkt med Swing, Studentlitteratur.
OBS! Om du inte har boken tidigare så skaffa 8:e upplagan
.                                                 
Boken finns på Cremona på Chalmers och hos de vanliga nätbokhandlarna.

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 8:e upplagan av kursboken.)

Kapitel 1.       Ingår, utom 1.15
Kapitel 2.       Ingår i sin helhet
Kapitel 3.       Ingår, utom 3.11.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.       Avsnitten 6.1 - 6.4 och 6.6 - 6.7 är centrala. Avsnitten 6.5, 6.8 - 6.14 och 6.16 kan läsas översiktligt. Resten utgår.
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.
Kapitel 10.     Ingår, utom 10.9, 10.11 och 10.12.
                     Avsnitt 10.13 innehåller ett exempel och kan läsas översiktligt.
Kapitel 11.     Ingår utom 11.5.
Kapitel 12.     Här ingår 12.1-12.4 samt 12.7. Avsnitt 12.5 kan läsas översiktligt.
                    Materialet i avsnitt 12.10 behövs i Sudoku-laborationen (se nedan).
Kapitel 13.     Här ingår bara 13.1 och 13.2.
Kapitel 14.     Här ingår bara avsnitten 14.1.1 - 14.1.3 och 14.7.
Kapitel 15.     Utgår helt, men kan läsas om man är intresserad.
Kapitel 16.     Här ingår bara avsnittet 16.4.2
Kapitel 17.     Avsnitten 17.2 - 17.5.3 och 17.6 - 17.7.3 ingår.
                    Övriga avsnitt utgår men kan betraktas som "överkurs".
Kapitel 18.     Utgår helt
Kapitel 19.     Här ingår endast avsnitt 19.4. Avsnitten 19.1, 19.2 och 19.3 kan läsas kursivt.

Övningar

Övningarna sker i mindre grupper.

Vid övningarna är det meningen att man skall konstruera enkla datorprogram. Detta görs dels av övningsledaren (på tavlan) och dels av studenterna själva (vid datorn eller med papper och penna). Ö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 8 av boken till upplaga 7. Översättning från upplaga 7 till upplaga 6 finns här. Översättning från upplaga 6 till upplaga 5 finns här.)

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 2016-01-29.
 

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 2016-02-12.
 

punkt

Laboration nummer 3 (PM till laboration 3 ) är lite mer komplicerad. Du kan välja mellan två olika uppgifter. Båda går ut på att skriva ett spel med grafiskt användargränssnitt. Laboration nummer 3 skall vara klar och lämnas in senast 2016-03-04.
 

 

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 senast 2016-03-11. Sista dag för godkännande är 2016-03-23.
 

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 1-3 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. (Om du får meddelandet att det uppstått ett problem med webbplatsens säkerhetscertifikat kan du lugnt gå vidare, trots att det inte rekommenderas.)
Användarmanual för studenter finns i Fire - Student Documentation.

 

Schema 

Tiderna följer det publicerade schemat i TimeEdit.  Observera att schemat inte är riktigt lika alla veckor. Vid tiderna för laborationer är datorerna reserverade för denna kurs och det finns dessutom minst en handledare tillgänglig.

Det är inte obligatorisk närvaro vid de schemalagda laborationstillfällena. 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.

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 (valfri upplaga).  Även någon annan kursbok kan få användas efter godkännande av examinator. Det ska i så fall anmälas minst två veckor i förväg. Inga kalkylatorer är tillåtna.

Datum för tentamen kan man få fram genom att ange kurskoden DAT043 på sidan www.student.chalmers.se/sp/examdates_list.

Övningstentor

Tentamen 1 med lösningar.

Tentamen 2 med lösningar.

Tentamen 3 med lösningar.