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!

Benutzer:Martin Häcker/Java Kurs

Javakurs

  • Räume -> nicht so das problem
  • Beamer / VNC-Multicast?
  • Zedat (FU) hat spezielle Räume für sowas?
  • Anzahl der Leute: eher viel zu viele, ca. 100 Geht

Beteiligte

Wer kennt noch jemanden der Mitmachen würde? Bitte ansprechen - immer Persönlich.

Wir suchen Helfer die:

  • den Teilnehmern bei den Java-Programmen zu helfen (wie geht das mit dem "if-then-else", der "for"-Schleife, wie schreibt man das "try-catch", ...)
  • die 10 Leuten erklären wie man mit mit Java im Detail umgeht und Fragen beantworten
  • die vor 100 Leuten einen Vortrag halten und Java erklären
  • die helfen diese Vorträge inhaltlich Vorzubereiten

Teilnehmer bitte mit e-mail-Adresse eintragen

Tutoren

  • Marcel
  • Martin
  • Arthur
  • Florian
  • Thomas
  • Felix

Rechnerbetreuer

  • Jacob
  • Karl
  • Andreas Janson (vielleicht)

Teilnehmer

  • Max

Durchführung

  • JAVA Grundlagen!
  • "Objekt" ist nicht bäh...

Vorgehen

  • Kochrezept....
  • Legen immer main -> instanz -> run an, ohne zu verstehen
  • Von Opal ausgehen -> bringt nichts weil Opal nicht verstanden?
  • Von woanders ausgehen? Von null -> normale Welt
  • Von vornherein Objektorientiert -> Langfristig besser? Auch kurzfristig besser?
    • Test: Wird das zum Problem wenn wir das mit run() einführen?


Was können sie wenn wir fertig sind?

  • Utility Objekt: readFile(aFilename), getUserInput(aPrompt)
    • JavaAPI lesen
    • Streams verschachteln
    • UtilityObjekt -> Reuse
  • Objekt / null / Initialisieren
  • main -> instanz -> run() (erklären wir später)?
  • Programm mit mehreren Dateien
  • sehen das das scheiße ist:
class _{static long _
(long __,long  ___) {
return __==0 ?___+ 1:
___==0?_(__-1,1):_(__
-1,_(__, ___-1)) ;  }
static  {int _=2 ,___
= 2;System.out.print(
"a("+_+','+___+ ")="+
_ (_,  ___) ) ;System
.exit(1);}}//(C) Ulli
  • Lösungsstrategien Top->Down, Bottom->Up
    • Aufgaben angehen
    • Fehlerlösungsstrategien: NullPointerException, etc.
      • Was sagt denn der Fehler genau? Wie finde ich das raus?
      • Kaputter Code -> Der muss Korrigiert werden
        • n-mal das gleiche -> schleife / methode
    • Zu langer code -> kurz machen
  • Testen?: von main aufrufen, unittests, debuggen, printf-style
  • Was wissen die Leute am Schluss von Objekten?
    • Collections, Exceptions, Streams kennen
    • Konstruktoren, Instanzvariablen (vielleicht weglassen?)
    • Daten mit Methoden aussen herum (vielleicht)

Sprachkonstrukte die wir Behandeln und deren Reihenfolge

  • if
  • while, for ( <- Bis hier tag eins)
  • methode
  • try - catch / throws??
  • ++ oder +=, was noch? Oder gar nichts?
  • NICHT MACHEN: try {} cach (Throwable e) {}

Was wir nicht machen ABSICHTLICH

  •  :?, do{}while, ++i, switch,

Vielleicht haben wir noch Zeit hierfür?

  • SVN?
  • static / instanz -> Ebenen modell

Aufgaben die wir Stellen

  • UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt)
  • Apfelbaum
while (apfelbaumHatNochÄpfel) {
	pflückEinenApfelUndEssIhn();
}
  • Collections, Polymorphie (Apfel mit Wurm....)