IMPORTANT NOTE: The following schedule represents my current best guess concerning due dates (and everything else). I am providing this information to give you a general idea of the pace and timing of the class. THIS SCHEDULE WILL CERTAINLY CHANGE AS THE QUARTER PROGRESSES. As the term progresses, I will be posting notes and other readings for you. Please don't depend on this information in purchasing airline tickets or making other irrevocable scheduling decisions without consulting me first.

Jump directly to Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7 | Week 8 | Week 9 | Week 10

Introductions, Algorithms, Encodings
W1 Due BEFORE class:
Problem Set 1

Computer as Universal Machine
Programming in Python and JES

Mini-Lab: Getting Started with JES Finish up the mini-lab.
LAB1 Lab Preparation:
Make sure you have JES, Aptana, and FileZilla installed on your laptop (if you are going to do so), or that you can log in to Lab machines.

Basic HTML

LAB: Creating Your Course Web Page
Additional reference for HTML:
w3schools:HTML tutorial
F1 Due BEFORE class:
Getting Started with JES Mini-lab (From W1)


Mini-Lab: Exploring Functions Finish up the mini-lab.
M2 Due BEFORE class:
Exploring Functions Mini-Lab (from F1)

Introduction to Pictures

Mini-Lab: Drawing Pictures
Finish up the mini-lab.
Work on Exercises 1-9 in the Intro to Pictures reading.
W2 Due BEFORE class:
Exercises 1-9 in Intro to Pictures
Drawing Pictures Mini-Lab (from M2)
Lab 1 (From Th1)

Pictures and Loops

Mini-Lab: Manipulating Pixels in a Picture Finish up the mini-lab.
Work on Lab Preparation. (see LAB 2)
LAB2 Due BEFORE class
Manipulating Pixels Mini-Lab (From W2)

Lab Preparation:
Finish Manipulating Pixels Mini-Lab
Analysis Qs from Manipulating Pixels
Type in the negative, grayscale, and weightedGrayscale functions from the reading.

Make sure you have finished reading Pictures and Loops

Simple Picture Manipulation Finish up the lab.
F2 Due BEFORE class
Lab 2

More with Picture and Loops

Mini-Lab: More Practice with For Loops
M3 UTK Binary Number Modules (Go through sections 1 and 2, about 12 slides)
Read the introduction (first 4 paragraphs) to the Wikipedia entry on ASCII, then follow the UTF-8 link at the end of the introduction and read the introduction to the UTF-8 page.
Additional Resources:
How Stuff Works How Bits and Bytes Work (pp. 1-3)
Representating Numbers and Text
ASCII to Binary Mini-Lab
Continue with Mini-lab from Friday (if time permits)
Begin to work on Programming Project 1
W3 Due BEFORE class
More Practice With For Loops Mini-Lab (From F2) ASCII Mini-Lab (if not handed in on M3)

Reflections and Rotations

Mini-Lab: Reflecting Pictures  
Problem Set

Read the Lab

CopyInto and Scaling Finish Lab
F3 Due BEFORE class
Reflecting Pictures mini-lab (From W3)
CopyInto and Scaling Lab

Cropping Pictures

Mini-Lab: Using copyInto and cropPicture  
M4 Due BEFORE class
Problem Set
CopyInto and CropPicture Mini-Lab (From F3)

Conditional Statements

Mini-Lab: Selectively Changing Colors
W4 Due BEFORE class
Programming Project #1 (Making 3D Image)

Don't wear green!

Meet at the library foyer. Don't wear green!
LAB4 Due BEFORE class
Selectively Changing Colors Mini-Lab

Read the Lab

Combining Pictures Finish up the Lab
F4 Due BEFORE class
Combining Pictures Lab
Problem Set (if/for)

Blurring and Scaling

Mini-Lab: Blurring and Scaling Begin to work on the Practice Midterm (download from Moodle)
M5 Readings:
No new reading; just finish up any readings that you have left.
Finish Mini-Lab: Blurring and Scaling if necessary
Work on any other unfinished mini-labs or problem sets or webpages or start on Programming Project #2.
Complete the first exercise from the Debugging Mini-Lab

Begin to work on Programming Project 2

W5 Due BEFORE class
Blurring and Scaling Mini-Lab (From F4/M5)

Bring with you to class
Written version of Practice Midterm

Midterm Review  
LAB5   MIDTERM during lab time
F5 Readings:
CH 6.1 from Guzdial's book
Introduction To Sound
Physics of Musical Instruments (video)
Complete a video presentation reflection using the Video Reflection Template
M6 Due BEFORE class
Video Reflection from Physics of Musical Instruments (F5)

Sound Manipulations (1st 3 pages)

Mini-Lab: Changing Volume Finish up the mini-lab
W6 Due BEFORE class
Programming Project #2
Changing Volume mini-lab (From M6)

Sound Manipulations

Mini-Lab: Changing Frequency Finish up the mini-lab
Changing Frequency mini-lab (From W6)
Splicing Sounds Finish the lab
F6   CS History: Concepts to Implementation
Watch the video The Machine that Changed the World Part I
(available from Moodle) before Monday and complete a video reflection.
Follow-up Reading (after class):
"The Modern History of Computing" From the Stanford Encyclopedia of Philosophy

Complete a video presentation reflection using the Video Reflection Template. Submit this in class (via Moodle) by M7

M7 Due BEFORE class
Video Reflection
Splicing Sounds Lab (From Th6)

Lists in Python

Mini-Lab: Mirroring and Adding Sounds Finish the mini-lab
W7 Due BEFORE class
Mirroring and Adding Sounds mini-lab (from M7)
Mini-Lab: Echoing Sounds and Shifting Frequencies Finish the mini-lab

Begin to work on Programming Project 3

Echoing and Shifting mini-lab (From W7)
Music Composition Finish the lab
F7 Due BEFORE class
Music Composition Lab (From Th 7)
Mini-Lab: Crop Finish the mini-lab
M8 Due BEFORE class
Crop mini-lab (From F7)
Mini-Lab: Simple Animations Finish the mini-lab

If you'd like a challenge (not required) check out this lab on recursion: Recursion Mini-Lab
Some recursive examples:

Animations Begin to work on Final Programming Project
F8 Due BEFORE class
Programming Project 3 (see W7)
Animations lab (From Th 8)
Mini-Lab: Chromakey Animation Finish the mini-lab
M9 Due BEFORE class
Chromakey animation mini-lab (From F8)
Boolean Algebra
Mini-Lab: Boolean algebra exercises (complete the exercises on pp. 3-6)

Begin work on final projects, submit storyboards

W9 Due BEFORE class
Final Project Storyboard
Boolean algebra mini-lab (From M9)
Gates (ppt)
Gates (pdf)
(Alternate presentation) Intro to Logic Gates Mini-Lab: Digital Logic

Work on Final Projects
F9 Due BEFORE class
Digital Logic mini-lab (From W9)
Assembly and Machine Language Begin to work on Practice Final exam
M10 Memorial Day - no class

Algorithm Analysis
Halting Problem, P vs. NP (pdf)

LAB10   Final Project Presentations

Review for Final

F10 Due BEFORE class
Final Programming Project
T11 Final Exam 9:00-11:00 AM
Solutions To Practice Final