© Prof. Dr. Andreas Solymosi

Vorlesung- und Übungsplan

Dieser Vorlesungsplan wurde für die Lehrveranstaltung Programmieren in den Studiengängen Medieninformatik und Technische Informatik an der Technische Fachhochschule Berlin , Fachbereich VI (Informatik) entworfen. Er setzt voraus, dass im ersten Semester wöchentlich 2 Vorlesungen und 2 Übungen (insgesamt je 28), im zweiten Semester wöchentlich 1 Vorlesung und 1 Übung (insgesamt je 14) stattfinden.


Spalte Vorl: Nummerierung der Vorlesungen im 1. Semester und im 2. Semester

Spalte Übg: Nummerierung der Übungen aus der 3. Auflage des Buchs Programmieren mit Java

Spalte Übung: Thema der Übung

Spalte Kapitel: Thema der Vorlesung (Kapitelnummerierung aus der 3. Auflage des Buchs)

Spalte Seite: Seitennummer der 3. Auflage des Buchs Programmieren mit Java

 

Vorl

Übg

Übung

Kapitel

Seite

1

1.1

Umgebung

1. Informelle Einführung

1

2

2.1

Leere Klasse

2. Klassen und Objekte

21

 

2.2

Erweiterung

2.1. Die leere Klasse

21

 

2.4

Java ist Spitze

2.2. Erweiterung von Klassen

23

 

   

2.2.1. Erweiterung eigener Klassen

23

 

   

2.2.2. Klassen in Paketen

24

 

   

2.2.3. Erben von Methoden

25

 

   

2.2.4. Das Hallo-Programm

25

 

   

2.2.5. Mehrfache Erweiterung

26

 

   

2.2.6. Überschreiben von Methoden

26

 

   

2.2.7. Aufruf von geerbten Methoden

28

3

2.5

init überschreiben

2.2.8. Hinzufügen von Methoden

29

 

2.6

<2.7>

Aufruf

eigene Methode

2.2.9. Interne Methoden

30

4

2.8

Lieblingsspruch

2.2.10. Parameter

31

 

2.10

drei Methoden

2.2.11. Mehrere Parameter

32

 

2.12

Spezifikation

2.2.12. Methodenaufrufe aus Klassen

33

 

<2.11>

Abspielen und Animieren

2.2.13. Import

33

 

   

2.2.14. Klassenspezifikationen

34

 

   

2.2.15. Lesbarkeit von Programmen

36

5

2.13

Eimer zeigen

2.3. Datenbehälter

37

 

2.14

2.15

Sequenz

Toleranter Eimer

2.4. Algorithmen

39

6

2.16

-

<2.17>

ungeprüfte Ausnahmen

zweiEimer

Vier Kreise

2.5. Ausnahmen

42

7

-

2.18

<2.19>

Zwei Eimer

Kreise

lokale Referenz

2.6. Dynamische Objekte

48

8

-

Hund

3. Strukturierung von Klassen

55

 

3.3

Prozedur mit Kreisen

3.1. Prozeduren

55

 

<3.4>

Wert- und Referenzübergabe

3.2. Pakete

64

9

3.6

3.7

geschützte Blöcke

Rekursion

3.3. Schachtelungen

67

10

3.8

3.11

3.12

Pakete

Applet und Anwendung

Hauptprogamm

3.4. Standardpakete

77

11

(4.1)

ZweiEimer

4. Implementierung von Datenbehältern

83

 

(4.2)

EinDoppelKreis

4.1. Klassenkomponenten

83

 

<4.3>

Ungeprüfte Ausnahmen

4.2. Implementierung von Ausnahmen

85

12

4.7

Sichtbarer Eimer

4.4. Schnittstellen

89

 

4.8

<4.4>

private/protected Konstruktor

Tor

4.5. Konstruktoren und Destruktoren

94

13

4.6

4.12

4.11

2 x DoppelEimer

 

Polymorphe Kreise

4.6. Typkompatibilität

96

14

4.13

awt-Klassen

4.7. Standardklassen als Datenbehälter

104

15

5.3

ErweiterterDoppelEimer

5. Werte und Funktionen

107

 

   

5.1. Wertefunktionen

108

 

   

5.2. Funktionen

108

 

   

5.3. Duplizieren von Inhalten

112

 

   

5.4. Profilkompatibilität

116

16

5.7

5.8

Sound bei paint

Sound und Grafik

5.5. Verwendung von Funktionen

118

17

5.12

Beanbox

5.6. Standard-Datenbehälter

125

18

5.13

swing

5.7. Programmierung grafischer Oberflächen

129

 

5.14-16

<5.17>

Anordnungen

look and feel

5.8. Anordnung der Fensterkomponenten

133

19

6.3

FreiMenue

6. Ereignissteuerung

137

 

<6.4>

FreiMenueAufg

6.1. Menüs zur Programmsteuerung

137

 

   

6.2. Rückruf

140

20

6.6

Menügenerator

6.3. Werkzeuge für Anwenderkommunikation

148

 

<6.8>

Kreis-Speicher

6.4. Objektwahl

152

21

6.14

Wetter-Applet

6.5. Ereignissteuerung durch Standardklassen

157

 

<->

Wetter mit awt

6.5.1. Ereignisbehandlung durch Lauscher

157

 

   

6.5.2. Fensterlauscher

158

 

   

6.5.3. Komponentenlauscher

159

 

   

6.5.4. Verteilung der Ereignisse

161

22

6.16

Wetter-Menüs

6.5.5. Standardmenüs

163

 

   

6.5.6. Menüsteuerung

164

 

   

6.5.7. Ereignisse aus unterschiedlichen Quellen

165

23

7.1

Wochentage

7. Einfache Klassen und Basistypen

168

 

<7.2>

Wochentage mit Menüs

7.1. Aufzählungsklassen

168

 

   

7.2. Logische Objekte

175

24

-

Wochentage mit Swing

7.3. Basistypen

177

 

   

7.4. Operatoren

183

 

   

7.5. Verwendung von Basistypen in Klassen

187

25

-

Wochentage mit JBuilder

7.6. Hüllenklassen

191

 

   

7.7. Zeichenkettenklassen

196

 

   

7.8. Ausdrücke

197

 

   

7.9. Parameterübergabemechanismen

200

 

   

7.10. Zusicherungen

201

26

8.3

Wertetabelle

8. Steuerstrukturen

204

 

8.5

Schachbrett

8.1. Alternativen

204

 

<8.4>

String-Implementierung

8.2. Zählergesteuerte Wiederholungen

209

27

-
8.7

Quadrieren
Zählen von Buchstaben

8.3. Bedingungsgesteuerte Wiederholungen

212

28

8.9

Ackermann

8.4. Rekursion

218

1

9.1 Menge und Sack

9. Multibehälter

222

     

9.1. Mengen

222

2 <9.7>  

9.2. Säcke

231

     

9.3. Folgen

232

     

9.4. Assoziativspeicher

243

3

- Taschenrechner

9.5. Standard-Multibehälter

246

4

   

10. Implementierungstechniken für Multibehälter

251

     

10.1. Verbunde

251

     

10.2. Reihungen

252

5

10.8 Warteschlange

10.3. Verwendung von Reihungen

259

6

   

10.4. Verkettete Listen

269

     

10.4.1. Rekursiv vereinbarte Klassen

270

     

10.4.2. Verkettung

270

     

10.4.3. Rückwärts verkettete Listen

271

     

10.4.4. Rekursive Abarbeitung einer Liste

272

7

- Taschenrechner-Klammern 

10.4.5. Vorwärts verkettete Listen

275

8

   

10.4.6. Doppelt verkettete Listen

277

 

   

10.4.7. Iterative Abarbeitung einer Liste

279

9

- Warteschlange Liste

10.4.8. Binärbäume

280

 

   

10.4.9. Abbruch der Rekursion

282

10 

   

10.4.10. Mehrfach verkettete Listen

283

11

  Template Method/Persistenz

10.5. Quelltextinformation zur Laufzeit

284

12

   

10.6. Ströme

287

13

   

11. Nebenläufigkeit

299

 

   

11.1. Prozesse

299

     

11.2. Nebenläufige Prozesse in Java

304

     

11.2.1. Prozesse und Monitore

304

     

11.2.2. Synchronisierung auf Grund von Zusatzbedingungen

306

     

11.2.3. Unterbrechungen

308

     

11.2.4. Weitere Synchronisierungsoperationen

308

   

11.3. Java im Internet

309

 


Post: prof@solymosi.com

© Prof. Dr. Andreas Solymosi