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

< Javakurs2007
Version vom 7. April 2007, 12:08 Uhr von Felixf (Diskussion) (LE 3 (4h), Tag 2: Schaltjahraufgabe ist übertragen)

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" (done)
Erstellen eines Kassenbons (Fallunterscheidungen)

Einfache Aufgaben für den Einstieg

Konsoleneingabe mit der Klasse Terminal, einfaches Menü mit Zahlen (done)

Wiederholungsaufgaben zu LE1/2 von 2006

Javakurs2007/Variablen_und_Zuweisungen(done)
Javakurs2007/Schleifen (done)

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

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)