Interaction Design WikiProgramming Basics

Programming Basics 2019

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 (60% of the final mark)

  Presentation of your final 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  

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. 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:


Links

Documentation Template


Schedule


Part 1: Creating a game. 

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

31.10.2019 - 4k.15 (9:00 - 17:00) LF

Morning:

Kick-off lecture

Logic exercise with little-bits

Afternoon: 

Processing: Hello World Documentary

Starting with Processing (en)

Variables (en)

01.11.2019 - 4k.15  (9:00 - 17:00) FB

Morning:

Writing our own Functions (en)

Events und Functions (en)

Afternoon:

Conditionals (en)

05.11.2019 - 5.F01!  (9:00 - 17:00) FB

Morning:

Conditionals (en)

Random Numbers (en)

Afternoon:

Colours

06.11.2019 - 4k.15  (9:00 - 17:00) LF

Morning:

SIN function

Loops 

Nested Loops 

Afternoon:

Coordinates 

Arrays and Lists 

14.11.2019 - 4k.15  (9:00 - 17:00) LF

Morning:

Arrays and Lists 

Afternoon: 

SVG + Images 

vectors

15.11.2019 - 4k.15  (9:00 - 17:00) FBClasses 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) LFVisual Programming input
10.12.2019 - 4k.15 (13:00 - 17:00) LFVisual Programming input