CS5: Introduction to Computer Science at Harvey Mudd College
CS5Fall2012 Web > WebHome
   will be due on: Mon., Dec. 10 and Fri. Dec. 14, 11:59pm
Next Lab: Lab 12 - project work    will be held on: Tue. Dec. 4 or Wed. Dec. 5
--> Submissions: CS submission site

CS 5 Gold and Black

Administration Course Syllabus Switching sections Work/Pairs Policy Submission Info
Using Python On your own machine In the CS Labs CS 5 Green Piazza
Useful! Submission site Instructors Grutors and hours CS 5 textbook
First week hw0pr1.py hw0pr1.zip Picobot HMMM docs
Midterm Week CS 5 Black Review CS 5 Gold Review Gold Review Solutions  
Final Exam Practice: CS 5 Gold Practice: CS 5 Black Final Projects TM Extra Credit

Homework Assignments and Labs

LabsGOLDBLACK
Week 0 Lab 0Homework 0Homework 0
Week 1 Lab 1Homework 1Homework 1
Week 2 Lab 2Homework 2Homework 2
Week 3 Lab 3Homework 3Homework 3
Week 4 Lab 4Homework 4Homework 4
Week 5 Lab 5 Homework 5Homework 5
Weeks 6/7 Lab 6 Homework 6Homework 6
Week 8 Lab 8 Homework 8Homework 8
Week 9 Lab 9Homework 9Homework 9
Week 10 Lab 10 Homework 10 Homework 10
Week 11 Lab 11 Homework 11 Homework 11

Lecture Slides

(Before class, the previous year's slides might be posted;
shortly after class the current slides will replace them.)

GOLDBLACK
Week 0
9/4/12 Lecture 0: Introduction Lecture 0: Introduction
9/6/12 Lecture 1: Pico-fun! Lecture 1: Introduction to Recursion
Week 1
9/11/12 Lecture 2: Data Lecture 2: Recursion, Part Deux
9/13/12 Lecture 3: Functions Lecture 3: Use-It-Or-Lose-It
Week 2
9/18/12 Lecture 4: Comprehensive Python! Lecture 4: Turtles and Recursion
9/20/12 Lecture 5: Monte Carlo and Turtle Lecture 5: Efficiency of Algorithms
Week 3
9/25/12 Lecture 6: Program Design Lecture 6: NP-completeness, Dictionaries, and Memoization
9/27/12 Lecture 7: Algorithm Design Lecture 7: RNA Folding and Maybe Some Cryptography
Week 4
10/2/12 Lecture 8: Base Conversions Lecture 8: Binary, Two's Complement, and Russian Peasants!
10/4/12 Lecture 9: Images and Circuits! Lecture 9: Logical Thinking
Week 5
10/9/12Lecture 10: Logisim circuits Lecture 10: Arithmetic and Memory
10/11/12 Lecture 11: Memory Lecture 11: A Whole Computer
Week 6
10/16/12 Lecture 12: Intro to HMMM Lecture 12: Hmmm: Function Calls!
10/18/12 Lecture 13: Hmmm... Functions! Lecture 13: Hmmm: Recursion
Week 7
10/23/12Fall break Fall break
10/25/12Lecture 14: Loops! and imperative programming Lecture 14: Introduction to Imperative Programming
Week 8
10/30/12Lecture 15: Designing programs: definite vs. indefinite loops Lecture 15: Mastermind and Nim
11/1/12Lecture 16: User input and loopy applications! Lecture 16: Lagrange polynomials and Huffman Compression!
Week 9
11/6/12Lecture 17: Data, Alive! Lecture 17: Advanced Compression
11/8/12Midterm exam Midterm exam
Week 10
11/13/12 Lecture 18: Intro to Objects Lecture 18: Intro to OOPS
11/15/12 Lecture 19: Dictionaries! Lecture 19: OOPS Part Deux: Inheritance and 2D Graphics
Week 11
11/20/12 Lecture 20: Connect Four AI Lecture 20: AIs and UIs
11/22/12Thanksgiving Break Thanksgiving Break
Week 12
11/27/12 Lecture 21: Final project overviews Lecture 21: Final project overviews
11/29/12Lecture 22: Finite-state machines Lecture 22: Making a Statement
Week 13
12/4/12Lecture 23: Turing machines! Lecture 23: Six Impossible Things Before Breakfast
12/6/12Lecture 24: Impossible-to-debug programs! Lecture 24: Theoretical Power
Final Week
12/11/12Lecture 25: the Halting Problem Lecture 25: Security
12/13/12Lecture 26: Finale Lecture 26: Wrapup

for grutors
SummerLinks