Teaching / Cpsc60136

CPSC 601.36 - Fall 2010:

Applications of Computing Technology for Non-Computer Scientists

InstructorDr. J. E. Boyd
 Department of Computer Science
 University of Calgary
 2500 University Drive NW
 Calgary Alberta Canada T2N 1N4
 Email: boyd at cpsc ucalgary ca
 Office: ICT 711
 Office hours: MW 0900-1000h
 Lectures: MW 1630-1745h in ICT 616
TALawrence Fyfe
 Office Hours: R 1400-1600h in ICT 715

Selected Course Material


The course is open to all graduate students without a computer science background, but is specifically intended for those students enrolled in the CMD program. Students will acquire a set of basic skills that will allow them to include computation as part of their CMD projects. Of primary importance, students will acquire basic programming skills in the Processing computer language. This language is similar to Java, but provides and environment that facilitates the use of visual and other media.
The course will also introduce students to a small sample of application and research areas in computer science.


Students will be evaluated through a series of assignments and exams as follows:

Midterm Exam25%
Final Exam25%

Practice Exams


The course text is:

Reas and Fry, Processing: A Programming Handbook for Visual Designers and Artists, MIT Press, Cambridge, MA, 2007.

It should be available in the University Bookstore.

Some information on phidgets will be provided in class, and their is more documentation posted on the phidget website.


The Processing language is a text programming language specifically designed to generate and modify images.(Reas and Fry, page 1)

You can download Processing at the Processing web site.


113-Sep-09Introduction, Code ElementsStructure 1
 15-Sep-09Coordinates, Primitives, VariablesShape 1, Data 1
220-Sep-09Arithmetic, Functions, DecisionsMath1, Control 1
 22-Sep-09Repetition, VeritcesControl 2, Shape 2
327-Sep-09Curves, Colour, Display, TintMath 2, Color 1, Image 1
 29-Sep-09Text, Conversion, ObjectsData 2, Data 3
404-Oct-09Display, Trigonometry, RandomTypography 1, Math 3, Math 4
 06-Oct-09Translate, Matrices, Rotate, ScaleTransform 1, Transform 2
511-Oct-09Thanks Giving 
 13-Oct-09Continuous, FunctionsStructure 2, Structure 3
618-Oct-09Parameters, Recursion, MouseShape 3, Input 1
 20-Oct-09Mouse, Static Forms, KeyboardInput 1, Drawing 1, Input 2
725-Oct-09Events, Mouse, Time, DateInput 3-5
 27-Oct-09Midterm Exam - in class 
801-Nov-09Debugging, Lines, CurvesDevel 2, Motion 1, Motion 2
 03-Nov-09ArraysData 4
908-Nov-092D Arrays 
 10-Nov-09Animation, PixelsImage 2, Image 3
1015-Nov-09Motion, ResponseTypography 2-3
 17-Nov-09Components, Filter, Blend, Copy, MaskColor 2, Image 4
1122-Nov-09Image Processing, Image outputImage 5, Output 1
 24-Nov-09Phidget Interface KitExtension 8
1229-Nov-09Other Phidgets 

Important Dates

13-Sep-2009First class
04-Oct-2009Assignment 1 due
18-Oct-2009Assignment 2 due
27-Oct-2009Midterm exam (in class)
08-Nov-2009Assignment 3 due
22-Nov-2009Assignment 4 due
06-Dec-2009Assignment 5 due
08-Dec-2009Last class
TBAFinal Exam


All the assignments are in a single document with general instructions.


Phidgets provide a convenient way to provide a hardware interface to your program. This convenience comes from the use of the USB interface available on most computers, and software that makes Phidget devices easy to program.

You can use the Phidgets Processing Library developed with the help of Paul Saunier.

Or you can try the old way.


Page last modified on December 01, 2010, at 04:00 PM