## Syllabus and Lecture Slides-Spring 2004

Schedule subject to change!

REMOVED back here often!.

Lecture slides will be updated and uploaded here. There may be multiple versions of a lecture! The unlabelled ones are the "basic ones"–your instructor may modify these. Grab the breakout/lecture slides labelled "Blair", "Colin", "Monica", or "Mark" for whoever leads your breakout/lecture. (Numbers after the slides indicate the NUMBER of slides in that lecture, to help the instructors get a sense of the pace needed for that lecture.)

### Week 1: January 5

• Monday: Welcome to Introduction to Media Computation!.
• Reading: Chapter 1
• Start Lab 1

• Breakout: Introduction to JES.
• Reading: Chapter 2

• Friday: Introduction to Programming.

### Week 2: January 12

• Monday: How pictures are encoded and manipulated.
• Reading: Chapter 3, pages 40-54

• Breakout: Manipulating pictures from Python.

• Friday: Using loops to manipulate pictures
• Reading: Chapter 3, pages 54-63
• Lab 2 due.
• Start Lab 3

### Week 3: January 19

• Monday: MLK Jr. Day–NO CLASS!

• Breakout: Exploring Greyscale. Help with HW1.

• Friday: Replacing colors
• Reading: Chapter 3, pages 98-100
• Lab 3 is due.
• Start Homework 1
• Start Pre-quiz #1

### Week 4: January 26

• Monday: Understanding functions
• Pre-quiz 1 is due. Quiz 1 is today. Bring a calculator
• Reading: Chapter 3, pages 63-68

• Breakout: Manipulating particular pixels in loops
• Reading: Chapter 3, page 72-73
 PixelsByIndexNumber.ppt 18 Colin 4-PixelsByIndexNumber.ppt Monica-driver.py

• Friday: Removing red eye, and mirroring an image

### Week 5: February 2

• Monday: Copying pictures, cropping, and scaling.
• Reading: Chapter 3, 79-98

• Breakout: More image manipulation examples
• How rotating works
• How mirroring works
• Blurring to improve scaling
• Review for Midterm
 HowImageManipulationWorks.ppt 16 blair-HowImageManipulationWorks.ppt 18 monica-Use Blair's

• Friday:
• Finished scaling

### Week 6: February 9

• Monday: MIDTERM EXAM #1

• Breakout: Acoustics and Psychoacoustics
• Reading: Chapter 5, 136-153
 SoundEncoding.ppt 17 Colin-6-wed-SoundEncoding.ppt

• Thursday (shifted to allow time for Midterm studying, and getting help in Breakouts)

• Friday: Loops and Volume Manipulations
• (FRIDAY FEB. 13 IS DROP DAY!)
• Reading: Chapter 5, 153-163
 soundvolume.ppt 20 Colin-6-fri-soundvolume.ppt

### Week 7: February 16

• Monday: Using ranges with loops, splicing.

• Breakout: Finishing splicing.
• Help with Homework 3

• Friday: Start design and debugging. How do you start a program? How do you finish it?

### Week 8: February 23

• Monday: Text as a medium. Building and manipulating strings. Searching for parts of strings (e.g., sequences of nucleotides).
• Homework 3 due by 5 pm
• Reading: Chapter 8, 212-221

• Breakout: Drawing directly on images, bitmap vs. vector formats. Programs for graphics or sound specification. Using dot notation. Building random sentences.
• Reading: Chapter 4, 128-134

• Friday: Files–The home of all media. What they are, how to read and write them. Writing programs to manipulate programs.

### Week 9: March 1

• Monday: Finishing files

• Breakout: What is HTML
• Reading: Chapter 9, REMOVED 244-248

• Friday: Files in trees – manipulating bunches of files at once. How to make file names.
• Reading: REMOVED 229
• Pre-quiz 2 is due. Quiz 2 is today!

### Week 10: March 15

• Monday: Networks: How the Web and FTP work. Grabbing files from the Internet and searching for content using string manipulation.
 network.ppt 30

• Breakout: Finishing up intro to HTML
 html2-v2.ppt 26

• Friday: Movies are easy: How movies are encoded.
• Reading: Chapter 10

### Week 11: March 22

• Breakout: Databases: Why use databases, what is SQL. What do databases have to do with the Web?
• Review for Midterm #2

### Week 12: March 29

• Monday: "Can't we do this any FASTER?": How a computer works, or why Photoshop is always faster.
• Section 11.1.1 (p. 282)
• Finish Lab 5 on Excel (It's DUE on this day.)
 speed.ppt 31 Colin Potts: cp-speed.ppt 34

• Breakout: Mediashifting: It's all about representations. Sound to text to graphics.
• Reading: Chapter 8, 236-243

• Friday: "Can't we do this any FASTER?": Algorithmic complexity.
(This lecture continues onto Monday)

### Week 13: April 5

• Monday: "What CAN'T we program?" The limits of computation.
• Reading: Section 11.1 (especially p. 287-293)
• Finishing lecture from Friday

• Breakout: "Can't we do this any EASIER?" Decomposition into functions. What makes a good function?
• Reading: Section 11.2 (p. 293)

• Friday: "Do we have to write so many lines?" Functional programming. Programming in only one line.
• Reading: Section 11.3 (p. 297)
• Start Homework 6
• Pre-Quiz #3 is distributed

### Week 14: April 12

• Monday: "Can't we do this any easier?" Introductions to objects.
• Pre-Quiz #3 is due. Quiz 3 is today
• Reading: Sec. 11.4
• Homework 5 is due
(Continue slide through Friday)

• Breakout: Recursion
• Reading: Section 11.3.1 (p. 301)

• Friday: Media programming with objects.
• Reading: Section 11.4.2
(Continued from Monday)

### Week 15: April 19

• Monday: "What does programming look like in other languages?" A taste of JavaScript.
(Continue on Friday)

• Breakout: "What does programming look like in other languages?" A taste of Squeak
• Review for Final (Do review first)
(Pick and choose from the slides, as time permits.)
Also: Squeakers DVD (Chapter 10)

• Friday: Finishing JavaScript
(Continued from Monday)

### Finals Week April 26-30

• 12 Noon Lecture (Blair's): Tuesday 4/27 8-10:50
• 2 pm Lecture (Colin's): Tuesday 4/27 11:30-2:20