Überblick

In der Lehrveranstaltung Programmierung 1 (PROG1) geht es um die unmittelbare Programmierarbeit. Die konkreten Inhalte der Lehrveranstaltung umfassen:

  • Vom Problem zum Programm
    • Abstraktion
    • Modellbildung
    • Problemlösung
    • Implementierung
  • Aufbau von Programmen
    • Syntax
    • Elementare Datentypen
    • Operatoren und Ausdrücke
    • Kontrollstrukturen
    • Arrays
    • Ein- und Ausgabe
  • Grundlagen der Objektorientierung
    • Klassen und Objekte
    • Methoden
    • Konstruktoren
    • Datenkapselung
    • Benutzung von Standardklassen
  • Ausnahme- und Fehlerbehandlung

Insgesamt werden beim Abschluss der Lehrveranstaltung folgende Lernziele erreicht:

  • Erlernen des algorithmischen Denkens
  • Einstieg in die objektorientierte Programmierung
  • Verstehen des objektorientierten Klassenkonzepts
     
  • Strukturierung und Modularisierung von Problemlösungen
  • Sicherer Umgang mit Interpreter/Compiler und Entwicklungsumgebung
  • Kennenlernen relevanter Literatur und Dokumentation

Kriterien zur Bewertung von Java-Programmen

(1) Hat jede Java-Datei einen Kommentar mit den Angaben zu:
Dateiname, Compiler, Autor, Erstellungsdatum, Datum der letzten Änderung und Beschreibung dessen, was das Modul enthält?

(2) Sind alle Operationen ausreichend kommentiert mit den Angaben zu:
Operationsname, Parametern, Return-Wert und Beschreibung dessen, was die Operation macht?

(3) Sind die Bezeichner der Klassen, Attribute und Operationen gut und ihrer Bedeutung gemäß sprechend gewählt?

(4) Ist der Schreibstil (Einrückung und Klammersetzung) konsequent eingehalten worden und so gewählt, dass der Quelltext gut lesbar ist?

(5) Sind die Klassen gut gewählt? Nicht zu groß und nicht zu klein?

(6) Werden Codewiederholungen vermieden?

(7) Ist die Verwendung von Memberattributen, Klassenattributen, lokalen Attributen und Parametern korrekt?

(8) Ist die Modularisierung, Aufteilung in Klassen, Trennung von Zuständigkeiten gut gelungen?

(9) Sind die Klassen im objektorientierten Sinn gut entworfen?

(10) Ist das Programm so geschrieben, dass die Bedienung benutzerfreundlich ist?

(11) Werden Eingaben evaluiert?

(12) Wird das Datum evaluiert?

(13) Sind alle Operationen inhaltlich korrekt implementiert?

(14) Sind alle geforderten Anforderungen und Erweiterungen implementiert?

(15) Lässt sich das Programm fehlerfrei kompilieren?

(16) Ist das Programm fehlerfrei ablauffähig?

(17) Werden Exceptions behandelt?

(18) Gibt es Initialisierungsprobleme?