Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Lecturers: Luke Franzke & Florian Bruggisser

Overview

The Programming Basics course introduces programming 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.

...

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

Game 

You can use the following example as a template for building your own game.....

Template 2019

At a minim your final game should 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

...

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

: How computers thinkAfternoon: Input 

lecture

Logic exercise with little-bits

Afternoon: 

Processing: Hello World Documentary

Starting with Processing (en)

Variables (en)

01.11.2019 - 4k.

15Input07

15  (9:00 - 17:00) FB

Morning:

Writing our own Functions (en)

Events und Functions (en)

Afternoon:

Conditionals (en)

05.11.2019 -
4k.15Input08
 5.F01!  (9:00 - 17:00) FB

Morning:

Conditionals (en)

Random Numbers (en)

Afternoon:

Colours

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

Morning:

SIN function

Loops 

Nested Loops 

Afternoon:

Coordinates 

Arrays and Lists 

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

Morning:

Arrays and Lists 

Afternoon: 

SVG + Images 

vectors

15.11.2019 - 4k.
15Input
15  (9:00 - 17:00) FBClasses and Objects (en)
20.11.2019 - 4k.
15Game Project 
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.
15Game Project 
15  (9:00 - 17:00) LF & FB 

Morning

Input: State Machines

Mentoring

Afternoon: 

Input: Sound  

Self-structured work

22.11.2019 - 4k
.15Game Project 
.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)
 End Presentation 
 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