Creative Coding 1 – Sommersemester 2007
Kursinhalt
Dieser Kurs ist eine Einführung in die Programmierung innerhalb eines graphischen Kontextes. Durch Vorlesung, Diskussion und Übungen werden Programmierkenntnisse vermittelt und ein tieferes Verständnis der Möglichkeiten von digitalen und interaktiven Medien gefördert. Zudem wird ein kreativer Umgang mit Software als Material und Werkzeug angeregt.
Als primäre Entwicklungssprache und -umgebung wird Processing verwendet. Der Kurs richtet sich an Studenten ohne Programmiererfahrung, ist aber auch für Studenten mit Vorkenntnissen geeignet.
Achtung: Ersatztermin!
Aufgrund der Präsentationsvorträge fällt dieser Kurs an den nächsten beiden Freitagen aus. Ersatztermin ist am:
Montag, 16.07., 14:15-17:30
Vorlesung: OP, 3.OG
Übungen: C1, EG
Wann & Wo
Freitag, 10:30-13:45
Vorlesung: OP, 3.OG
Übungen: C1, EG
Inhalt
Einführung
Woche 1 – 13.04.- Motivation
- Kursüberblick
- Einführung Programmierung
- Algorithmen
- Sprache & Umgebung
- Formen 1: Punkte, Linien, Rechtecke, Ellipsen
- Farben 1: stroke, strokeWidth, fill, noFill
Variablen & Interaktion
Woche 2 – 20.04.- Dynamik 1: setup() und draw()
- Interaktion 1: mouseX, mouseY
- Processing-Variablen: width, height, mousePressed
- Variablen 1: Einführung und primitive Datentypen
- Ausdrücke: Berechnungen mit Operatoren
Bedingungen
Woche 3 – 27.04.- Bedingungen 1: if, else, boolean
- Variablen 2: Scope
- Farbmodelle (RGB, HSB, CYMK)
- Farben 2: color, Transparenz, colorMode
- Übungen veröffentlichen
Schleifen & Dynamik
Woche 4 – 04.05.- Schleifen: while
- Mathe 1: random()
- Fehleranalyse in Processing
- Dynamische Formen
- Prozess: Trial & Error im Entwurf
Bewegungen 1
Woche 5 – 11.05.- Bewegung & Transformation
- Funktionen 1: Parameter und Rückgabewerte
- Zufallszahlen, Gleichverteilung, Abweichung
- Mathe 1: max(), min(), constrain()
- Style-Guide für Code
Bewegungen 2
Woche 6 – 25.05.- Bewegungen & Kollision
- Logische Operatoren
- Interaktion 2: mouseButton, keyPressed, key
- Processing: Tools & Tipps
- Organische und mechanische Bewegungen
Modularität
Woche 7 – 01.06.- Modularität & Wiederverwendbarkeit
- Funktionen 2: Definition
- Formen 2: triangle(), quad(), arc(), etc.
- mousePressed(), keyPressed()
- Farbsymbolik
- Projekt 1: Besprechung
Bildbearbeitung
Woche 8 – 08.06.- Einführung Bildbearbeitung
- Image 1: Bilder laden und speichern
- Farbverläufe
Bildbearbeitung 2
Woche 9 – 15.06.- for-Schleifen
- Vertiefung Bildbearbeitung
- Pixelmanipulation
- Farbmanipulation
- Pipette und Stempel
Generatives Design
Woche 10 – 22.06.- Wiederholung & Übung
- Generatives Design
- Links zu Processing-Projekten
Arrays
(fällt aus, nicht klausurrelevant)- Multiple Werte
- Arrays 1: Deklaration & Initialiserung
- Arrays 2: Zugriff und Verwendung mit Schleifen
Texte und Typographie
Woche 12 – 13.07.- Typographie in digitalen Medien
- Strings: Verwendung und Manipulation
- Font 1: Schrift laden, Text anzeigen
- Besprechung: Konzept Abschlussprojekt
Klausurvorbereitung
Woche 13 – Montag, 16.07.- Probeklausur
- Weiterarbeit am Abschlussprojekt
Abschlussprojekte
Woche 14 – 20.07.- Präsentation Abschlussprojekt