Lecturers: Luke Franzke & Florian Bruggisser
Overview
The Programming Basics course introduces programming creative coding for design and visually oriented outcomesprogramming. Part 1 The content of the course builds on the basics of coding principles from the Bits and Atoms course, is transferable to many academic, artistic and professional aspects of Interaction Design, not only in programming directly, but in understanding and communicating on digital topics. Part 1 of the course develops basic coding skills and covers object-oriented programming with Processing with processing (java). Students apply their newly learnt skills by developing a game based on a supplied template.
In Part 2 of the course, students develop their skills further by focusing on graphics and visual possibilities with code. Students develop dynamic graphics which can be controlled with gesture-based interactions. Part 2 of the course runs simultaneously with Graphic Design Basics so that the student's work can be informed with a greater visual sensibility.
The course tutorials can be found here: programming
Deliverables
Game and Presentation Presentation (60% of the final mark)
- Presentation of your final game Documentation game
Documentation (20% of the final mark) - Documentation of your work in the provided template together with your code. This should be placed on the server in filer.ad.zhdk.ch/DDE/VIAD/01_ABGABEN/19_HS/Sem1_ProgrammingBasics
Exam (20% of the final mark) - You will be given a test to evaluate your programming knowledge.
80% Attendance during lessons
...
https://processing.org/reference/ : The reference page for Coding in Processing
http://learningprocessing.com/ A comprehensive book on the basics of processing by Daniel Schifman
The Nature of Code : A comprehensive free ebook more advanced book on visual coding from Daniel Schifman
Game
You can use the following example as a template for building your own game. It's based off the classic arcade game "Asteroids", you should, however, modify it into a completely new game.
At a minim your final game should Schifman (free ebook)
https://www.openprocessing.org/: A community-based website for sharing creative coding examples
https://p5js.org: A javascript library based on processing style coding.
Hello World! A documentary about processing and the creative coding movement.
Game
A template will be provided to you to get started in your game concept. This years template is based on Flappy Bird.
https://github.com/IAD-ZHDK/programming-basics
You are free to develop the game in any direction you wish, but at a minim, your final game must include:
- A concept and a visual theme
- Original graphics
- Appropriate start, play and game-over screens
...
Schedule
Part 1: Creating a game.
(LF: Luke Franzke) (FB: Florian Bruggisser)
31.10.2019 - 4k.15 (9:00 - 17:00) LF | Morning: |
---|
Logic exercise with little-bits Afternoon: |
01.11.2019 - 4k. |
---|
15 (9:00 - 17:00) FB | Morning: Writing our own Functions (en) Afternoon: |
---|---|
05.11.2019 - |
5.F01! (9:00 - 17:00) FB | Morning: Afternoon: Colours |
---|---|
06.11.2019 - 4k. |
15 (9:00 - 17:00) LF | Morning: Afternoon: |
---|---|
14.11.2019 - 4k. |
15 (9:00 - 17:00) LF | Morning: Afternoon: |
---|---|
15.11.2019 - 4k. |
15 (9:00 - 17:00) FB | Classes and Objects (en) |
---|---|
20.11.2019 - 4k. |
15 (9:00 - 17:00) LF & FB | Game Project Start 9:00 Morning: Game Template introduction Afternoon: 13:00 - First Ideas. Round to shame initial ideas and concepts for the game. Input: Simple Collision Detection |
---|---|
21.11.2019 - 4k. |
15 (9:00 - 17:00) LF & FB | Morning Input: State Machines Mentoring Afternoon: Input: Sound Self-structured work |
---|---|
22.11.2019 - 4k. |
15 (9:00 - 17:00) LF & FB | Exam 9:00-10:00. Exam Sample Page Afternoon Mentoring |
---|---|
26.11.2019 - 4k.15 (13:00 - 17:00) |
LF & FB | Game Presentation (13:00 - 14:30), documentation and individual feedback |
---|
Part 2: Visual Programming
03.12.2019 - 4k.15 (13:00 - 17:00) LF | Visual Programming input |
---|---|
10.12.2019 - 4k.15 (13:00 - 17:00) LF | Visual Programming input |