Links



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)