Module Name: Creative Coding (optional)
ECTS weighting: 5 Credits
Contact Hours: 22 x 1-hour lectures
78 hours of independent study
Module Coordinator: Prof. Dermot Furlong
Rationale and Aims
Creative Coding is a one-semester module taken by M.Phil. students. It covers introductory concepts for students without a programming background or those at the level of novice. The course is intended to enable students to develop programs in the Processing language - a streamlined version of Java originally designed to teach coding fundamentals within a visual context. The focus is on writing code for creative and/ or artistic applications; interactive sketches with graphics, animation and sound.
The module is intended to enable students to develop programs in the Processing language - a streamlined version of Java originally designed to teach programming fundamentals within a visual context.
Processing Development Environment
Binary data representations
Variables and data types: integers, floating-point, characters, Strings, arrays, Boolean
Operators: arithmetic, relational, comparison etc.
Program flow control
Conditions and conditional branching
High-level language constructs: if-else, while, for, etc.
Interaction: mouse and keyboard input, listener functions
Object Oriented Programming: classes and objects, methods and fields
Audio-visual applications: interactive sound (Minim library) and image
Graphical User Interface design (controlP5 library)
MIDI controller and gamepad integration
Networking: Open Sound Control, mobile (Android) controller
Recommended Reading List
Ira Greenberg (Foreword by Keith Peters): Processing: Creative Coding and Computational Art
Daniel Shiffman: Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
Casey Reas and Ben Fry: Getting Started with Processing
On Line Resources: https://processing.org
On successful completion of this module, students will be able to:
• Use the Processing Development Environment to run and write programs.
• Design and plan application implementations (with pseudocode).
• Write code at an intermediate level, producing working programs with a focus on interactive music and multimedia applications.
Methods of Teaching and Student Learning
The teaching strategy is a mixture of lectures and problem-solving tutorials. The format of lectures uses informal interaction as well as formal delivery of theory. There is a significant practical aspect - material delivered in lectures is put into practice using exercises and coding tasks.
Methods of Assessment
Assessment is by assignment (85%) and by continuous assessment of in-class practical task completion and short homework exercises (15%).