der Universität Oldenburg Programmierkurs Java Vorlesung am FB Informatik der Universität Oldenburg Vorlesung 1 Dietrich Boles
Gliederung von Vorlesung 1 Die Programmiersprache Java Was ist Java ? Historie Eigenschaften und Begriffe Arbeitsweise ein erstes Java-Programm Informationsquellen
Organisatorisches / Vorlesung Dozent: Dietrich Boles Abteilung Informationssysteme (Prof. Dr. H.-J. Appelrath) Escherweg 2 (OFFIS) D-26121 Oldenburg Raum: O 50 Tel.: 0441 / 9722-212 Fax: 0441 / 9722-202 Email: boles@informatik.uni-oldenburg.de Sprechstunde: nach der VL Homepage zur Vorlesung: http://www-is.informatik.uni-oldenburg.de/~dibo/teaching/java Skript: Folienkopien
Organisatorisches / Vorlesung Inhalte der Vorlesung: Basiskonzepte der imperativen Programmierung Basiskonzepte der objektorientierten Programmierung weitere Programmierkonzepte (GUIs, Applets, Threads, ...) Ziele der Vorlesung / Übung: Beherrschung der Programmiersprache Java Kennenlernen der Basiskonzepte der Programmierung Erlernen des sauberen Algorithmen- / Programmentwurfs Vermitteln eigener Lösungsansätze an andere Verstehen fremder Lösungsansätze Diskussion über Lösungsansätze Keine Ziele der Vorlesung: generelle Einführung in die EDV / Informatik / Rechnernutzung Auswendiglernen von syntaktischen Feinheiten Kennenlernen der JDK-Klassenbibliotheken
Organisatorisches / Vorlesung Struktur und Inhalte der Vorlesung: VL 1: Organisatorisches, Einführung in Java VL 2: Einführung in die Programmierung VL 3: Das Hamster-Modell VL 4: Variablen, Werte, Datentypen, Operatoren, Ausdrücke, Deklarationen VL 5: Anweisungen, Kontrollstrukturen VL 6: Prozeduren, Funktionen, Gültigkeitsbereich, Lebensdauer VL 7: Speicherverwaltung, Rekursion, Backtracking VL 8: Zusammengesetzte Datenstrukturen, Referenzdatentypen, Arrays VL 9: Klassen und Objekte I VL 10: Klassen und Objekte II, Strings, OO-Softwareentwicklung VL 11: Vererbung, Polymorphie VL 12: Abstrakte Klassen, Interfaces, Subobjekte VL 13: Pakete, JDK, Datenkapselung VL 14: Exceptions, Dokumentation VL 15: Ein-/Ausgabe, Threads, GUIs, Applets, Client-Server, RMI, Java-Beans
Organisatorisches / Übungen Sinn / Inhalte: Diskussion der Übungsaufgaben Nachbereitung des Vorlesungsstoffes Ablauf des Übungsbetriebs: Ausgabe von Übungszetteln in der Vorlesung Abgabe der Lösungen per Email an Tutor Korrektur der Lösungen durch Tutoren Rückgabe / Diskussion der Übungszettel Bearbeitung der Übungszettel in 2er- oder 3er-Arbeitsgruppen
Organisatorisches / Scheine Belegung des Moduls: bis zur 4. Woche Bestehen/Benotung des Moduls: Bestehen der Klausur Benotung gemäß Studienordnung (max. 100 Punkte) Sonderpunkte beim Spiele-Turnier: 1.: 40 Sonderpunkte 2.: 20 Sonderpunkte 3.: 10 Sonderpunkte Klausurzulassung: 40% korrekte Lösungen jedes (!) Übungszettels Klausur: zweistündig in der Woche nach Beendigung der Vorlesungszeit Nachklausur: in der Woche vor Beginn der Vorlesungszeit des SS
Organisatorisches / Rechner Rechnerräume: A4 2-205 A4 2-220 A4 2-215 Öffnungszeiten: rund um die Uhr reserviert: A4 2-220, zwei Nachmittage Rechnereinführung / -betreuung: einmaliger Termin zweistündige Einführung in Zweiergruppen durch die Tutoren Rechnerbetreuung: ein Nachmittag pro Woche, A4 2-220 Benötigte Software: Editor Java Developers Kit (JDK 2) Email WWW-Browser (Netscape)
Java / Was ist Java ? Imperative objektorientierte Programmiersprache Entwicklungswerkzeug Klassenbibliothek Hardware/Software-Technologie Komponentenarchitektur „kalter Kaffee“?
Java / Historie 1991: Sun-Projekt Green (Software für Konsumermarkt) 1991: OO-Programmiersprache Oak 10/1992: firmeninterne Vorstellung von „Star Seven“ 11/1992: Gründung der Firma „First Person“ 04/1993: Auflösung der Firma 04/1993: Beginn des WWW-Booms 1994: Umbenennung von Oak in Java 05/1994: HotJava (Browser mit Applet-Funktionalität) 12/1995: Lizensierung durch Netscape 01/1996: JDK 1.0 01/1996: Firma JavaSoft 05/1996: JavaBeans 02/1997: JDK 1.1 03/1997: JavaOS 03/1997: JavaStation (diskettenlose Workstation) 03/1997: PicoJava (Java-Prozessor) 1998: JDK 1.2 / JDK 2
Java / Eigenschaften und Begriffe Einfach Objektorientiert Verteilt Interpretativ Robust Sicher Architekturunabhängig Portabel Multithreaded Dynamisch Statisch geprüft Java-Applikationen: Java-Programme auf Betriebssystemebene Java-Applets: Java-Programme in WWW-Browsern JDK: Java Developers Kit (Standard Java Distribution: Werkzeuge, Klassen, JVM) JVM: Java Virtual Maschine (Java Byte Code Interpreter)
Java / Arbeitsweise
Java / Ein erstes Beispielprogramm public class Fibonacci { public static void main (String[] args) { int lo = 1; int hi = 1; System.out.println(lo); while (hi < 50) { System.out.println(hi); hi = lo + hi; // neues hi lo = hi - lo; // neues lo (= altes hi) }
Java / Informationsquellen WWW: http://www.javasoft.com/ (JavaSoft) http://java.wiwi.uni-frankfurt.de/ (Repository) http://wdvl.internet.com/Authoring/Java/ (Virtual Library) http://sunsite.unc.edu/javafaq/books.html (Bücher) http://www-is.informatik.uni-oldenburg.de/~dibo/teaching/java/links/ Bücher: es existieren hunderte von Büchern ! Goll/Weiß/Rothländer: Java als erste Programmiersprache, Teubner Flanagan: Java in a Nutshell, O`Reilly Boles: Programmieren spielend gelernt mit dem Java-Hamster-Modell, Teubner