Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Anders Lindström 2016-08-26 09:22

Visa < föregående | nästa >
Jämför < föregående | nästa >

Föreläsningar

På denna sida hittar, för respektive föreläsning

  • eventuellt material som du bör gå igenom före föreläsningen så att du är förberedd
  • kodexempel som jag tar upp på föreläsningar, samt i vissa fall texter som kompletterar kurslitteraturen

Efter föreläsningen kan du läsa rekommenderade kapitel i kursboken, se kurs-PM, samt göra de rekommenderade övningarna.

De flesta introduktionsfilmerna kommer från iTunes U(niversity) och kräver att du har installerat iTunes.

F01 31/8, Objektorienterad programmering, språket Java

Förbered dig genom att se dessa filmer via iTunes U:
Freed-Hardeman University, kursen Introduction to Java:
- 1 Java Fundamentals (39 min)
- 2 Data types and operators (22 min)
- 3 Program control statements (10 min)
Film 2 och 3 tar upp Java-syntax som du måste kunna men som jag inte tar tid med på föreläsningen.

Mina slides:
Språket Java.pdf

Kodexemepel att studera på egen hand: Exempel_pa_javasyntax.zip

F02 2/9, Klasser, inkapsling, m.m.

Förbered dig genom att se dessa filmer via iTunes U:
Freed-Hardeman University, kursen Introduction to Java:
- 4 Classes, objects and methods (18 min)
- 6 A closer look at... Fram till 3:50
- 5 Array and strings (19 min)

Mitt material:
Objektorienterad programmering grundläggande begrepp.pdf
Acccount.javaAccountMain.java
Card.java (exempel på en klass vars objekt är "immutable")

En (något utdaterad) introduktion till klasser och inkapsling: Klasser_och_objekt.pdf

F03 5/9,  Mer om klasser (static, this, arrayer, String, ... )

Förbered dig genom att läsa punkterna under rubriken "More on Classes" på sidan https://docs.oracle.com/javase/tutorial/java/javaOO/more.html 
Denna föreläsning tar upp en del detaljer om klasser/objekt som behövs för en fullständig bild, samt enum (enumerations).

Kodexempel:
Kodex static this arrayer.zip
Kodex String.zip

En (något utdaterad) text om samma ämne: Klasser_Objekt_forts.pdf

F04, 9/9 Relationer mellan objekt: association och aggregat. UML 

Relationer mellan objekt.pdf
Kodex Shared aggregation.zipKodex Composite aggregation.zip

ArrayList.pdf
TestArrayList.java

F05 12/9, Arv

Förbered dig genom att se dessa filmer via iTunes U:
Freed-Hardeman University, kursen Introduction to Java:
- 7 Inheritance, fram till 13:40. Notera att det, efter 6 min, felaktigt påstås att "private members are not inherited" - vad som menas är att det inte är möjligt accessa privata datamedlemmar direkt i en subklass.

Bilder från föreläsningen: Arv, grunder (slides).pdf
Kodexempel: Account.zip, Person.zip

CPerson.java

Det är lämpligt att efter föreläsningen läsa en introduktion till klass-diagram enligt Unified Modeling Language, http://dn.codegear.com/article/31863 

En (något utdaterad) text om ämnet arv (här kallas superklass för basklass): Arv grunder.pdf

F06 21/9, Arv och polymorfism, interface

Förbered dig genom att se dessa filmer via iTunes U:
Freed-Hardeman University, kursen Introduction to Java:
- 7 Inheritance, från13:40 till slutet. 

Polymorfism (slides).pdf
Kodexempel: Polymorfism.zipAbstract super class.zip

En något utdaterad text om ämnet: Arv_polymorfism.pdf

Interface.pdfInterface slides.pdf
Kodexempel: interface Printable.zipinterface Playable.zipinterface java.lang.Comparable.zip

F07 22/9, Collections Framework, speciellt ArrayList. Enhetstestning

TestArrayList.java, ArrayList.pdf
Kodexempel: ...

Enhetstestning: ... (material kommer senare...)

F08 23/9, Exceptions. Strömmar 

Exceptions Strömmar.pdf (ej fullständig, läs vidare i kurslitteraturen).

Kodexempel: Exceptions.zipStreams.zip
V
issa av applikationerna kräver argument till main (ex. filnamn) när de exekveras - se motsvarande övning för information om hur du åstadkommer detta.

F09 26/9, Generics 

Generics.pdf
Kodexempel, generics.zip

F11-13, 5-7/10, Introduktion till GUI och Event-handling. Model-View-Controller 

GUI, EventHandlers.pdf

Kodexempel: Basic JavaFX GUI.zipEvent examples.zip

Model-View-Controller

Model-View-Controller.pdf

Kodexempel: Simple MVC example.zipMVC example.zip (det senare med en separat controller-klass)

Några fler komponent-exempel

More components.zip (ComboBox, FileChooser, TextArea, Image och ImageView, AnimationTimer, "property bindings"). Notera att dessa exempel endast ska demonstrera användandet av några grafiska komponenter och inte följer M-V-C-mönstret.

Dialogfönster: JavaFXDialogExample.java 
Det går också att skapa dialogfönster med Stage-objekt: DialogUsingJavaFxStage.java

Tutorials om JavaFX

Getting started: https://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm

Events, tutorial: http://docs.oracle.com/javafx/2/events/jfxpub-events.htm

Kodexempel för alla "controls" i JavaFX: http://docs.oracle.com/javafx/2/ui_controls/jfxpub-ui_controls.htm

JavaFX Scene Builder (inget som tas upp i denna kurs, men för den vetgirige...)

Det finns ett antal verktyg för att med hjälp av "drag and drop" skapa sammansatta vyer. Källkoden för vyerna genereras då i bakgrunden. Ett sådant verktyg är "Scene Builder", som finns integrerat i Netbeans.

Scene Builder använder sig också av det faktum att man kan definiera vyer via XML-dokument (.fxml) som sedan används för att generera källkod för de verkliga vyerna.

En tutorial för Scene Builder: http://docs.oracle.com/javafx/scenebuilder/1/use_java_ides/sb-with-nb.htm

F14 13/10, Trådaroch synkronisering 

Threads.pdf

Thread examples.zip, Synchronization.zip

F15 14/10, Designmönster 

Design Patterns.pdf

Singleton.java, Comparator.zipSubject-Observer example.zip

F16 14/10, Inför tentamen + andra objektorienterade språk 

Information om tentamen: se kurswebben/Tentamen, speciellt dokumenten "Viktiga begrepp" och "Java - snabbreferens".

Andra OO språk: OO languages.pdf