Creative Coding

btk

Till Nagel

Creative Coding 1

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.

Im Creative Coding 1 Blog gibt's Aktuelles, Termine, und Links zum Kurs und zu dort behandelten Themen.

Wann & Wo

Donnerstag, 08:45-11:15
Raum: R1, 3.OG

Inhalt

Einführung

Woche 1
  • Motivation
  • Kursüberblick
  • Einführung Programmierung
  • Algorithmen
  • Sprache & Umgebung
  • Formen 1: Punkte, Linien, Rechtecke, Ellipsen
  • Farben 1: stroke, strokeWidth, fill, noFill
Aufgaben und Zusammenfassung

Variablen & Interaktion

Woche 2
  • 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
Aufgaben und Zusammenfassung

Bedingungen

Woche 3
  • Bedingungen 1: if, else, boolean
  • Variablen 2: Scope
  • Farbmodelle (RGB, HSB, CYMK)
  • Farben 2: color, Transparenz, colorMode
  • Übungen veröffentlichen
Aufgaben und Zusammenfassung

Schleifen & Dynamik

Woche 4
  • Schleifen: while
  • Mathe 1: random()
  • Fehleranalyse in Processing
  • Dynamische Formen
  • Prozess: Trial & Error im Entwurf
Aufgaben und Zusammenfassung

Bewegungen 1

Woche 5
  • Bewegung & Transformation
  • Funktionen 1: Parameter und Rückgabewerte
  • Zufallszahlen, Gleichverteilung, Abweichung
  • Mathe 1: max(), min(), constrain()
  • Style-Guide für Code
Aufgaben und Zusammenfassung

Bewegungen 2

Woche 6
  • Bewegungen & Kollision
  • Logische Operatoren
  • Interaktion 2: mouseButton, keyPressed, key
  • Processing: Tools & Tipps
  • Organische und mechanische Bewegungen
Aufgaben und Zusammenfassung

Modularität

Woche 7
  • Modularität & Wiederverwendbarkeit
  • Funktionen 2: Definition
  • Formen 2: triangle(), quad(), arc(), etc.
  • mousePressed(), keyPressed()
  • Farbsymbolik
  • Projekt 1: Besprechung
Aufgaben und Zusammenfassung

Bildbearbeitung

Woche 8
  • Einführung Bildbearbeitung
  • Image 1: Bilder laden und speichern
  • Farbverläufe
Aufgaben und Zusammenfassung

Bildbearbeitung 2

Woche 9
  • for-Schleifen
  • Vertiefung Bildbearbeitung
  • Pixelmanipulation
  • Farbmanipulation
  • Pipette und Stempel
Aufgaben und Zusammenfassung

Generatives Design

Woche 10
  • Wiederholung & Übung
  • Generatives Design
  • Links zu Processing-Projekten
Aufgaben und Zusammenfassung

Arrays

Woche 11
  • Multiple Werte
  • Arrays 1: Deklaration & Initialiserung
  • Arrays 2: Zugriff und Verwendung mit Schleifen
Aufgaben und Zusammenfassung

Texte und Typographie

Woche 12
  • Typographie in digitalen Medien
  • Strings: Verwendung und Manipulation
  • Font 1: Schrift laden, Text anzeigen
  • Besprechung: Konzept Abschlussprojekt
Aufgaben und Zusammenfassung

Projektarbeit

Woche 13
  • Besprechung Abschlussprojekt
  • Weiterarbeit am Abschlussprojekt

Klausurvorbereitung & Projektarbeit

Woche 14
  • Probeklausur
  • Weiterarbeit am Abschlussprojekt

Abschlussprojekte

Woche 15
  • Präsentation Abschlussprojekt

Bewertung

Die Note setzt sich aus der Klausur (50%), den Projekten (40%), und aus den Kommentaren, Feedback und aktiver Beteiligung während der Vorlesung und Übungen (10%) zusammen. Die Anwesenheit während der Stunden ist Pflicht. Die Übungen müssen in jeder Stunde gemacht werden. Die Projekte können allein oder in Zweiergruppen gemacht werden.
Die Bewertung fasst sich aus folgenden Anteilen zusammen:

Projekt 115%
Projekt 225%
Mitarbeit10%
Klausur50%
Creative Commons Lizenz: Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.0 (Deutschland)

© 2008 Till Nagel, All rights reserved – Alle Rechte vorbehalten.