Programming Basics 2020

Lecturers: Luke Franzke & Florian Bruggisser

Overview

The Programming Basics course introduces creative coding for design and visually oriented programming. The content of the 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 (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. 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 (70% of the final mark)

  Presentation of your final game

Documentation (30% 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/20_HS/Sem1_ProgrammingBasics

80% Attendance during lessons  

Resources

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 more advanced book on visual coding from Daniel 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: 

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


Links

Documentation Template


Schedule

(LF: Luke Franzke) (FB: Florian Bruggisser)

05.11.2020 (9:00 - 15:00)

Bits and Atoms (15:00 - 17:00)

Morning:

Conditional Statements 

Animation with SIN function 

Afternoon: 

Coordinates 

06.11.2020  (9:00 - 17:00) 

Morning:

Loops (en)

Nested Loops (en)

Afternoon:

Arrays and Lists 

11.11.2020 (9:00 - 17:00) 

9:00 (game project start) Game Template introduction

Classes and Objects (en) 

Simple Collision Detection

Slides:

12.11.2020 (9:00 - 15:00) 

Bits and Atoms (15:00 - 17:00)

Morning:

10:00 First Ideas. Round to show initial ideas and concepts for the game.

Please prepare:

  1. Flow activity: Take a photo, or find an image of activity that creates a Flow for you.
  2. From your activity, think of one unique aspect that might be behind the flow state induce. Think about how this aspect might be included in a game concept. Share your thoughts with the class
  3. Prepare one image or sketch that communicates the theme and style of game. Did your flow activity inspire your concept in some way?  

Afternoon:

Vectors and States Presentation

vectors

State Machines

SVG + Images  

Sound 

Finite State Machine 

Individual Work 

13.11.2020 (9:00 - 17:00) 

Alumni Day (15:30 - 19:00)

Individual Work 

Optional Mentoring 13:00 - 15:00 (with Luke in Zoom)

(Don't forget IAD Alumni Seminar 2 at 15:30) See email from Marcial Koch

17.11.2020 (9:00 - 17:00) 

Mentoring

18.11.2020 (9:00 - 17:00)

Individual Work 

19.11.2020 (9:00 - 15:00) 

Bits and Atoms (15:00 - 17:00)

Morning

Individual Work 

Afternoon:  

Game Presentation (13:00 - 14:30)

Documentation 

20.11.2020 (9:00 - 17:00)

Individual feedback (9:00 - 10:00)

Documentation