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



DAY BEFORE CLASS IN-CLASS TOPIC/ACTIVITY
Tues1
Introductions
Course, Who are we?
Syllabus Highlights: Resources, Collaboration & the Honor System, Attendance

Format of the course

Algorithms, Programming

Prepare for Syllabus quiz
Work on Reflection #1
Thurs1
Due BEFORE class:
Reflection 1
Make sure you have completed the Syllabus Quiz

Readings:
Computer as Universal Machine
Programming in Python with Google Colab
In-Class Activity: Getting Started with Google Colab and Python
 
Reflection on In-Class Activity (To be completed when ICA is finished)
Tues2
Due BEFORE class:
Getting Started with Google Colab and Python Activity (From Thurs1)

Readings:
Introduction to Pictures
Functions
In-Class Activity:Download the notebook DrawingShapes.ipynb, open it in Google Colab, and follow the instructions in the notebook.

Here is a short Drawing text video that walks you through how to change the font style and size when drawing on images.
Thurs 2
Due BEFORE class:
Drawing Shapes Activity from Tues 2

Readings:
Pictures and Loops
In-Class Activity: Dowload the notebook Functions and Loops.ipynb and open it in Google Colab. Follow the instructions in the notebook.
Tues 3
Due BEFORE class:
Functions and Loops Activity from Thurs 2

Readings:
Manipulating Colors
In-Class Activity: (for today and Thursday) Download the notebook ManipulatingColors.ipynb and open it in Google Colab. Follow the instructions in the notebook. This is a long activity and it is okay to continue it on Thursday.
Thurs 3
Readings
No new reading
Finish Manipulating Colors activity from Tuesday.

Start on Programming Project #1

The article, 3D Stereoscopic Photography, has some good tips on taking your own photographs to use in making a 3D image.
Tues 4
Due BEFORE class:
Manipulating Colors Activity

Readings
Reflections and Rotations
In-Class Activity: Download the Colab notebook Reflections and Rotations and follow the instructions.

Work on 3D Project (due Tues 5)
Thurs4
Due BEFORE class:
Reflections and Rotations Activity

Readings:
No new readings for today
In-Class Activity: Download the Colab notebook Copy Into and follow the instructions in the notebook.
Tues 5
Readings:
In-Class Activity: Download the Colab notebook Experimenting with Conditional Statements and follow the instructions in the notebook.
Thurs 5

Readings:
(Optional) Conditional Statements and Advanced Image Manipulation
Group Quiz (Functions)

Group Quiz (For loops)

Mid-quarter Reflection

OPTIONAL In-Class Activity: Download the Colab Notebook Color Replacements and follow the instructions.
Tues 6
Due BEFORE class:
Experimenting with Conditionals Activity
Mid-quarter reflection (see Thurs 5)

Readings:
Cropping Pictures

Resizing and Blurring
In-Class Activity: Download the notebook Cropping and Resizing and follow the instructions in the notebook.
Thurs 6
Due BEFORE class:
Cropping and Resizing Activity

Readings:
Group Quiz (If Statements)

In-Class Activity:
Download the Colab Notebook Exploring the Image Module and follow the instructions in the notebook.

Begin to work on the Image Collage Project
Tues 7
Due BEFORE class:
Exploring the Image Module activity

Readings:
Watch the following video and submit a reflection - Physics of Musical Instruments. (Video Reflection Template

What is Sampling? What is the "Sample Rate"?

In-Class Activity:
Download the Colab Notebook Intro to Sound Manipulation and follow the instructions for beginning to work with sounds
Thurs 7
Readings:
Digitizing Sound
Intro to Sounds and Volume
In-Class Activity:
Download the Colab notebook Experimenting with Volume and follow the instructions
Tues 8
Due BEFORE class:
Image Collage project
Experimenting with Volume Activity

Readings:
Read about Python arrays
Creating Arrays
Indexing Arrays

Sound Manipulations
Download the Colab notebook Sound Manipulations and follow the instructions
Thurs 8 Cropping and Splicing
Download the Colab notebook Splicing and Cropping Sounds and follow the instructions.
Tues 9
Due BEFORE class:
Splicing and Cropping Activity

Readings:
No new reading
Work on finishing activities

Thurs 9 Continue with Audio Collage or begin Experimenting with Animations. You may use Video Practice notebook as a starting point if you wish. The animation exploration is optional, if you have time and wish to explore. There will be a place to submit something on Kit if you do something cool and want to share it.
Tues 10
(OPTIONAL) In-Class Activity: More with Animations (You may find the More Animations Colab notebook on Kit under the Files tab. There are functions provided for you to experiment and/or edit as you wish.)

Work on Audio Collage Project and/or finishing activities
Thurs 10
Wrap Up
Evaluations
Work on Final Reflection (due Monday June 5, Midnight)
M2 Due BEFORE class:
Exploring Functions Mini-Lab (from F1)

Readings:
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)

Readings:
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.

Readings:
Make sure you have finished reading Pictures and Loops Simple Picture Manipulation Finish up the lab. F2 Due BEFORE class
Lab 2

Readings:
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 Table
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)

Readings:
Reflections and Rotations Mini-Lab: Reflecting Pictures   LAB3 Due BEFORE Lab
Problem Set

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

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

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

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

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

Readings:
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. Work on the Mini-Lab: CopyInto and Crop from Friday of Week 3.
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
CLASS NOT REQUIRED, but come work on PP #2 or finish up any late mini-labs if you need some help.
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)

Readings:
Volume
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)

Readings:
Sound Manipulations Mini-Lab: Changing Frequency Finish up the mini-lab LAB6 Due BEFORE lab
Changing Frequency mini-lab (From W6) Splicing Sounds Finish the lab F6 NO CLASS Watch the video The Machine that Changed the World Part I: Giant Brains.
This movie is available through a link on Kit. Look under Student Files for a document titled "LinksToCSHistoryVideos.html". You will notice on this webpage that there are links to additional videos. In this class, we will only be watching the first one, but feel free to watch any of the others that sre interesting to you. Complete a video reflection using the Video Reflection Template (also available from the webpage with the video link). M7 Due BEFORE class
Video Reflection
Splicing Sounds Lab (From Th6)

Readings
Lists in Python Mini-Lab: Mirroring and Adding Sounds Finish the mini-lab

Begin to work on Programming Project 3 W7 Due BEFORE class
Mirroring and Adding Sounds mini-lab (from M7) Mini-Lab:
Crop Finish the mini-lab LAB7 Due BEFORE lab
Crop mini-lab (From W7) Music Composition Finish the lab F7 Due BEFORE class
Music Composition Lab (From Th 7) Mini-Lab: Echoing Sounds and Shifting Frequencies Finish the mini-lab M8 Due BEFORE class
Echoing Sounds and Shifting frequencies mini-lab
Simple Animations 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. W8 Due BEFORE class
Programming Project #3
Simple Animation Mini-lab Mini-Lab: Chromakey Animation
LAB8 Due BEFORE lab
Chromakey Animation Mini-lab Animations Continue to work on Final Programming Project F8 Due BEFORE class
Animations lab (From Th 8)
Final Project Storyboards TBD If you'd like a challenge (not required) check out this lab on recursion: Recursion Mini-Lab
Some recursive examples: recursion_class.py
lightning.py M9 Memorial Day - no class     W9 Due BEFORE class
Boolean Algebra
Mini-Lab: Boolean algebra exercises (complete the exercises on pp. 3-6)
LAB9 Due BEFORE lab
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 W10
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 6:30 - 9:00 PM
Solutions To Practice Final