About the Course
CS 1120: Media Computation is an introduction to computation, algorithmic thinking, data transformation and processing, and programming in the context of digital media such as images, sound, and text.
This course has two primary goals. First, you will study digital media and some of the techniques that are used to digitally represent and modify photo, sound, and text files. Second, the course aims to teach you about how to write computer programs. I hope that you leave this course with a sense of what programs can do and how you can write them to express ideas.
Media computation is the primary theme in this course. Computing with images, sound, and text offers a rich body of problems to solve that will bring us into contact with many of the fundamental ideas of computer science: representing and transforming data; design, analysis, and experimentation; and the thrill of solving problems in any domain of human thought.
Schedule
Week | Date | Readings | Sessions & Labs | Assignments |
---|---|---|---|---|
1 | Mon, 01/09 | Ch. 1 | Introduction to computer science and digital media | |
Wed, 01/11 | Ch. 2 | Introduction to programming | ||
Fri, 01/13 | Lab 1: Exploring JES | |||
2 | Mon, 01/16 | Martin Luther King, Jr. Day | ||
Wed, 01/18 | NO CLASS | |||
Fri, 01/20 | Ch. 4 | How images are encoded; image manipulation; basic loops | Assignment 0 | |
3 | Mon, 01/23 | Ch. 4 | Decreading/increasing amount of color; basic filters (sunset, negative, grayscale...) | download code | |
Wed, 01/25 | Ch. 4 | Accessing pixels by index; copy and paste | download code | ||
Fri, 01/27 | Lab 2: Manipulating photos with loops | |||
4 | Mon, 01/30 | Ch. 5 | Controlled color changes; red eye removal; sepia tones | download code | Assignment 1 |
Wed, 02/01 | Ch. 5 | More effects: posterizing | download code | ||
Fri, 02/03 | Lab 3: Using conditional statements to change color | lab file | |||
5 | Mon, 02/06 | Ch. 5 | More on if-statements; generalizing a function | download code | |
Wed, 02/08 | Ch. 6 | Edge detection; background subtraction; chromakey | download code | ||
Fri, 02/10 | Lab 4: Selective color manipulation | |||
6 | Mon, 02/13 | Ch. 6 | Processing pixels faster; more on hierarchical decomposition | download code | Assignment 2 |
Wed, 02/15 | Ch. 6 | Copying; cropping; mirroring an image | download code | ||
Fri, 02/17 | Lab 5: Making a collage | download images | |||
7 | Mon, 02/20 | Ch. 6 | Rotating; scaling | |
Wed, 02/22 | Ch. 6 | Blurring; blending | ||
Fri, 02/24 | Lab 6: Blending images | download images | |||
8 | Mon, 02/27 | Generalizing the image rotation program | download code | calculation | Assignment 3 | |
Wed, 03/01 | Lab debrief / exam review | |||
Fri, 03/03 | Exam - 1 | |||
9 | Mon, 03/06 | Ch. 7 | How sounds are encoded; sound manipulation | |
Wed, 03/08 | Ch. 7 | Changing the volume; clipping | ||
Fri, 03/10 | Lab 7 | |||
SPRING BREAK | ||||
10 | Mon, 03/20 | Ch. 7 | Sound manipulation (cont.); normalizing sound | download code | |
Wed, 03/22 | Ch. 8 | Manipulation of sections of sound | download code | ||
Fri, 03/24 | Lab 8: Splicing sound | download file | |||
11 | Mon, 03/27 | Ch. 8 | Clip and copy revisited | download code | Assignment 4 |
Wed, 03/29 | Ch. 9 | Blending sounds | ||
Fri, 03/31 | Lab 9: Blending sounds | |||
12 | Mon, 04/03 | Ch. 9 | Blending revisited; variable number of arguments | download code | Assignment 5 |
Wed, 04/05 | Using libraries; exam review | download code | |||
Fri, 04/07 | Exam 2 | |||
13 | Mon, 04/10 | Ch. 3 | Introduction to string manipulation download code | |
Wed, 04/12 | Ch. 3 | String manipualtion (cont.) | ||
Fri, 04/14 | Ch. 3 | Accumulators, accessing characters by index, encrypting/decrypting text download code | ||
14 | Mon, 04/17 | Ch. 11 | String methods, dot notation, lists | Assignment 6 |
Wed, 04/19 | Ch. 11 | Reading and writing text filesi (cont.); the Python standard library | ||
Fri, 04/21 | String methods, dot notation, lists (cont.) | |||
15 | Mon, 04/24 | Ch. 11 | Reading and writing text files (cont.) | |
Wed, 04/26 | Lab 10: String manipulation; reading and writing files | download data sets | |||
Fri, 04/28 | Ch. 12 | Moving information between media / Steganography: hiding secrets in plain sight | Assignment 7 | |
16 | Mon, 05/01 | Final Exam: 10 - 11:50 am |