Programming for Designers
The course is an introduction to the basic concepts of computing and programming using a general-purpose language such as Processing. It is intended for a general audience with no prior programming experience, and taught with an emphasis on user interaction and graphics.
Programming is a much too exciting, inspiring and powerful way of creative expression for designers, to leave it to tech people.
To know something about programming is arguably also the only way to use a computer to full extend and to substantially participate in and contribute to the brave new digital world. t The core of it algorithms – automatic, dynamic, interactive logic. This is what the amazingly successful computer phenomenon is about; the digital revolution is an algorithmic revolution.
I believe the most interesting things to program are interactive systems for people to use productively, express themselves and play with each other. (There might be one or two other approaches, but for this course, I suggest to focus on interaction.) Within interactive applications, initially, the computer has been used and it is still used as a tool to model other media, that is, for example, to paint pictures and cut movies. But increasingly, the computer is coming into its own, and people start to question its uses and experiment with it, and interact with it in novel, provocative, and playful ways that were unimaginable before, and which have no precedent.
For participants who have not done any programming before, it may take a few weeks to get into computational thinking, and to understand how programming works, recognize and use the hand full of structures, encounter object-based and event-driven programming, and implement a basic multiplayer game – and to see how programming can benefit their own design practice significantly. This course offers a potentially disruptive change of perspective, and participants will experience the world of digital media in a different way, and be able to participate and contribute in ways they could not before.
A semester plan is published in the first week of teaching on LearnIT. Roughly, the course covers basic syntax and program structure, object-based programming, event-driven programming, application examples, interactivity and graphics.
Formal prerequisitesThe course is an introduction to the basic concepts of computing and programming using a general-purpose language such as Processing. It is intended for a general audience with no prior programming experience, and taught with an emphasis on user interaction and graphics. As an introductory course, there are no prerequisites. Except a wild curiosity and the willingness to learn a challenging but rewarding skill!
Intended learning outcomes
After the course, the student should be able to:
- Acquire basic competence in the chosen programming language
- Design and implement programs as well as read and expand on existing programs
- Apply this language to simple tasks using good programming techniques
- Write and use custom-made programming functions
- Acquire skills in problem solving using given tools, steps and strategies, problem analysis, program development, testing and documentation
- Apply a range of basic algorithms
Ordinary examExam type:
C: Written report, external (7-trinsskala)
Hand-in of four programming exercises that demonstrates an understanding of fundamental principles of program design as well as skills related to problem solving and the creation of interactive systems. Three of the hand-ins are to be done individually. The third hand-in is typically a game and it may be done in pairs. The exercises are assessed summatively.