Grundlagen der Programmierung

339.613 1VO Prähofer Di 8:30 - 9:15 Raum: HS 10 Beginn: 08.10.2019

Diese Vorlesung ist eine Einführung in die Programmierung. Sie behandelt grundlegende Konzepte der imperativen Programmierung (Deklarationen, Anweisungen, Prozeduren, Datenabstraktion), schult algorithmisches Denken, erläutert Techniken der Programmentwicklung und geht auf Fragen des Programmierstils, der Dokumentation und des systematischen Testens ein.

Als Programmiersprache wird Java verwendet. Die gelehrten Konzepte lassen sich aber auch auf jede andere imperative Sprache wie C, Pascal oder Modula anwenden.

Inhalt

  1. Grundlagen
  2. Algorithmen, Variablen, Anweisungen, Beispiele,

  3. Einfache Programme
  4. Grundsymbole, Variablendeklarationen, Zuweisungen, Arithmetische Ausdrücke, Ein/Ausgabe, Grundstruktur von Java-Programmen, Konstantendeklarationen, Namenswahl für Variablen und Konstanten

  5. Verzweigungen
  6. If-Anweisung, Vergleichsoperatoren, Datentyp boolean, Assertionen bei If-Anweisungen, Switch-Anweisung

  7. Schleifen
  8. While-Schleife, Assertionen bei Schleifen, Do-While-Schleife, For-Schleife, Abbruch von Schleifen, Vergleich der Schleifenarten, Schrittweise Erarbeitung von Programmen

  9. Gleitkommazahlen

  10. Methoden
  11. Parameterlose Methoden, Parameter, Funktionen, Lokale und globale Variablen, Sichtbarkeitsbereich von Variablen, Lebensdauer von Variablen, Überladen von Methoden, Beispiele

  12. Arrays
  13. Eindimensionale Arrays, mehrdimensionale Arrays, Beispiele

  14. Zeichen
  15. Zeichenkonstanten, Zeichenvariablen, Standardfunktionen

  16. Strings
  17. Stringkonstanten, Datentyp String, Stringvergleiche, Stringoperationen, Aufbauen von Strings, Stringkonversionen, Beispiele

  18. Klassen
  19. Deklaration und Verwendung, Methoden mit mehreren Rückgabewerten, Kombination von Klassen und Arrays

  20. Objektorientierte Programmierung
  21. Klassen mit Methoden, Konstruktoren, static, Beispiele (Stack, Queue), Klassifikation, Vererbung, dynamische Bindung

  22. Dynamische Datenstrukturen
  23. Verknüpfen von Knoten, Unsortierte Liste, Sortierte Liste

  24. Rekursion

  25. Schrittweise Verfeinerung

  26. Pakete
  27. Anlegen von Paketen, Export und Import von Namen, Sichtbarkeitsattribute, Pakete und Verzeichnisse, Information Hiding

  28. Ausnahmen
  29. try-Anweisung, throw-Anweisung, Ausnahmeklassen, Ablauf der Ausnahmebehandlung, Spezifikation von Ausnahmen im Methodenkopf

  30. Ausblick

Skript

Das Skript ist auf der Webseite dieser LVA im KUSSS als PDF-Dokument verfügbar (unter "Erweiterte Infos" -> "Dateien").

Prüfung

Die Prüfung findet am 29.1.2019 von 8:30 bis 9:30 (60 Minuten) in Form einer schriftlichen Klausur statt.

Literatur

  • Mössenböck H.: Sprechen Sie Java? Eine Einführung in das systematische Programmieren. 5. erweiterte Auflage, dpunkt.verlag, 2014
  • Schiedermeier R.: Programmieren mit Java. 2. aktualisierte Auflage, Pearson Studium, 2010
  • Schiedermeier R., Köhler K.: Das Java-Praktikum. Aufgaben und Lösungen zum Programmierenlernen. dpunkt.verlag, 2008
  • Sedgewick R., Wayne K.: Einführung in die Programmierung mit Java. Pearson Education, 2011.
  • Echtle K., Goedicke M.: Lehrbuch der Programmierung mit Java. dpunkt.verlag, 2000.
  • Rechenberg P.: Was ist Informatik? Hanser-Verlag, 1991.
  • Rechenberg P., Pomberger G.: Informatik-Handbuch. Hanser-Verlag, 2006.

Online-Quellen