Schedule

This schedule will be updated regularly. TP - Think Python, C4A - CS for All

Date Topic Reading Notes Assignment
T 2/16 Intro to CS, Python, Spyder TP 1-2 Slides / Transcript HW1 due 2/24 (Soln)
R 2/18 Strings C4A 2.1-2.3 Transcript  
F 2/19 Lab Python, strings (HW1)      
T 2/23 Functions C4A 2.5 Notes / Code HW2 due 3/2 (Soln)
R 2/25 Writing Functions TP 3.6-3.13, 6.1 Slides / Code  
F 2/26 No Lab Winter Carnival      
T 3/1 Conditionals TP 5, C4A 2.6 Slides / Code HW3 due 3/9 (Soln)
R 3/3 Recursion TP 6, C4A 2.7 Slides / Code  
F 3/4 Lab Turtles (HW3)      
T 3/8 Recursion with pending operations C4A 2.7-2.9 Code HW4 due 3/16 (Soln)
R 3/10 More recursion examples   Slides / Code / app  
F 3/11 Lab Trees and Sierpinski (HW4)      
T 3/15 Binary arithmetic C4A 4.1-4.2 Slides HW5 due 3/23 (Soln)
R 3/17 Representing numbers C4A 4.2 Slides / Code  
F 3/18 Lab Binary and recursion (HW5)      
T 3/22 Review     Study questions
R 3/24 Midterm      
F 3/25 No Lab      
3/28-4/1 Spring break      
T 4/5 Logic and Circuits C4A 4.3 Slides HW6 due 4/13 (Soln)
R 4/7 Architecture C4A 4.4 Slides  
F 4/8 Lab Circuits (Logisim, HW6)      
T 4/12 Assembly C4A 4.5 Code HW7 due 4/20 (Soln)
R 4/14 Iteration TP 7, C4A 5.3 Slides / Code  
F 4/15 No Lab Spring Symposium      
T 4/19 Images   Slides / Code HW8 due 4/27 (Soln: PDF, py)
R 4/21 Iteration and lists TP 10 Code  
F 4/22 Lab Images (HW8)      
T 4/26 Dictionaries TP 11 Code HW9 due 5/4
R 4/28 Data structures TP 12 Code  
F 4/29 Lab Using dictionaries (HW9)      
T 5/3 Objects TP 15-16 Slides / Code HW10 due 5/16
R 5/5 More objects TP 17 Slides / Code  
F 5/6 Lab Begin HW10      
T 5/10 Complexity C4A 7.2.1 Slides / Code  
R 5/12 More Complexity C4A 7.2.1 Slides / Code  
F 5/13 Lab Continue HW10     Study questions
M 5/16 Lab Review      

Resources

Installing Spyder
A quick guide on installing Python with the course libraries installed.
Python Quick Reference
A brief reference for Python topics we discuss in class.
Python Documentation
Official Python 3.5 Documentation.
Codingbat
Exercises for extra Python programming practice.
Code combat
Another place to work on basic coding skills.
Python Challenge
Give your Python skills a challenge!
Dive into Python
If you want to go farther into Python, this is a reasonable book to start with.
Logisim
The logic simulator we use in this course.
HMMM Assembler
The files required to run the HMMM assembler and simulator. Direction can be found in the included README file. This is not required if you are using the Mac Spyder installation.