21
Programmieren mit dem Java-Hamster-Modell VP Orientierung Informatik WS 2008/09 H.Hagenauer

Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

  • Upload
    dokhanh

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Programmieren mit dem Java-Hamster-Modell

VP Orientierung InformatikWS 2008/09

H.Hagenauer

Page 2: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Idee

● didaktisches Modell zur Einführung in die Programmierung

● leichter und intuitiver Zugang („spielerisches“ lernen)

● mittels „Hamster-Programmen“ Grundlagen erlernen

● ... und schrittweise Steigerung der Komplexität

Page 3: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Grundlegendes Modell

● virtuelle Hamster in einer virtuellen Landschaft steuern

● Hamster müssen bestimmte Aufgaben lösen

● einfache „Hamster-Sprache“ mit wenig Grundbefehlen, orientiert sich an Java

● siehe auch http://www.java-hamster-modell.de/

Page 4: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Wichtige Elemente

virtuelle Landschaft

Hamster Mauer Körner

Page 5: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Verwendung in dieser LV

● eigenhändige Installation des Hamster-Simulators

● Erstellung einer virtuellen Landschaft

● Lösung von einfachen Aufgaben mittels Hamster-Programmen

erste praktische Übungen an den Computern hier

dafür nötig: Benutzerberechtigung (siehe VP Einführung UNIX)

Page 6: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Installation

● anmelden (einloggen) am Rechner mittels Benutzername und Passwort

● Terminal-Fenster starten → 2 Möglichkeiten

– Symbol Terminal-Applikation schon vorhanden

– unter Applications (oder Anwendungen) danach suchen

Page 7: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Installation Forts.

● kopieren der Datei hamstersimulator-v25-02.zip

ins eigene Home-Verzeichnis mittels

cp /usr/local/sw/hamstersimulator/hamstersimulator-v24-01.zip .

● Kontrolle ob Datei vorhanden istls -l

● entpacken der Dateiunzip hamstersimulator-v25-02.zip

Page 8: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Installation Forts.

● Kontrolle, ob Verzeichnis (Ordner, Directory) mit gleichem Namen eingerichtet wurde

ls -l

● wechseln ins neue Verzeichniscd hamstersimulator-v25-02

Page 9: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Starten des Simulators

● Voraussetzung: das aktuelle Verzeichnis lautet

hamstersimulator-v25-02 sonst „change directory“ Befehl anwenden: cd hamstersimulator-v25-02

● Simulator und Editor startenjava -jar hamstersimulator.jar

Simulator- und Editorfenster werden geöffnet

Page 10: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Simulator

● Erstellung und Bearbeitung virtueller Landschaften

● Hamster setzen

● Programmablauf verfolgen

Page 11: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Virtuelle Landschaft erstellen

neues Territorium

Mauerkacheln setzen

Körner verteilen

Hamster platzieren

Territorium speichern

Landschaft = Territorium

Page 12: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Editor

Hamster-Programme

– erstellen

– ändern

– speichern

– laden

Page 13: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Grundbefehle für Hamster

vor(); springe 1 Feld nach vorne

linksUm(); Drehung um 90° nach links

nimm(); 1 Korn vom aktuellen Feld aufnehmen

gib(); 1 Korn auf aktuelles Feld ablegen

Page 14: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Programm erstellen

Aufgabe: der Hamster soll auf dem Bsp.-Territorium 2 Körner aufnehmen

neues Programm erstellen

imperatives Programm wählen

Programm eingeben

Programm speichern

Page 15: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Erstes Programm

void main() { vor(); vor(); nimm(); linksUm(); vor(); nimm();}

Programm starten

Programm kompilieren (übersetzen)

Programmname: ham1

Page 16: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Ergebnis

Editor

Simulator

Page 17: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Erweiterte Aufgabe

Aufgabe: der Hamster soll auf dem Bsp.-Territorium 3 Körner aufnehmen und dann 1 Korn am Feld gerade voraus ablegen (wenn möglich)

Benötigen:

neue Befehle (als Prozeduren/Methoden)

Bedingungen und Abfragen

Page 18: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Neue Befehle

Neues Programm anlegen: ham2

void rechtsUm(){ linksUm(); linksUm(); linksUm();}

void main() { rechtsUm(); vor(); vor(); vor(); linksUm(); vor(); vor(); vor(); vor(); nimm(); nimm(); nimm();}

neu definierterBefehl für Drehung um 90°nach rechts

Page 19: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Bedingungen

vornFrei() ist das Feld vor dem Hamster frei?

maulLeer() ist das Maul des Hamsters leer?

kornDa() ist ein Korn auf dem aktuellen Feld vorhanden?

Bedingungen ergeben immer wahr (true) oder falsch (false)

Page 20: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Bedingungen & Abfragen

void rechtsUm(){.....}

void main() { rechtsUm(); vor(); vor(); vor(); linksUm(); vor(); vor(); vor(); vor(); nimm(); nimm(); nimm(); if (vornFrei()){ vor(); gib(); }}

Abfrage: wenn Feldvor dem Hamster frei ist, dann gehe vor und lege 1 Korn ab

Ergänzung von ham2nötig, um 1 Korn abzulegen!

Page 21: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · Helge Hagenauer, FB Computerwissenschaften Idee didaktisches Modell zur Einführung in die Programmierung leichter

Helge Hagenauer, FB Computerwissenschaften

Wiederholungen (Schleifen)

Aufgabe: der Hamster soll sich so lange wie möglich nach vorne bewegen

Neues Programm anlegen: ham3

void main() { while(vornFrei()){ vor(); }}

Schleife: solange dasFeld vor dem Hamsterfrei ist, bewegt er sichum 1 Feld weiter