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 |