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 an exciting, inspiring and powerful way of creative expression for game designers.
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. At the core of this world are 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. 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 handful of structures, encounter object-based and event-driven programming, and implement a basic multiplayer game – and to see *how programming can significantly benefit their own design practice*. 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.
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 the chosen programming 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: Submission of written work, external (7-trinsskala)
C: Submission of written work
Hand-in of programming exercises that demonstrate an understanding of fundamental principles of program design as well as skills related to problem solving and the creation of interactive systems. Most of the exercises are to be done individually. The final exercise is typically a game and may be done in pairs. The exercises are assessed summatively.