Midterm Exam

The midterm exam will be a 75-minute paper-and-pencil exam, with no computers or devices allowed. The exam will cover all material up through and including Tuesday March 21. You are encouraged to prepare a single sheet of study notes (double-sided, 8.5"x11") that you may use during the exam. If you qualify for extra time, make arrangements with me ahead of time. You are encouraged to work through the Sample Midterm Questions and consult the provided sample solutions. Professor Briggs will have office hours this week Monday 3/20 11am-2pm, Tuesday 3/21 12:30-2pm, and Wednesday 3/22 12:30-2pm.

Schedule

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

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

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.
pyProcessing Reference
Various resources for using pyProcessing