Auf dieser Seite möchte ich einige andere Webseiten
vorstellen, die sich mit dem Erlernen der Programmierung
bzw. mit der Programmiersprache Java beschäftigen.
Wer weitere Links kennt, kann sie mir gerne zuschicken.
Seiten mit Bezug zum Java-Hamster
Online-Java-Bücher
Gute Java-Bücher (insbesondere für Programmieranfänger)
Java-Vorlesungen
-
Programmierkurs Java:
Kostenlose Bereitstellung von Folien und Videoaufzeichnungen meiner Vorlesung "Programmierkurs Java" an
der Universität Oldenburg
Andere Programmierlernumgebungen
-
Übersichtsartikel über Programmierlernumgebungen allgemein
Dieser Artikel aus dem Jahr 2005 gibt einen schönen Überblick über Programmierlernumgebungen
-
Übersichtsartikel über Programmierlernumgebungen wie das Java-Hamster-Modell
Dieser Artikel aus dem Jahr 2002 gibt einen schönen Überblick über Programmierlernumgebungen, die letztendlich alle auf "Karel, the Robot" dem "Ur-Vater" der
so genannten "micro worlds" basieren.
-
Karel the Robot
(englisch)
Website des "Ur-Vater" der so genannten "micro worlds": Steuere einen Roboter durch ein Straßennetz. Lass ihn so genannte "beeper" suchen, aufnehmen bzw. wieder ablegen.
Zugrunde liegende Programmiersprache ist C bzw. C++.
-
Robot Karol
(deutsch)
Deutsche Variante von "Karel the Robot". Was die Wahl der Programmiersprache angeht, gibt es eine Variante mit einer eigenständigen Programmiersprache sowie eine Variante mit Java.
-
Karel++
(englisch)
Eine objektorientierte Erweiterung von "Karel the Robot" auf der Basis der Programmiersprache C++.
-
Karel D. Robot
Eine objektorientierte Variante von "Karel the Robot" basierend auf der Delphi-Programmierumgebung.
-
Kara, der Marienkäfer
Eine weitere "micro world": Steuere einen Marienkäfer namens Kara über das Spielfeld. Lass Kara Wurzeln umgehen, Pilze verschieben und Kleeblätter pflücken.
Zur Programmierung von Kara gibt es diverse Variante: endliche Automaten, Java, JavaScript, Python, Ruby, Lego, ...
-
Blopp
Eine weitere "micro world": Steuere Blobb über das Spielfeld. Lass ihn Bäume umgehen und Blumen pflücken.
Programmiert werden kann alternativ mit einer visuellen oder eine Blobb-spezifischen imperativen Programmiersprache.
-
Niki
Eine weitere "micro world": Steuere Niki den Roboter über das Spielfeld. Lass ihn Hindernisse umgehen und Gegenstände transportieren.
Zugrunde liegende Programmiersprache ist Pascal.
-
EDDI-V
(kostenpflichtig!)
Eine weitere "micro world": Steuere Eddi-V über das Spielfeld. Lass ihn Hindernisse umgehen und Blumen pflücken.
-
Jeroo
(englisch)
Eine weitere "micro world": Steuere Känguruhs über das Spielfeld. Lass sie Hindernisse umgehen und Blumen pflücken, tragen und wieder ablegen.
Die zu verwendenden Programmiersprachen sind an Java, C++, C#, VB.NET und Python angelehnt.
-
CeeBot
(kostenpflichtig!)
Eine weitere "micro world": Steuere Roboter über ein 3D-Spielfeld.
Die zu verwendende Programmiersprache ist an Java angelehnt.
Grundlage sind Szenarien wie Autorennen, Roboterfußball oder Roboterkämpfe.
-
Turtlegraphics
Steuere eine Schildkröte und lasse sie mit einem Stift schöne Zeichnungen auf dem Bildschirm erstellen.
Ursprüngliche Programmiersprache war die funktionale Sprache LOGO. Es gibt jedoch auch Umsetzungen in anderen Programmiersprachen.
-
Frosch
Analog zur Turtlegraphics, nur das anstelle einer Schildkröte ein Frosch gesteuert werden muss.
-
Solist
Solist ist ein Meta-Werkzeug zum Erstellen eigenständiger Mikrowelten. Genutzt wird dazu eine grafisch-interaktive Programmierumgebung und
eine spezielle Programmier-API. Auf der Website werden zahlreiche mit Hilfe von Solist bereits erstellte "micro worlds" zur Verfügung gestellt,
unter anderem alternative Lernumgebungen für das Hamster-Modell, Kara und Turtlegraphics.
-
Scratch
In Scratch können Programmieranfänger Miniwelten selbst zeichnen bzw. aus vorhandenen Materialien zusammenstellen.
Objekten der Welt können dann Programme bzw. Skripte zugeordnet werden, die ihr Verhalten beschreiben.
Die Programmierung erfolgt ausschließlich mit visuellen Elementen, Syntaxfehler sind nicht möglich.
Erstellte Programme können über eine Online-Gallerie anderen zugänglich gemacht werden.
-
Squeak Etoys
Ähnlich wie bei Scratch können Programmieranfänger Miniwelten selbst zeichnen bzw. aus vorhandenen Materialien zusammenstellen.
Objekten der Welt können dann Programme bzw. Skripte zugeordnet werden, die ihr Verhalten beschreiben.
Die Programmierung erfolgt ausschließlich mit visuellen Elementen, Syntaxfehler sind nicht möglich.
Letztendlich entstehen mit der Programmierung kleine Stories.
-
Alice
Die grundlegende Idee ist ähnlich wie bei Scratch und Squeak Etoys. Programmieranfänger können sich die Miniwelten aus
vorhandenen Materialien selbst zusammenstellen. Die Welten werden in der Regel 3-dimensional dargestellt.
Objekten der Welt können dann Programme bzw. Skripte zugeordnet werden, die ihr Verhalten beschreiben.
Die Aktionen der Objekte werden dabei im allgemeinen animiert dargestellt. Letztendlich entstehen mit
der Programmierung kleine Stories.
Die Programmierung erfolgt ausschließlich mit visuellen Elementen, Syntaxfehler sind nicht möglich.
-
StarLogo TNG
Ähnlich wie Alice
-
AgentSheets
(kostenpflichtig)
Mit AgentSheets lassen sich kleine Spiele und Simulationen programmieren.
Programmiert wird visuell mit vorgefertigten Bausteinen. Grundlage ist ein regelbasiertes Programmierparadigma.
-
Greenfoot
Greenfoot dient zum Erlernen der objektorientierten Programmierung mit Java. Programmierer erstellen Klassen,
aus denen sich Objekte instanziieren lassen, die in einer Miniwelt durch Ikons repräsentiert werden.
Beim Starten eines Greenfoot-Programms wird wiederholt für jedes Objekt der Welt eine Methode namens "act" aufgerufen, die
das Verhalten des Objektes beschreibt und dessen Aktionen auf dem Bildschirm visualisiert werden.
-
Puck
Programme werden in Puck aus visuellen Bausteinen via Drag-and-Drop zusammengesetzt. Syntaxfehler sind damit nicht möglich.
-
Processing
Programmierlernumgebung für Künstler. Programmiert wird in Java. Processing basiert auf einer Programmier-API, die
es erlaubt, mit wenigen Befehlen Programme zu schreien, die schöne Graphiken auf dem Bildschirm erzeugen.
-
Impromptu
Wie Processing eine Programmierlernumgebung für Künstler. Programmiert wird in Scheme, einer funktionalen Programmiersprache.
Impromptu basiert auf einer dynamischen Umgebung. Laufende Programme können jederzeit geändert und an andere Vorstellungen
angepasst werden.
-
Robocode
Programmierer programmieren in Java aufbauend auf einer speziellen API einen Roboter, der in einer Arena im Kampf gegen andere Roboter beweisen muss,
wie gut er programmiert worden ist.
-
NWERC Hockey league
Programmierer programmieren in Java aufbauend auf einer speziellen API ein Eishockey-Team, das im Spiel gegen andere Eishockey-Teams beweisen muss,
wie gut es programmiert worden ist.
-
AntMe! - Die Ameisensimulation
Programmierer programmieren in C# oder Visual Basic .NET aufbauend auf einer speziellen API ein Ameisenvolk, das in einem virtuellen Wald auf Nahrungssuche geht.
Im Wettkampf gegen andere Ameisenvölker muss bewiesen werden, wie gut es programmiert worden ist.
-
Torcs - The open racing car simulator
Programmierer programmieren in C oder C++ aufbauend auf einer speziellen API einen Auto-Rennfahrer, der
im Wettkampf gegen andere Rennfahrer beweisen muss, wie gut er programmiert worden ist.
-
Toontalk
Bringt Kindern in Form eines Videogames die Elemente der Programmierung näher.
-
Kodu
Visuelle Programmiersprache, um Spiele zu entwickeln (von Microsoft)
-
KidsPL
Programmiersprache und -entwicklungsumgebung für Kinder (kostenpflichtig)