Grundlagen der Programmierung

Über diesen Kurs

Einführungskurs in das Programmieren mit Processing, einer Variante von Java, von Michael Kipp, Professor an der Technischen Hochschule Augsburg. Die Übungsaufgaben haben Schwierigkeitsgrade Level 1 bis 5 (leicht bis schwer). Alle mit "Basics" gekennzeichneten Kapitel sind Inhalte der Vorlesung "Grundlagen der Programmierung" im Studiengang Interaktive Medien. Dies ist die aktuelle Version des Skripts (2026), die vorherige Version finden Sie unter Processing v2.

Grundlagen
01
Erste Schritte
Basics
Zum Kapitel →
  • 1.1 Grundformen zeichnen
  • 1.2 Processing
  • 1.3 Weitere Formen
  • 1.4 Kontur, Füllung, Farben
02
Interaktion & Variablen
Basics
Zum Kapitel →
  • 2.1 Interaktion
  • 2.2 Zufall, Text, Farben II
  • 2.3 Variablen: Basics
  • 2.4 Variablen: Verarbeitung
  • 2.5 Lokale Variablen
  • 2.6 Operatoren
  • 2.7 Systemvariablen
03
If-Anweisung
Basics
Zum Kapitel →
  • 3.1 Einfache If-Anweisung
  • 3.2 Else-If
  • 3.3 Boolesche Ausdrücke
  • 3.4 Boolesche Variablen
  • 3.5 Tasten unterscheiden
  • 3.6 Kollisionserkennung
04
Objekte
Basics
Zum Kapitel →
  • 4.1 Was ist ein Vektor?
  • 4.2 Vektor als Beispiel-Objekt
  • 4.3 Strings
  • 4.4 Bilder
  • 4.5 Bibliotheken: Audio
05
Schleifen
Basics
Zum Kapitel →
  • 5.1 While-Schleife
  • 5.2 For-Schleife
  • 5.3 For im aktiven Modus
  • 5.4 Verschachtelte Schleifen
06
Arrays
Basics
Zum Kapitel →
  • 6.1 Einführung in Arrays
  • 6.2 Arrays mit Schleifen
  • 6.3 Eigenschaften in Arrays
  • 6.4 Objekte in Arrays
  • 6.5 Flexible Arrays
  • 6.6 Zweidimensionale Arrays
07
Funktionen
Basics
Zum Kapitel →
  • 7.1 Was ist eine Funktion?
  • 7.2 Parameter
  • 7.3 Rückgabewert
  • 7.4 Funktionen und Arrays
  • 7.5 Überladen und Signatur
  • 7.6 Skopus von Variablen
08
Klassen
Basics
Zum Kapitel →
  • 8.1 Klassen und Objekte
  • 8.2 Methoden
  • 8.3 Konstruktoren
  • 8.4 Interaktion zwischen Objekten
  • 8.5 Array von Objekten
  • 8.6 Objekte und Zeiger
  • 8.7 Umgang mit Klassen
09
Dateien und Text
Basics
Zum Kapitel →
  • 9.1 String und char
  • 9.2 Dateien erzeugen und einlesen
  • 9.3 Daten und Objekte (CSV)
  • 9.4 Dateiformat JSON
  • 9.5 Dateiformat XML
10
Transformationen
Basics
Zum Kapitel →
  • 10.1 Einführung: Translation
  • 10.2 Translation, Rotation, Skalierung
  • 10.3 Objekt-Raum und Welt
  • 10.4 Transformationen als Matrizen
  • 10.5 Matrix speichern/wiederherstellen
  • 10.6 Artikulierte Strukturen
P1
Pacman-Projekt
Projekt
Zum Kapitel →
  • P1.1 Planung
  • P1.2 Meilenstein 1
  • P1.3 Meilenstein 2
  • P1.4 Meilenstein 3
E1
Algorithmen
Extra
Zum Kapitel →
  • E1.1 Was ist ein Algorithmus?
  • E1.2 Probleme lösen
  • E1.3 Rekursion
JavaScript
JS
Processing in JavaScript
Extra
Zum Kapitel →
  • JS.1 Warum JavaScript?
  • JS.2 Unterschiede in JavaScript
  • JS.3 Erstes Programm
  • JS.4 Anwendungsbeispiele
Vertiefung
11
3D-Grafik
Advanced
Zum Kapitel →
  • 11.1 3D-Formen
  • 11.2 Kamera
  • 11.3 Transformationen
  • 11.4 Komplexe Formen
P2
First-Person-Projekt
Projekt
Zum Kapitel →
  • P2.5 Vektoren und PVector
  • P2.6 Planung
  • P2.7 Klasse Grid
  • P2.8 Steuerung 1
  • P2.9 Steuerung 2: Drehung
  • P2.10 Gleichzeitiger Tastendruck
12
Zustände und Listen
Advanced
Zum Kapitel →
  • 12.1 Zustandsmaschinen
  • 12.2 Listen im Eigenbau
  • 12.3 ArrayList und Generics
13
Vererbung
Advanced
Zum Kapitel →
  • 13.1 MyTunes
  • 13.2 Klassenhierarchie und Vererbung
  • 13.3 Vererbung allgemein
  • 13.4 Weiteres Beispiel
14
Polymorphie
Advanced
Zum Kapitel →
  • 14.1 Punktnotation
  • 14.2 Konstruktoren und this
  • 14.3 Klassenhierarchie und Casting
  • 14.4 Methoden überschreiben
  • 14.5 Abstrakte Klassen
P3
Asteroids-Projekt
Projekt
Zum Kapitel →
  • P3.1 Klassen und Zustände
  • P3.2 Kollision mit Asteroiden
  • P3.3 Die Gewinnbedingung
  • P3.4 Serialisierung von Objekten
  • P3.5 KI mit Zuständen

Informationen für Lehrende

Wenn Sie Dozent:in oder Lehrer:in sind, können Sie gern das Material für Ihre Lehre nutzen. Eine kurze Nachricht an mich wäre nett (kipp@tha.de). Das Skript wird bereits an mehreren Hochschulen und Schulen eingesetzt.

Das Online-Skript wird in der Praxis an der TH Augsburg für die Lehrveranstaltung Grundlagen der Programmierung genutzt, eine 4-stündige Vorlesung (2 x 2 Std.) mit einem 2-stündigen Praktikum (Übung). Die Veranstaltung läuft ein Semester lang und deckt Kapitel 1 bis 10 im Skript ab. Die Vorlesung wird von 60-70 Studierenden besucht, das Praktikum wird in Gruppen von je 15-20 Personen durchgeführt.