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!

Javakurs2007/Übungspool Entwürfe

Jeder Tutor sollte sich hier mindestens eine, besser mehrere Übungen ausdenken. Da man die Fehler in einer Übungsaufgabe nur finden kann wenn man sie selbst löst sollte jeder Tutor mindestens eine der Übungsaufgaben lösen (ohne Eclipse) und sie an Hand seiner dabei gewonnenen Erfahrungen verbessern. Auch das verlinken eurer Lösung kann weiterhelfen.

Die Aufgaben werden von uns direkt aus dem Wiki gedruckt, achtet also bitte darauf eure Übungsaufgaben auch wie Übungsaufgaben zu strukturieren. Ein Beispiel wie so etwas aussehen könnte ist die Rennschnecke aus dem letzten Jahr.

Denkt daran, dass wir es im Schwehrpunkt mit Anfängern zu tun haben deren Gehirnkapazität mit dem Erlernen der Programmiersprache schon hinreichend ausgeschöpft ist. Gebt also besser ein bischen zu viel Hilfestellungen als zu wenig.

Als Anregung hier noch einmal worum es in den einzelnen LEs ging: Gliederung Javakurs 2007


Übungsaufgaben

LE 1 (2h), Tag 1

Musterlösung zu den folgenden beiden Aufgaben aus dem letzten Jahr

Vom Arbeiten mit der Konsole bis "Hallo Welt"
Erstellen eines Kassenbons (Fallunterscheidungen)

Einfache Aufgaben für den Einstieg

Konsoleneingabe mit der Klasse Terminal, einfaches Menü mit Zahlen

Wiederholungsaufgaben zu LE1/2 von 2006

Javakurs2007/Variablen_und_Zuweisungen zerlegt und überarbeitet

LE 2 (2h), Tag 1

Einfache Aufgabe zu Schleifen und Modulo (Fertig!)

Aufgabensammlung ohne Objektorientierung

Mehrdimensionale Arrays

Gemischte Aufgaben zu Schleifen und Arrays

Musterlösungen für die folgende Aufgabensammlung aus dem letzten Jahr

Aufgabensammlung aus dem letzten Jahr. (Müsste zerlegt und fürs Wiki portiert werden)

Primzahlenaufgabe

LE 3 (4h), Tag 2

Schaltjahr (Leicht).

Schreibt eine Methode die eine Jahreszahl übergeben wird und enscheidet ob es sich um ein Schaltjahr handelt.

Ein Jahr ist kein Schaltjahr wenn die Jahreszahl nicht durch 4 teilbar ist .

Ein Jahr ist ein Schaltjahr wenn die Jahreszahl durch 4 aber nicht durch 100 teibar ist.

Ein Jahr ist ebenfalls ein Schaltjahr wenn die Jahreszahl durch 4, durch 100 und durch 400 teilbar ist.


Aufgaben zur LE 03

Gauß-Algorithmus

Sudoku

Rekursion vs Schleifen

Apfelmaennchen


SelectonSort (Leicht)

In diese Aufgabe übt ihr die Implementierung von Methoden und ihre Benutzung am Beispiel: einen Array zu sortieren. Nach der Implementierung jede Methode sollt ihr sie gleich testen von daher ist diese Aufgabe in Teilaufgaben geteilt:

1-) Immer sinnvoll: Methode die das Array auf der Konsole Ausgibt.

2-) Methode die einen int-Array bekommt und prüft ob er sortiert ist (von klein nach gross) oder nicht.

3-) Methode, die zwei Einträge in einem Array vertauscht. Überlegt euch, was für Argumente hat diese Methode.

4-) Methode die von einem Array die stelle des Kleinsten Eintrag zurückliefert. Überlegt euch, was für Argumente hat diese Methode.

5-) Methode die einem Array bekommt und ihm dann nach dem SelctionSort Algorithmus srortiert. Das SelectionSort-Algorithmus funktionniert folgendermaßen: Das Array wird von Anfang an sortiert. So hat man am Anfang einen leeren sortierten Teil und einen vollen unsortierten Teil.

a-) finde die Stelle des kleinste Element .

b-) vertauche ihn mit dem Element am Anfang des unsortierten Teils (so wächst der sortierte Teil um eins und verringert sich der unsortierte um eins).

c-) mach das gleiche für das nichtsortierte Teil des Arrays; solange es unsortierten Teil gibt.

Versucht dabei gleich mal passende Namen zu verwenden und auch Kommentare nicht vergessen. Liest beispielsweise -mit dem Kommilitonen- gegenseitig das Code was der andere geschrieben hat. wie schnell könnt ihr es nachvokllziehn?

Schleißlich überlegt ihr euch wie ihr eure Methoden am besten testet. führt z.B. gegenseitig Tests. Konntet ihr Fehler finden? --- beheben?

LE 4 (2h), Tag 3

LE 5 (2h), Tag 3

Objektorientierung am Beispiel eines Schneckenrennens

Mehrdimensionale Arrays

Evtl. Building a Game-Engine with Cocoa 2 3 anpassen.

Beispiellösung für Studentendatenbank 2006

Studentendatenbank von 2006(Müsste fürs Wiki portiert werden)

Studentendatenbank (done)

LE 6 (4h), Tag 4

ASCII DOOM

Virtuelles Canvas mit 3D-Objekten

Fortgeschritten

Eigenständiges Programmieren eines Chiffriersystems

Mehrdimensionale Arrays

Vergleich von Texten zweier deutscher Autoren

Javakurs2006/Tag_4/Vier_Gewinnt (müsste noch ausführlicher werden)