Schedule

This is a living schedule and subject to change

Date Topic Reading Notes Assignment
02/10 Intro to CS and the course Ch 1.1    
02/12 Problem solving and bots Ch 1.2   HW 1 due 2014-02-19
02/14 Lab Lightbot     Lab 1
02/17 Intro to Python Ch 2.1-2.2    
02/19 Strings and lists Ch 2.3-2.4 CLI history, First program HW 2 due 2014-02-26
02/21 Winter Carnival      
02/24 Functions Ch 2.4-2.5 in class examples  
02/26 Conditionals Ch 2.6 in class examples exercise 1, HW 3 due 2014-03-05
02/28 Lab Writing functions     Lab 2
03/03 Recursion Ch 2.7-2.9 in class examples  
03/05 Recursion and Graphics   in class examples exercise 2, HW 4 due 2014-03-14
03/07 Lab Recursion and Graphics     Lab 3
03/10 More recursion Ch 2.9-2.12 in class examples exercise 3
03/12 Midterm review     Midterm I [7p-9p]
03/14 Lab More Fractals     Lab 4
03/17 Data representation Ch 4.1-4.2    
03/19 Digital logic Ch 4.3   exercise 4, HW 5 due 2014-04-03
03/21 Lab Digital logic & Logisim     Lab 5
03/24 Spring break      
03/26 Spring break      
03/28 Spring Break      
03/10 Architecture Ch 4.3-4.4    
04/02 Architecture Ch 4.4-4.5   exercise 5, HW 6 due 2014-04-09
04/04 Lab Assembly / Hmmm Ch 4.5   Lab 6
04/07 Loops Ch 5.1.5.3 in class examples  
04/09 More Loops   in class examples exercise 6
04/11 Spring Symposiums      
04/14 Mutable and Immutable, tuples Ch 5.4-5.5    
04/16 Midterm review     Midterm II [7p-9p]
04/18 Lab File IO     Lab 7, HW 7 due 2014-23-09
04/21 Dictionaries, nested for loops and CSV Ch 5.5.5-5.5.6 in class examples, data for example  
04/23 Image processing      
04/25 Lab Images      
04/28 Objects Ch 6    
05/02 More Objects      
05/05 Lab TBA      
05/07 Complexity Ch 7    
05/09 Security and Privacy      
05/16 Final Exam [9a-12p]      

Resources

Python Quick Reference
This is a reference for looking up the Python topics we have discussed in class
Codingbat
This is a good place to work on your Python chops.
Installing Spyder
A quick guide on installing Python and turning off scientific mode
Spyder
This is the environment we will be using for programming in Python. There is no need to install Python separately, just follow the instructions at this site for installing Spyder.
Think Python
This is a free introductory text on Python that is pretty good.
Dive into Python
Another good introductory Python text. This one spends more time on the various libraries in Python.