Instructor:
Name: Calli Higgins
E-mail: cehiggins@citytech.cuny.edu
Alternate e-mail: callihiggins@gmail.com (to be used if there is an issue with CUNY email)
Office Hours: By appointment or via Skype: callihiggins
Course Description:
Creating computer applications, instead of just using them, will give you a deeper understanding of the essential possibilities of computation. Through weekly problems, students will learn the fundamentals of programming the computer (variables, conditionals, iteration, functions, arrays, and objects). These tools are the basic building blocks of programming needed to create cutting-edge graphics applications including interactive art, live video processing, and data visualization. The Java-based ‘Processing’ programming environment is the primary vehicle for the class. The end of the semester is spent developing an idea for a final project and implementing it using computer programming.
Course Objectives:
Upon successful completion of the course, students should be able to:
- Demonstrate understanding of the steps required in solving a problem using a computer.
- Demonstrate understanding of core programming concepts including variables, conditionals, iteration, functions, arrays, and objects
- Create an object-oriented application using Processing.
HIGHLY Suggested Textbook – “Learning Processing” by Daniel Shiffman, Morgan Kauffmann, 2008
Other Suggested Reading – “Processing: A Programming Handbook for Visual Designers and Artists” by Casey Reas and Ben Fry, MIT Press, 2007
Recommended Web sites:
www.processing.org – Students can download Processing from this site. Download is free of charge. The site also contains a lot of information, tutorials, and forums on how to use Processing.
www.learningprocessing.com– Textbook website
www.openprocessing.org – Like the Flickr of Processing. We will be using this site to host our sketches so we can embed them on the blog.
COURSE OUTLINE
Meeting
|
Topic to be Covered | ||||
1.1 |
Introduction to programming and the Processing environment | ||||
1.2 |
Pixels and shapes | ||||
2.1 |
Syntax, code structure, and variables | ||||
2.2 |
Events; Variable Workshop | ||||
3.1 |
NO CLASS SCHEDULED | ||||
3.2 |
Conditional statements, Booleans, IF/ELSE/THEN; | ||||
4.1 |
Buttons, rollovers, switches; Workshop | ||||
4.2 |
Images and Video Workshop | ||||
5.1 |
Loops | ||||
5.2 |
Loops Workshop | ||||
6.1 |
Review Workshop | ||||
6.2 |
Functions and modularity | ||||
7.1 |
Functions and modularity; arguments and return types | ||||
7.2 |
Workshop – Midterms Project | ||||
8.1 |
Midterm Project Presentations | ||||
8.2 |
Midterm Project Presentations | ||||
9.1 |
SPRING BREAK CONTINUES | ||||
9.2 |
Review | ||||
10.1 |
Intro to Object and Classes | ||||
10.2 |
More object and classes; Workshop- Reorganize your code; Thinking through Algorithms | ||||
11.1 |
Arrays | ||||
11.2 |
Workshop- Arrays | ||||
12.1 |
Present Final Project Plans; Arrays of Objects | ||||
12.2 |
Arrays of Objects Lab | ||||
13.1 |
Workshop- Present where you’re at with your final project | ||||
13.2 |
Workshop- Present where you’re at with your final project | ||||
14.1 |
Java; Array lists | ||||
14.2 |
Programming in Eclipse Workshop | ||||
15.1 |
Workshop- Continue to work on your final project | ||||
15.2 |
Workshop- Continue to work on your final project | ||||
16.1 |
Present Final Project | ||||
16.2 |
Present Final Project |