Javakurs2007/Übungspool Entwürfe: Unterschied zwischen den Versionen
(→LE 1 (2h), Tag 1) |
(→LE 3 (4h), Tag 2: Schaltjahraufgabe ist übertragen) |
||
Zeile 43: | Zeile 43: | ||
=== LE 3 (4h), Tag 2 === | === LE 3 (4h), Tag 2 === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Javakurs 2007 LE03 Aufgabensammlung| Aufgaben zur LE 03]] | [[Javakurs 2007 LE03 Aufgabensammlung| Aufgaben zur LE 03]] |
Version vom 7. April 2007, 12:08 Uhr
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
Inhaltsverzeichnis
Übungsaufgaben
LE 1 (2h), Tag 1
Musterlösung zu den folgenden beiden Aufgaben aus dem letzten Jahr
Einfache Aufgaben für den Einstieg
Konsoleneingabe mit der Klasse Terminal, einfaches Menü mit Zahlen (done)
Wiederholungsaufgaben zu LE1/2 von 2006
LE 2 (2h), Tag 1
Einfache Aufgabe zu Schleifen und Modulo (Fertig!)
Aufgabensammlung ohne Objektorientierung
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)
LE 3 (4h), Tag 2
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
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
Virtuelles Canvas mit 3D-Objekten
Fortgeschritten
Eigenständiges Programmieren eines Chiffriersystems
Vergleich von Texten zweier deutscher Autoren
Javakurs2006/Tag_4/Vier_Gewinnt (müsste noch ausführlicher werden)