Das Buch

Über das Buch »Coding for Fun mit Python«

2010 erschien bei Galileo Computing ein Buch, das Python über den Spaß am Programmieren erklärt: mit Spielen, Simulationen, Verschlüsselung, künstlicher Evolution und Fraktalen. Diese Website macht seine Programme wieder lebendig.

Worum es geht

»Coding for Fun mit Python« ist kein Lehrbuch, das Befehl für Befehl durch die Sprache führt. Jedes Kapitel baut ein kleines, vollständiges Programm: erst eine Uhr, dann ein Spiel, dann eine Simulation. Unterwegs lernt man die Sprache und ganz nebenbei ein gutes Stück Informatik – vom Minimax-Algorithmus über RSA bis zu genetischen Algorithmen.

Die Idee dahinter: Python ist leicht zu lesen und schnell geschrieben. Damit eignet es sich perfekt, um Ideen einfach auszuprobieren. Genau das soll auch diese Website ermöglichen: Code lesen, ändern, ausführen und sehen, was passiert.

Titel Coding for Fun mit Python
Autor Lars Heppert
Verlag Galileo Press, Bonn (Galileo Computing), heute Rheinwerk Verlag
Erschienen 2010, 325 Seiten, broschiert, mit CD
ISBN 978-3-8362-1513-8 (Buch), 978-3-8362-2280-8 (E-Book)
Status vergriffen
Neuauflage in Planung, verlegt von der NyxAI GmbH (geplant) – mehr dazu

Die Verlagsseite zum Buch gibt es noch beim Rheinwerk Verlag, inklusive Leseprobe.

Die Kapitel und ihre Programme

  1. 1
    Es schlägt 12

    Eine analoge Uhr, erst in 2D, dann mit OpenGL im 3D-Raum.

  2. 2
    Game of Life

    Conways zellulärer Automat – mit langsamem Sterben und in 3D.

  3. 3
    Snake

    Das Spiel mit eigenem Levelformat, Kollisionen und einem Exkurs zum Refactoring.

  4. 4
    Lszqupmphjf?!

    Kryptografie von der Skytale über Caesar und Vigenère bis RSA.

  5. 5
    Statistik: das Ende jeglicher Intuition

    Das Ziegenproblem und Roulette-Strategien in der Simulation.

  6. 6
    Tic Tac Toe

    Ein unschlagbarer Gegner dank Minimax-Algorithmus.

  7. 7
    Ich verstehe nur Bahnhof – der Goethe-Generator

    Texte aus Worthäufigkeiten und Markow-Ketten.

  8. 8
    Evolution im Computer

    Eine Mondlandung mit echter Physik – und ein genetischer Algorithmus, der das Landen lernt.

  9. 9
    Spiderman

    Ein Webcrawler mit Beautiful Soup, SQL und einem Suchindex.

  10. 10
    Pendelkette – klack, klack, klack

    Vom einzelnen Pendel zur Pendelkette für den Schreibtisch.

  11. 11
    SOS – Save our Screens

    Bildschirmschoner, Reduktionismus, Chaos und Fraktale.

Was sich seit 2010 geändert hat

Die Programme im Buch sind für Python 2.6 geschrieben und nutzen pygame und OpenGL für die Grafik. Für diese Website wurden sie überarbeitet:

  • Python 3 statt Python 2: print ist eine Funktion, / teilt immer mit Nachkommastellen, xrange heißt range, Texte sind Unicode.
  • Browser statt Fenster: Statt pygame und OpenGL zeichnen die Programme mit c4f, einer kleinen Zeichen-API dieser Website. Die Logik der Programme bleibt dabei erhalten.
  • Ein await pro Bild: Animationen geben dem Browser nach jedem Bild kurz die Kontrolle zurück. Auf jeder Beispielseite steht unter »Vom Buch in den Browser«, was genau geändert wurde, und du kannst das Original aus dem Buch daneben aufklappen.

Kapitel 9 (»Spiderman«, ein Webcrawler mit Beautiful Soup und einer SQL-Datenbank) läuft nicht im Browser: Browser dürfen aus Sicherheitsgründen keine fremden Websites herunterladen und auswerten.

Neuauflage in Planung

Eine neue Ausgabe von »Coding for Fun mit Python« ist in Planung, verlegt von der NyxAI GmbH (geplant). Der Grundgedanke bleibt: Programmieren lernt man am besten an Projekten, die Spaß machen. Dazukommen sollen die großen Themen von heute – künstliche Intelligenz und Decision Intelligence, also Entscheidungen, die auf Daten und Modellen beruhen.

Geplant sind derzeit diese Themen:

  • Klassiker, modernisiert: die Coding-for-Fun-Projekte in aktuellem Python – von der Uhr über das Game of Life und Snake bis zu Verschlüsselung, Evolution und Fraktalen.
  • Python und KI: eigene Agenten, der Umgang mit LLM-APIs und kleine Projekte mit maschinellem Lernen.
  • Decision Intelligence: bayessche Statistik, Monte-Carlo-Simulation, Optimierung, Multi-Armed Bandits und Reinforcement Learning. Einführungen dazu gibt es schon bei smartlytics.de.
  • Ein Schach-KI-Projekt: vom Minimax aus dem Tic-Tac-Toe-Kapitel zu einer echten Schach-Engine. Wie weit das reichen kann, zeigen BobbyChess – Schach gegen eine KI im Stil von Bobby Fischer – und die Schach-KI DeepSquare.
  • Interaktive Beispiele im Browser: wie auf dieser Website – lesen, ändern, ausführen.

All das ist ein Plan, noch kein fertiges Inhaltsverzeichnis.

Welche Themen wünschst du dir? Was hat dir am alten Buch gefallen, was fehlt dir heute? Schreib Lars Heppert über das Kontaktformular auf heppert.com.

Über den Autor

Mehr über Lars Heppert und seine aktuellen Projekte rund um KI, Technologie und Fotografie findest du auf heppert.com.