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)


  • 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


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





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;




— Slides










constructor + parameters




array of objects



ball Pressed (drawing)


  • maxNum
  • out of canvas
  • lifespan


connecting lines


( HSB mode? )