Übungen zu Grundlagen der Programmierung
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ösen einer Ausnahme
17.6 finally-Klausel
17.7 Spezifikation von Ausnahmen im Methodenkopf
|