Assignments | Course Home | Documentation | Lab Hours/Tutoring | Schedule | Submit

Saint Louis University

Computer Science 144
Introduction to Computer Science: Multimedia

Michael Goldwasser

Spring 2015

Dept. of Math & Computer Science


Please note that the schedule for future classes is tentative.

Also note: For each lecture, we denote both a topic as well as the associated reading in the textbook. The live link on the 'topic' leads to a page of my personal notes for that lecture. Those personal notes are not nearly as complete or polished as the associated readings from the text. In truth, they exist mostly to provide a brief outline of the day's lecture. Students are expected to read the associated sections of the text. In cases where my notes include material which is not explicitly in the text, I will add the word "notes" to the explicit reading list.

Day Topic Reading
Tues, Jan 13 Introduction, Course Overview slides
Getting Started tutorial
Ch. 1 of text
Thur, Jan 15 Drawing basics: canvas, colors, shapes, coordinate systems

Processing commands: size, background, point, line, triangle, rectangle, quad, ellipse, stroke, fill, noFill, smooth, nosmooth

In-class Activity: drawing practice
my (brief) notes
good cheatsheet
Coordinate System and Shapes tutorial
Color tutorial
Pages 33-39 and 44-47 of Ch. 2 of text
Tues, Jan 20 Better program design: variables, scale invariance, comments, naming conventions

Built-in Processing variables: width, height

Additional Processing commands: text, textSize, textAlign

Revisions to Mondrian (v2, v3)

In-class Activity: smiley face
pages 40-43 and 48-63 of Ch. 2 of text
Thur, Jan 22 Repetition with While Loops, For Loops

In-class Examples/Activity: Fun With Loops
while loop syntax
for loop syntax
skim pages 88-91 of text
Tues, Jan 27 Getting (inter)active!

Processing functions: setup(), draw(), frameRate(), mouseDragged(, mousePressed(), mouseReleased(), mouseClicked(), keyTyped(), keyPressed()

Processing variables: mouseX, mouseY, mousePressed, keyPressed, key, frameCount

programming concepts: functions, global vs local scope of variables

In-class Examples/Activity: active sketches
Thur, Jan 29 More control structures: review of loops; conditionals, user-defined functions

In-class Examples/Activities: control structures
Tues, Feb 3 Polygons, Curves

In-class Examples/Activities: polygons and curves
beginShape() reference
curves tutorial
Far more detailed exploration on pages 124-147 of text
Thur, Feb 5 Converting from Polar to Cartesian coordinates
Transformations: Translation, Rotation, Scale
Commands: translate, rotate, scale, pushMatrix, popMatrix
Brief introduction to Processing's String type

In-class Examples/Activities: trigonometry and transformations
trig review
transformation tutorial
Tues, Feb 10 (continuation of previous day)
Thur, Feb 12 Arrays: declaring, initializing, indexing, looping, parameter passing

In-class Examples/Activities: arrays
pages 149-158, 164-165 of Ch. 5 of text
Tues, Feb 17 Using arrays to repaint the canvas

In-class Examples/Activities: arrays
Thur, Feb 19 Working with images

In-class Examples/Activities: images
pp. 311-347 of Ch. 9 of text
pp. 369-389 of Ch. 10 of text
my notes
PImage reference
Tues, Feb 24 Working with images (continued)

In-class Examples/Activities: images
Thur, Feb 26 Masking techniques, Chroma keying

In-class Examples/Activities: masking
Tues, Mar 3 review
Thur, Mar 5 First Exam - info
Tues, Mar 10 No Class: Spring Break
Thur, Mar 12
Tues, Mar 17 Beginning Project 4
Thur, Mar 19 Using convolutions for advanced filters
In-class Examples:
pp. 390-399 of Ch. 10 of text
Tues, Mar 24 Working with characters and strings.
Rendering text.
Basic file usage.
Case Study: Speed Reading
my notes
pp. 234-240 of Ch. 7 of text (regarding Strings and files)
pp. 256-260 of Ch. 7 of text (regarding rendering Text)
Processing tutorial on Strings/Text
Processing tutorial on data files
Thur, Mar 26 Data Visualization
Case Study: Word Clouds (our implementation)
Ch. 7 of the book
(however we've reimplemented the project)
Tues, Mar 31 In-class activity: Improvements to Word Cloud case study
Thur, Apr 2 No Class: Easter Break
Tues, Apr 7 Data Visulization
Case Study: Pie Charts
Thur, Apr 9 Data Visulization
Case Study: Graphing stock prices
pp. 166-174 of text
(and associated code)
Tues, Apr 14 Gathering data from Yahoo
My code: yahoo.pde (or as formatted pdf)
Thur, Apr 16 Recursion
Examples: recursion
Ch. 8
Tues, Apr 21 Recursion with L-Systems (software) Ch. 8
Thur, Apr 23 Sound Processing
Example: my basic player
Tues, Apr 28 showcase of Project 5
Thur, Apr 30 student evaluations; review

Mon, May 11 Project Showcase (2:00-3:00) (optional)

Tues, May 12 Final Exam (12:00-1:50) ( info )

Michael Goldwasser
CSCI 144, Spring 2015
Last modified: Thursday, 30 April 2015
Assignments | Course Home | Documentation | Lab Hours/Tutoring | Schedule | Submit