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, Brackets, 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
In lieu of watching a video in class, watch the followng video before Monday and submit a reflection: 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 Due BEFORE class
Splicing Lab

Mini-Lab: Echoing Sounds and Shifting Frequencies
Finish the mini-lab.

Begin to work on Programming Project 3

M7 Due BEFORE class
Echoing Sounds and Shifting Frequencies mini-lab (From F6)

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: Crop Finish the mini-lab
Crop mini-lab (From W7)
Music Composition Finish the lab
F7 Due BEFORE class
Music Composition Lab (From Th 7)
Mini-Lab: Simple Animations Finish the mini-lab
M8 Due BEFORE class
Programming Project #3 (see F6)
Simple Animation mini-lab (From F7)
Mini-Lab: Chromakey Animation Finish the mini-lab

Begin to work on Final Programming Project by coming up with your StoryBoard. See StoryBoard Template for details of what to include.

Finish Animation Mini-Labs, finish up PP #3, or begin work on Final PP

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

Animations Continue to work on Final Programming Project
F8 Due BEFORE class
Animations lab (From Th 8)
In lieu of watching a video in class, you must watch the video, "Machine That Changed the World, Part 1: Giant Brains" before class on W9 and submit a reflection. The movie is available on Moodle and requires Flash in order to play. If you cannot get it to play on your computer, it should play on any of the school computers.
Complete a video reflection using the Video Reflection Template
M9 Memorial Day - no class    
W9 Due BEFORE class
Chromakey animation mini-lab (From W8)
Video Reflection (From F8)
Boolean Algebra
Mini-Lab: Boolean algebra exercises (complete the exercises on pp. 3-6)

Begin work on final projects, submit storyboards

Final Project Storyboards
Work on Final Projects  
F9 Due BEFORE class
Boolean algebra mini-lab (From W9)
Gates (ppt)
Gates (pdf)
(Alternate presentation) Intro to Logic Gates Mini-Lab: Digital Logic

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

Interesting follow up video on making microprocessors: How to Make a Microprocessor

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

LAB10   Review for Final
F10 Due BEFORE class
Final Programming Project
Final Project Presentations
M11 Final Exam 1:30-4:00 PM
Solutions To Practice Final