Week 2

Programing Fundamentals

Class Overview

Lecture 1

  • Kinetic Interfaces Research Presentation
  • Discussion about kinetic interfaces in depth, interfaces that can be created, technology that can be used, how to utilize them, how to improve them
  • Overall review of programming basics

Lecture 2

  • Variable – Array – Struct – Class
  • Review of Object-Oriented Programming
  • Array vs. ArrayList
  • In-class Exercise: Creating a drawing tool using particles (Objects and Arrays)

Readings

  • Reading: Learning Processing – Chapter 7 Functions
  • Reading: Learning Processing – Chapter 8 Objects
  • Reading: Learning Processing – Chapter 9 Arrays
  • Reading: Learning Processing – Chapter 22 Advanced Object-Oriented Programming

Assignment

  • Create a simple animation using Objects and Arrays.
    • Using ArrayLists, adjust the number of particles depending on the varying states, such as lifespan and total number of particles, to avoid dropping of the frame rate.
    • It would be a plus to have interaction between the objects. You can also make interactions based on the mouse position.
    • Please feel free to reach out to the instructor if you struggle with coming up with ideas.
  • The exercise should be uploaded to Kinetic Interfaces google drive folder by midnight every Saturday so that the instructor has enough time to review your work. You should upload not only your source code, but also all of your media assets, such as image, sound and video, so that the instructor is able to execute the program.
  • Additionally, your work process should be documented on the documentation blog. Your documentation needs to include sufficient amount of screenshots and video captures along with descriptions.

 


 

Notes

 

Random ball

  • float x, y, size;
  • float speedX, speedY
  • color clr;

 

copy and paste

 

— Slides

 

array of random balls

float[] x, y, size;

color[] clr;

 

functions

 

— Slides

 

Class

velX

posX

 

constructor

fields

methods

 

constructor + parameters

 

tab

 

array of objects

 

ArrayList

ball Pressed (drawing)

remove

  • maxNum
  • out of canvas
  • lifespan

 

connecting lines

accX

( HSB mode? )