FURCHURS WEBSITE
|
|
|
|
Inhalt |
Informatik |
Reisen |
über mich |
Historie
|
auf dieser Seite:
|
|
|
Tutorien
Im Laufe der verschiedenen Semester haben wir verschiedene Tutorien
gehalten. Die Texte zu den dort behandelten Themen sind (zum Teil)
auch zu verstehen, wenn man an der Veranstaltung nicht teilgenommen
hat.
Hier finden sich (fast) alle Beispiele, die wir im Tutorium Java
behandelt haben. Anhand dieser Beispiele wurden ausgewählte
Konzepte der Programmiersprache Java erläutert, ich hoffe,
daß auch jemand der nicht das Tutorium besucht hat diese Beispiele
interessant findet. Wenn Du noch Fragen hast oder Fehler findest,
dann schickt mir doch bitte eine mail.
|
Tutorium WS2000/01
Tutorium SS2001
Tutorium WS2001/02
Bio-Inf. SS2002
zu den Vorträgen
|
|
|
|
|
Tutorium WS2000/01
Dieses Tutorium fand für das erste Semester der Informatik statt.
Für das Tutorium Java haben wir hier eine Reihe von kleinen Beispielprogrammen, die auch in der Veranstaltung durchgesprochen wurden, bereit gestellt. Desweiteren finden sich hier einige kleine Dokumentationen. Diese geben einen kurzen Überblick über die grundlegensten Dinge, die man wissen muß um ein Java-Programm schreiben zu können:
Die erste Dokumentation bietet einen kleinen Überblick über die Werkzeuge und die Begrifflichkeiten, die zum Java Programmieren gehören.
Einführung.pdf (95kb)[PDF]
Die zweite Dokumentation ist wesentlich ausführlicher und umfasst annähernd den Stoff des ersten Semesters. Thomas Krieger hat diese schöne Zusammenfassung geschrieben. Ich habe sie nur in PDF formatiert. Lesenswert!
Java-Begriffe, Syntax und Tips (119kb)[PDF].
Für alle, die Intresse an den Quellcodes der im Tutorium besprochenen Beispiele haben hier sind die beiden Beispiele:
Jabberwok.zip (10kb)[ZIP]
Calc.zip (5kb)[ZIP]
Diese beiden ZIP Files enthalten alle Versionen die im Tutorium erarbeitet wurden. Sie sind vollständig dokumentiert. Im Kopf steht der (Lern-) Inhalt der jeweiligen Stunde.
|
Helge Janicke
Niels-Peter de Witt
Thomas Krieger
|
|
|
|
|
Tutorium SS2001
Dieses Tutorium fand für das zweite Semester der Informatik
statt.
|
|
|
|
Themen:
- Was ist ein package?
- Streams und Reader.
Übung:
- Erstellen eines eigenen package.
- Erstellen einer Klasse IOTools in diesem package.
- Erstellen einer Methode boolean
fileCopy(String source, String dest) die eine Datei (source)
in eine Datei (dest)
kopiert und bei Erfolg den Wert "true"
zurückliefert.
Beispiel zum Download: IOTools_1.java (2k)
|
Termin 27.03.2001
|
|
|
Themen:
- CLASSPATH setzen.
- Streams und Reader - Der BufferedReader.
- Tester Klasse.
- Abfrage auf bereits existierende Ausgabedatei.
- if Abfrage
mit Methoden die bereits einen boolschen Wert (true
oder false) zurückliefern.
Übung:
- Erstellen einer Tester Klasse, die zwei Aufrufparameter erhält.
Den Namen der Quelldatei, sowie den der Zieldatei.
Wenn weniger Parameter angegeben werden, soll eine Funktionsanleitung
ausgegeben werden.
- Erweitern des Readers auf einen BufferedReader (siehe Java
API ).
- Erstellen einer Methode boolean
fileCopy(String source, String dest, boolean overwrite)
die eine Datei (source)
in eine Datei (dest)
kopiert und bei Erfolg den Wert "true"
zurückliefert. Die Datei soll nicht kopiert werden, wenn
die Ausgabedatei (dest)
bereits existiert und der Parameter overwrite
den Wert false
hat. Die Abfrage ob eine Datei existiert kann mit Hilfe der
Klasse java.io.File
realisiert werden.
- Statt if ( boolscheMethode()
== true ) { ... kann man auch einfach schreiben:
if ( boolscheMethode()
) { ....
Beispiel zum Download: IOTools_2.java (2k)
|
Termin 03.04.2001
|
|
|
Themen:
- Paketklassen
- Exceptions
- throw, throws, try
und catch
- Abfangen von Exceptions, die Subklassen von anderen möglichen
Exceptions sind
Übung:
- Entfernen der System.err.println(...)
Aufrufe.
- Auftretende Fehler nicht mehr abfangen, sondern an aufrufende
Methode delegieren.
- Prüfen ob Quelldatei vorhanden ist. Wenn nicht vorhanden
eine neue java.io.FileNotFoundException
generieren.
Beispiel zum Download: IOTools_3.java (2k)
|
Termin 10.04.2001
|
|
|
Themen:
- Ableiten einer Klasse
- Überschreiben von Methoden
- Blockweises Kopieren.
- Statische Klassen und das überschreiben statischer Methoden
- API lesen :o))))
Übung:
- Die Klasse BetterIOTools programmieren.
- Mit statischen Methoden "auf die Schnauze fallen"
;o)
Anmerkung zu der Aufgabe:
Die meisten der Methoden wurden als Klassen-Methoden implementiert.
Der Ansatz nur die eigentliche Kopier-Methode zu überschreiben
funktioniert nicht, wenn es sich um statische Methoden handelt.
Dies liegt daran, das der JAVA Compiler statische Methoden schon
zur Optimierung früh bindet - d.h. beim Übersetzen.
Dies verhindert, daß die Vererbungstruktur erst zur Laufzeit
erneut aufgelöst wird.
Wird in der Klasse BetterIOTools die statische Methode fileCopy(..)
überschrieben, so hat ein Aufruf der in der Klasse IOTools_03
definierten fileCopy(..) Methode mit Überschreib-Prüfung
keine Änderung erfahren. Dies läßt sich leicht
testen, indem man anstatt des Kopieralgorithmus eine einfache
Ausgabe auf der Konsole macht.
Der erläuterte Mechanismus der Vererbung funktioniert allerdings,
wenn man alle verwendeten Methoden nicht statisch (also als
Objekt-Methoden) deklariert.
Dazu muß natürlich auch in der Tester Klasse erst
noch ein Exemplar der Klasse BetterIOTools erzeugt werden, über
das dann auf die Methoden zugegriffen werden kann.
Beispiel zum Download: BetterIOTools.java (2k)
|
Termin 24.04.2001
|
|
|
Themen:
- Ein Modell für ein Schachprogramm entwerfen
Zu Entwerfen ist nur eine Verwaltung, wir wollen nur ein Konzept,
daß die Verwaltung eines Schachbretts simuliert.
Übung:
Sammeln der Anforderungen.
Wie lassen sich diese Anforderungen realisieren. (Hausaufgabe
:o)))) )
|
Termin 8.05.2001
|
|
|
Themen:
- Ein Modell für ein Schachprogramm entwerfen (Teil 2)
Vorstellen der erarbeiteten Konzepte (waren ja nicht so viele
:(((( )
- Interfaces und Abstrakte Klassen
- Arrays (was sind und wie verwendet man ~)
- Accessor-Methoden
Übung:
Aufbau des Konzepts.
Darstellen der benötigten Methoden (Schnittstelle)
Implementation des erabeiteten Konzepts.
|
Termin 15.05.2001
|
|
|
|
|
Tutorium WS01/02
Dieses Tutorium findet für das zweite Semester der Informatik
statt, behandelt aber auch alle Grundlagen.
Der Termin ist Montags um 13:40 in Raum E215 (der große Rechner-Raum
E&I Trakt)
Zum Ablauf:
Wie bieten Euch ein umfassendes Tutorium über die Grundlagen
der Objektorientierung und der Umsetzung von Nassi-Schneiderman
Konstrukten in Java. Die (vielleicht schon bei einigen verblasste
;o) ) Theorie wird angesprochen, sowie anhand von praktischen
Beispielen geübt. Der Inhalt der jeweiligen Veranstaltung
(und auch ein kleines bißchen mehr) kann in den Zusammenfassungen
(siehe unten) nachgelesen werden. Zu den Zusammenfassungen gibt
es Aufgaben, die wir auch nachkontrollieren. Diese sind natürlich
kein Zwang, aber für euch eine gute Chance auf Fehler hingewiesen
zu werden.
Wir erwarten von Euch, daß ihr regelmäßig zum
Tutorium kommt.
Ihr Fragen stellt, sobald ihr etwas nicht versteht.
Die Zusammenfassung lest und die kleinen Aufgaben am Ende macht.
|
Helge Janicke
Niels-Peter de Witt
|
|
|
download Tutorium_Teil_1.pdf (194k)[PDF]
|
Termin 22.10.2001
|
|
|
download Tutorium_Teil_2.pdf (105k)[PDF]
|
Termin 29.10.2001
|
|
|
|
|
Für die Bio-Informatiker Semester SS2002
Die erste Aufgabe:
Schreibt ein Programm, daß Ausdrücke in Postfix Notation auswertet. Ein Beispiel dafür wäre:
2 3 + 4 - = 1
Für die erste Aufgabe ist es ausreichend Zahlen im Intervall
[0;9], also einzelne Ziffern auszuwerten. Zu erstellen sind folgende Programmteile:
- Struktogramm
- Code-Entwurf (Umsetzung des Struktogramms, kein lauffähiger Code. Funktionalität wird durch Ausgaben oder Kommentare repräsentiert.
- Umsetzung in lauffähigen Code.
Hier ein PDF Dokument, daß die Postfix-Notation kurz erläutert und Lösungen zu den obigen Aufgaben liefert.
download Aufgabe 1 (104kB)[PDF]
|
Helge Janicke
Karsten Wolke
|
|
letzte Änderung dieser Seite:
20.03.2002 20:59
|
|
|