Lektion 1 - Der Hamster lernt laufen

Aufgabe 1: Der Hamster-Simulator

Mit dem Hamster-Simulator werden wir lange und intensiv arbeiten. Er wird uns die Programmiersprache Java beibringen! Ihr werdet den Großteil eures Wissens über dieses Wiki erwerben. Das Hamster-eBook wird uns immer wieder begegnen, um euch Hintergrundwissen zu vermitteln, das den Rahmen des "normalen" Unterrichts sprengen würde. Ihr werdet im Wiki immer wieder Verweise auf das eBook finden, die ihr freiwillig lesen könnt. Sie sind nicht notwendig, um dem Unterricht zu folgen.

  1. Ladet euch den Hamster-Simulator herunter und entpackt ihn auf euren Stick.
    • Wenn Ihr den Hamster-Simulator auf eurem PC zuhause benutzen wollt, benötigt ihr noch Java. Das könnt ihr über Java OpenJDK installieren.
  2. Ladet euch das Hamster-eBook herunter und speichert es auf eurem Stick.
  3. Startet den Hamstersimulator über die Datei hamstersimulator.jar (funktioniert zuhause nur, wenn ihr vorher Java installiert habt, siehe oben!).
Der Hamster funktioniert nicht?
Genauere Hinweise zur Installation findet ihr hier und im 2. Kapitel im eBook!


Es muss auf jeden Fall das JDK 8 verwendet werden!

Aufgabe 2: Die ersten Fachkonzepte

In dieser Aufgabe werdet ihr die ersten Fachkonzepte der Programmiersprache Java kennen lernen. Dies ist die Sprache, mit der der Hamster gesteuert werden kann. Um dies zu tun, muss man dem Hamster Befehle geben können. Eine Abfolge von Befehlen nennt man Programm.

  1. Lest die beiden Seiten Fachkonzept: Befehl und Fachkonzept: Programm durch.
  2. Notiert euch wichtige Begriffe und die Syntax-Diagramme in eurem Ordner.

Aufgabe 3: Der erste Kontakt

Baut das Territorium links (Wie geht das?) und schreibt ein Programm, das dem Hamster befiehlt:
  1. alle Körner zu sammeln und
  2. diese unten rechts in der Ecke „einzulagern“

Testet euer Programm! Nachdem ihr das Programm einmal getestet habt, setzt den Simulator zurück, damit der Hamster immer von der gleichen Position startet!

Speichert das Programm und das Territorium auf eurem Stick unter dem Namen Lektion1_ErsterKontakt ab.

Aufgabe 4: Wächter-Hamster

Schreibt ein Programm, das dem Hamster befiehlt, seinen Kornvorrat einzusammeln und zu bewachen. Speichert das Programm und das Territorium auf eurem Stick unter dem Namen Lektion1_Waechter ab.

Ausgangssituation:
Zielsituation:

Aufgabe 5: Weitere Fachkonzepte

Diskutiert, warum das Hamster-Programm aus Aufgabe 4 eigentlich ziemlich ineffizient ist. Wenn ihr eine Idee habt, lest euch das Fachkonzept: Methode durch.

Doch wie funktioniert das eigentlich genau? Warum kann der Hamster diesen komischen Text, den wir ein Programm nennen, eigentlich verstehen? Lest euch zur Beantwortung dieser Frage das Fachkonzept: Kompilierung durch.

  1. Notiert euch wichtige Begriffe und die Syntax-Diagramme in eurem Ordner.

Aufgabe 6: Effizienterer Wächter

Bearbeitet euren Wächter-Hamster aus Aufgabe 4, indem ihr:

  1. sich wiederholende Befehle zu Methoden zusammenfasst
  2. diese Methoden statt der Wiederholungen im Hauptprogramm verwendet

Speichert das Programm und das Territorium auf eurem Stick unter dem Namen Lektion1_EffizienterWaechter ab.

Aufgabe 7: Dumm gelaufen...

  1. Baut das Territorium rechts nach und schreibt das Programm rechts GENAU ab. Testet das Programm anschließend!
  2. Es gibt in diesem Programm zwei verschiedene Fehler! Lest das Fachkonzept: Fehlermeldung und notiert euch wichtige Infos in eurem Ordner
  3. Korrigiert die beiden Fehler im Programm!
Territorium:
Programm:
void main() {
    VOR();
}

Aufgabe 8: Slalom

Der Hamster soll Slalom laufen und alle Körner sammeln!

  1. Benutzt selbst gebaute Methoden, um den Code lesbarer zu machen!
  2. Auf der Kachel mit dem Hamster liegt auch ein Korn!

Speichert das Programm und das Territorium auf eurem Stick unter dem Namen Lektion1_Slalom ab!

Abschluss & Quiz

Seht euch eure Unterlagen durch. Geht insbesondere die Fachkonzepte (Befehl, Programm, Methode, Kompilierung und Fehlermeldung) noch einmal durch.

Zum Überprüfen des Gelernten könnt ihr am Ende noch ein Quiz bearbeiten!