Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Übersicht und Erfahrungen Javakurs 2006

Altes Konzept Javakurs 2006

Tag1

LE1

  • HelloWorld
  • compilieren und ausführen
  • Wie wirde ein iteratives Programm verarbeitet?
  • Variablen
    • Deklaration und Zuweisung
    • wichtige Basistypen
  • Fallunterscheidungen
  • Blöcke
  • Kommentare
  • BasicDebugging


Aufgaben:

  • Sich in Unix bewegen
  • Vorgabe compilieren u ausführen
  • Kassenbon (sysout, einfache Berechnungen und Fallunterscheidungen)

LE2

  • Methoden
    • Warum benutzen wir Methoden?
    • Wie werden sie deklariert?
    • Call by Value
  • Arrays
  • Schleifen
    • while
    • for
    • Schleifenbedingungen
    • Endlosschleifen vermeiden (Gleitkommazahlen, >=, ...)
  • sprechende Namen
  • Testen
    • Testwerte finden
    • Was kann man mit Testen erreichen, warum trotzdem essentiell


Aufgaben:

  • Arrays / While Fehler in Vorgaben suchen (hat lange gedauert!)
  • Fibonacci-Zahlen
    • Opal-> Java
    • Opaloptimierung -> Java
    • Iterativ
  • Primzahlen
    • isPrim
    • Methode analysieren die Primzahlen findet
  • Glücksspiel (Zusatz [komplexeres Programm mit Methoden, Schleifen und Berechnungen])
  • endlicher Automat (Zusatz)
  • Approximation (Zusatz)

Tag2

(einfache !) Wiederholungsaufgaben zu Schleifen ud Arrays waren nötig

LE3

  • Objektorientierung
    • Modularisierung von Code
    • Modularisierung von Daten
    • Information Hiding
    • Daten bringen ihre Methoden mit


Aufgaben:

  • Studentendatenbank
    • Step by step Anleitung zum Arbeiten mit Objekten

LE4

  • Vererbung
    • Methoden erben
    • Methoden überschreiben
  • Vererbungsbaum Richtung Objekt
    • Standartmethoden toString, equals
  • == versus equals
  • Interfaces
  • Java API
  • Streams
  • Fehlerbehandlung
    • über Rückgabewert
    • über Exeptions


Aufgaben:

  • Arbeiten an der Studentendatenbank
    • toString
    • Arraylist an Stelle von Array -> API
    • IOUtility -> in Stud. DB benutzen
    • IO erweitern zum zeilenweisen schreiben
    • equals implementieren
    • Math.random benutzen
    • IO erweitern: einlesen einer Datei
    • Eingabe von der Konsole (promt User for String)

Tag3

  • Wiederholungsaufgaben
  • OO Rennschnecke

Tag4

  • Wiederholungsaufgaben

alternativ

  • 4 gewinnt
  • Cäsar-Chiffre
  • Testdriven Development


Abschlussveranstaltung