LuTH home LuTH search My home? head
Department of Computer Science and Electrical Engineering
   
SMD134
Objektorienterad Programmering

Läsperiod 3, 2003

[Nyheter]  [Övningsuppgifter]  [Laborationer]  [Seminarier]  [Schema smd134 LP3]

Kursens huvudsida



LÄRARE

Namn E-postadress Telefon Rumsnummer

Peter Lestander

pl@cdt.luth.se

0920-492434

A 3113

Mats Folke folke@sm.luth.se 0920-493065 A 3019

Tomas  Klockar

klockar@sm.luth.se

0920-493064

A 3019

LABHANDLEDARE

Namn E-postadress  
Natasja Saburova sabnat-8@student.luth.se  
Fredrik Jonsson frejon-9@student.luth.se  
Lars Persson larper-1@student.luth.se  
Andreas Lööw java-andreas@alternating.net  
Kristian Kihlanki Skotte java-kristian@alternating.net  

 


GENERELL KURSINFORMATION

Kursen består av 12 föreläsningar. För att ni som läser kursen skall få mesta möjliga utbyte av den bör ni förbereda er genom att läsa igenom motsvarande kapitel i boken innan föreläsningen. Kursen är relativt laborationsintensiv och har 5 olika laborationer som skall lösas individuellt. Den sista laborationsuppgiften kommer att vara något mer omfattande än de föregående. Ni kommer att ha möjlighet att deltaga vid 3 seminarier där vi kommer att lösa och diskutera ett antal olika programmeringsuppgifter.

Tentamen: den 18/3-03


KURSLITTERATUR

Det finns inte någon obligatorisk kursbok. Däremot finns tre rekommenderade kursböcker:

1.    Java från grunden av Torkel Franzen. (JFG)
2.    Java: Software Solutions av John Lewis och William Loftus. (JSS)
3.    An Introduction to Computer Science Using Java av Kamin, Mickunas och Reingold (CSUJ)

Vi rekommenderar bok 1 eller 2.


OM FÖRELÄSNINGARNA

Det är tolv föreläsningar allt som allt. Föreläsningarna kommer att ägnas åt allmänt prat om Java och objektorienterad programmering, i enlighet med följande beskrivning. Obs: beskrivningen är inte statisk, utan kommer att modifieras under kursens gång, så att den blir mer detaljerad och upplysande.) För varje föreläsning kommer det också i efterhand att läggas upp en kortare sammanfattning av huvudpunkterna i föreläsningen. Obs 2: Föreläsningarna går i flera olika salar. Läs schemat ordentligt!

När Var Vem Om Läs innan Titta på
20/1 B192 Peter Lestander Föreläsning 1: Förklaring av grundbegrepp vid programmering: processor, binära data, arbetsminne, I/O-enheter. Begreppet högnivåspråk. Kompilering och interpretering. Användningen av Emacs för att skriva källkod i Java, av javac för att kompilera källkoden till bytekod, av java för att exekvera en klass.  
23/1 F341 Peter Lestander Föreläsning 2: Typer i Java: genomgång av de primitiva datatyperna, variabler och variabeltilldelningar med primitiva typer. Konstanter av de olika typerna. Heltalsräkning och flyttalsräkning. Typer i Java: referenstyper. Hanteringen av referenstyper i Java förklaras med arrayer som grundexempel. Användningen av = för att göra tilldelningar av värden till variabler och av == och equals för att jämföra värden. Tre sätt att få in data till ett Javaprogram: hårdlödning, inmatning vid programstart, inhämtning under programexekvering. JFG: kap 1-10 (8-9)
JSS: 1.0-1.1, 1.3-1.4
2.3-2.5
27/1 A1547 Peter Lestander Föreläsning 3: Begreppet algoritm illustreras med användning av sökning i och sortering av arrayer. Genomgång av de olika typerna av uttryck i Java och av if-satser, for-satser, while-satser. Metoder i Java. Om hur man formulerar algoritmer och implementerar dem med användning av if, for och while. Strukturerad programmering. RÄTTELSE AV SLIDE JFG: kap 11-12, 14-16
JSS kap 3.2, 3.4-3.6, 3.7, 6.2
28/1 A1547 Mats Folke Föreläsning 4: Fortsatt presentation av metoder, speciellt metodanrop. Skillnaden mellan metodanrop med primitiva respektive referenstyper. Switch-satser, rekursiva metoder. Skillnader mellan iterativ och rekursiv programmering. JFG: kap. 13-18
JSS: 3.6-3.8, 4.2, 11
CSUJ: kap. 6, 14
Snabbkurs i rekrusion
7/2 F341 Mats Folke Föreläsning 5: Klasser i Java: exekverbara klasser, samlingar av statiska metoder, definierade datatyper. Begreppet paket. Ett exempel på en klass som definierar en ny datatyp: en "struct" i vilken man kan stoppa in värden av olika typ. JFG: kap. 19-20, 36, 38
JSS: kap. 4
CSUJ kap. 7, 10
Uppg. 28, 30
10/2 D770 Mats Folke Föreläsning 6: Fortsatt beskrivning av klasser. Instansmetoder och instansvariabler. Begreppet inkapsling och åtskillnaden mellan privata, offentliga och pakettillgängliga medlemmar av klasser. Fler exempel på definierade datatyper. Klassvariabler och klassmetoder. JFG: kap. 22-26
JSS: kap. 5 utom 5.4-5.5
CSUJ: kap. 10.1-3
14/2 A1545 Mats Folke Föreläsning 7: Arv och överskuggning. Programexempel. JFG: kap. 31-33
JSS: 7.1-4
CSUJ: 12.1-3
Fordon Boll.java Bollar.java
17/2 D770 Mats Folke Föreläsning 8: Sammanfattande kommentarer om klasser och typer, instansmetoder och klassmetoder, utvidgningar av klasser, olika grader av tillgänglighet. JFG: kap. 27-30
JSS: kap. 4-5, 7
CSUJ: kap. 5, 7, 10, 12
Javadokumentation: String, Vector Epost.java Människa.java
24/2 D770 Tomas Klockar Föreläsning 9: Några kommentarer om inlämningsuppgift 5. Gränssnitt och abstrakta klasser. Exempel från Javas klassbibliotek. Användningen av Comparable och Comparator i samband med sortering. Sammanfattning av typer i Java. JFG: kap. 34-35, 37
JSS: kap. 2.0-2.5, 5.5, 7.2
CSUJ kap. 3
Javadokumentation: Comparable, Comparator
28/2 A1545 Tomas Klockar Föreläsning 10: Mer om typer, gränssnitt och abstrakta klasser. Exempel från Javas klassbibliotek. JFG:35.8 (instanceof)
3/3 F341 Tomas Klockar Föreläsning 11: Användningen av undantag. Förklaring av klasserna IOException och RuntimeException. Programmeringsexempel. I/O-klasserna i Java och deras användning. JFG: kap. 39-40
JSS: kap. 8.0-8.4
CSUJ kap. 12.3, 15.2-15.3
6/3 A117 Tomas Klockar Föreläsning 12: Mer om I/O-klasserna i Java och deras användning. Programmeringsexempel. Övningsexempel.
11/3 D770 Mats Folke Seminarium 3: Genomgång av tentan från 19/12 2002. Gamla tentor

X-Win32

Om man vill arbeta hemma kan man koppla upp sig mot systemtekniks datorer. X-Win32 är ett program för Windows som gör detta möjligt. Tyvärr gäller inte licensen som skolan har för andra än lärare på Systemteknik och Matteinstutitionen och denna licens kan därmed inte erbjudas till studenter. Dock finns det en evalueringsversion som fungerar två timmar åt gången och gäller i 45 dagar. Denna version kan du ladda hem här.

För att komma igång med X-Win32 så gör du följande:


Obs
: Kom ihåg att spara ofta eftersom programmet bara fungerar två timmar åt gången.
 


Onlineböcker

(Ursprungligen från Jan-Åke Lehtos sida för kursen SMD 038)
Onlineböcker med många bra exempel som ni kan testa genom att köra kodexemplen (bara att kopiera och klistra in i en .java fil). Notera också att de innehåller Quiz (duggor se D.J.Eck) som kan vara lämpliga att träna på.

Programvara & Manualer:

Javadokumentation:

Allmän information:

TIPS: om ni vill att Emacs ska färgkoda er java kod (java mode med färgkodning) så lägg till följande rader i er .emacs fil

;; Start jde-mode for Java files.
(setq auto-mode-alist (append '(
                ("\\.java$" . jde-mode)
                auto-mode-alist)))
(autoload 'jde-mode "jde")

SKICKA OSS EN ANONYM KOMMENTAR

Som ett nytt grepp för att få in fortlöpande feedback från er studenter så provar vi att ha en helt anonym form som ni kan använda under hela kursen för att ge oss lärare ris eller ros. En varning bara, om detta missbrukas kommer funktionen snarast att tas bort. Observera att denna form BARA är till för ren feedback angående föreläsningar, seminarier eller annat som rör kursen och dess upplägg. Den kan inte användas för frågor om något specifikt.

Formen finns här

 

 

 

 

Skapad av Peter Lestander den 2003-01-27 14:01:28