logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Automated Software Engineering

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Übung Grundlagen der Programmierung

339.615, 339.616 Prähofer Herbert Di, 13.45 - 15.15; Di, 15.30 - 17.00 HF 9905 Beginn: 04.10.2005
339.614 Löberbauer Markus Di, 13.45 - 15.15 T 1010 Beginn: 04.10.2005

Informationen

Exchange Verzeichnisse

JDK Downloads

Übungsabgabe (bereits abgegeben)

Termine

Nr. Termin Inhalt Downloads Übungsangaben Anmerkungen
1 04.10.2005 Einführung Folien In, Out Paket
Dokumentation zu In und Out
Uebung00  
2 11.10.2005 Algorithmen und einfache Programme   Uebung01  
3 18.10.2005 Verzweigungen   Uebung02  
4 25.10.2005 Schleifen Gugl.txt Uebung03  
5 1.11.2004 Allerheiligen      
6 8.11.2004 Gleitkommazahlen, Methoden Folien und JavaDoc zu Math. Uebung04  
7 15.11.2004 Arrays Loesung von Minesweeper wie besprochen: Minesweeper.java Uebung05  
8 22.11.2004 Zeichen und Strings Anleitung zu Aufgabe 6.2: Die Programme ReadText und ReadText_WithMethods zeigen, wie man einen Text aus einer Datei einliest und in Textstücke zerteilt. Dabei verwendet ReadText keine Methoden. ReadText_WithMethods verwendet Methoden skipWhiteSpaces und readTextChunk. Wichtig ist, dass bei ReadText_WithMethods eine static-Variable (static char ch) deklariert wird, die in allen Methoden verwendet werden kann. Uebung06
8fau110.txt
FaustNoNL.txt
 
9 29.11.2004 Klassen als Datentypen Das Programm Window.java fuer die graphische Ausgabe. Uebung07  
10 6.12.2004 Klassen im Sinne von OOP   Uebung08  
11 13.12.2005 Dynamische Datenstrukturen   Uebung09 Hinweise zu Bsp FamilyTree: Da Unklarheiten bezüglich der Main-Methode beim Beispiel FamilyTree aufgekommen sind, finden Sie hier beispielhaft, wie diese Main-Methode gestaltet sein könnte.
12 20.12.2005 Weihnachtsferien      
13 27.12.2005 Weihnachtsferien      
14 3.1.2005 Weihnachtsferien      
15 10.1.2005 Schrittweise Verfeinerung und Rekursion Musterloesung zum Beispiel FamilyTree Uebung10 Achtung neue Angabe zu Uebung10!!
16 17.1.2005 Ausnahmebehandlung, Testvorbesprechung LVA für Gruppe 1 (Loeberbauer) findet im Raum HF9905 statt!!!!    
18 24.1.2005 Test (13.45 - 15.15)     HS2, HS16
99   Zusatzaufgaben   Angabe fuer Zusatzaufgaben abzugeben bis 1. 3. 2005

Beschreibung

Die Übung lehrt die Grundlagen der Programmierung anhand der Sprache Java. Studierende lernen das algorithmische Denken und die systematische Umsetzung eines Algorithmus in ein Programm. Die Lehrveranstaltung zielt vor allem auf systematisches Programmieren und erst in zweiter Linie auf die Vermittlung spezieller Java-Inhalte ab. Es werden Grundlagen wie Datentypen, Ablaufkontrollstrukturen, Lokalität, objektorientierten Prinzipien, Rekursion, Schrittweise Verfeinerung, Datenabstraktion und Ausnahmebehandlung erläutert. Weiters werden auch Fragen der Programmkorrektheit und des Programmierstils behandelt.

Inhalt

1. Grundlagen
  1.1 Daten und Befehle
  1.2 Algorithmen
  1.3 Variablen
  1.4 Anweisungen
  1.5 Beispiele
  1.6 Beschreibung von Programmiersprachen

2. Einfache Java-Programme
  2.1 Grundsymbole
  2.2 Variablendeklaration
  2.3 Zuweisungen
  2.4 Arithmetische Ausdrücke
  2.5 Ein/Ausgabe
  2.6 Grundstruktur von Java-Programmen
  2.7 Konstantendeklarationen
  2.8 Weitere Operatoren
  2.9 Namenswahl für Variablen und Konstanten

3. Verzweigungen
  3.1 if-Anweisung
  3.2 Vergleichsoperatoren
  3.3 Datentyp boolean
  3.4 Assertionen bei if-Anweisungen
  3.5 Effizienzüberlegungen
  3.6 switch-Anweisung

4. Schleifen
  4.1 while-Anweisung
  4.2 Assertionen bei Schleifen
  4.3 do-while-Anweisung
  4.4 for-Anweisung
  4.5 Abbruch von Schleifen
  4.6 Vergleich der Schleifenarten

5. Gleitkommazahlen

6. Methoden
  6.1 Parameterlose Methoden
  6.2 Parameter
  6.3 Funktionen
  6.4 Lokale und Globale Namen
  6.5 Sichtbarkeitsregeln von Variablen
  6.6 Lebensdauer von Variablen
  6.7 Überladen von Methoden
  6.8 Beispiele
  6.9 Zweck von Methoden

7. Arrays
  7.1 Eindimensionale Arrays
  7.2 Mehrdimensionale Arrays

8. Zeichen
  8.1 Zeichenkonstanten und Zeichencodes
  8.2 Zeichenvariablen
  8.3 Standardfunktionen

9. Strings
  9.1 Stringkonstanten
  9.2 Datentyp String
  9.3 String-Vergleiche
  9.4 String-Operationen
  9.5 Aufbauen von Strings
  9.6 String-Konversionen
  9.7 Beispiele

10. Klassen
  10.1 Deklaration und Verwendung
  10.2 Methoden mit mehreren Rückgabewerten
  10.3 Kombination von Klassen und Arrays

11. Mehr über Methoden
  11.1 Methoden in Klassen
  11.2 Konstruktoren
  11.3 Statische und dynamische Felder und Methoden
  11.4 Beispiel: Klasse PhoneBook
  11.5 Beispiel: Klasse Stack
  11.6 Beispiel: Klasse Queue

12. Dynamische Datenstrukturen
  12.1 Verketten von Knoten
  12.2 Unsortierte Listen
  12.3 Sortierte Listen
  12.4 Stack als verkettete Liste
  12.5 Queue als verkettete Liste

13. Vererbung
  13.1 Klassifikation
  13.2 Kompatibilität zwischen Ober- und Unterklasse
  13.3 Dynamische Bindung
  13.4 Ausblick

14. Rekursion

15. Schrittweise Verfeinerung

16. Pakete
  16.1 Anlegen von Paketen
  16.2 Export und Import von Namen
  16.3 Pakete und Verzeichnisse
  16.4 Information Hiding
  16.5 Abstrakte Datentypen und abstrakte Datenstrukturen

17. Ausnahmebehandlung
  17.1 Fehlercodes
  17.2 Konzepte der Ausnahmebehandlung
  17.3 Arten von Ausnahmen in Java
  17.4 Ausnahmebehandler
  17.5 Auslössen einer Ausnahme
  17.6 finally-Klausel
  17.7 Spezifikation von Ausnahmen im Methodenkopf

Tutoren

Kürzel Name Foto
AT Adrian Tappe AT
CM Christian Mittermair CM
JW Johannes Watzl JW

Prüfung

Die Note setzt sich aus den Punkten der Übungen und einer Klausur zusammen.
Termin: 2006-01-24 13.45 bis 15.15
Ort: HS2 und HS16

Literatur

  • Mössenböck, H.: Sprechen Sie Java? Eine Einführung in das systematische Programmieren. dpunkt.verlag, 2001

Weiterführende Literatur

  • Martin Schader, Lars Schmidt-Thieme: Java - Eine Einführung. 3. Auflage, Springer-Verlag, 2000.
    Benutzeroberflächen, Ausnahmebehandlung, Threadprogrammierung, Sicherheitsmechanismen, RMI, ...
  • Cay S. Horstmann, Gary Connell: Core Java 2, Band 1 - Grundlagen. Markt+Technik, 2003.
    Einführung in die objektorientierte Programmierung, Ein- und Ausgabe, Swing, ...
  • Cay S. Horstmann, Gary Connell: Core Java 2, Band 2 - Expertenwissen. Markt+Technik, 2003.
    Multithreading, Collections, Netzwerke, JDBC, Java Beans, Sicherheit, Internationalisierung, XML, ...
  • Hans Bergsten: JavaServer Pages, deutsche Ausgabe. 1. Auflage, O'Reilly, 2001
    Einführung in JSP, Grundlagen HTML, Servlets, Datenbankzugriffe, Authentifizierung, ...
  • Hans Bergsten: JavaServer Pages. 3. Auflage, O'Reilly, 2003
  • Jason Hunter, William Crawford: Java Servlet Programmierung, deutsche Ausgabe der 2. Auflage. 1. Auflage, O'Reilly, 2001
    Einführung in Servlets, Grundlagen JSP, Applet-Servlet-Kommunikation, Datenbankzugriffe, Internationalisierung, ...

Online-Quellen

Valid HTML 4.0!