CS5: Introduction to Computer Science at Harvey Mudd College
CS5Fall2013 Web > WebHome
   will be due on: Fri., Dec. 13, 5:00pm
Next Lab: Open lab: FSMs or projects    will be held on: Tue., Dec. 10 or Wed., Dec. 11
--> Submissions: CS submission site

CS 5 Gold and Black

Administration Course Syllabus Switching sections Work/Pairs Policy Submission Info
Using Python On your machine In your browser CS 5 Green CS5 Piazza
Useful Submission site Instructors Grutors and hours CS 5 textbook
Resources Picobot Hmmm docs Python for Mac 10.6.x
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

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
Week 12 Open lab Homework 12 Homework 12
Final Weeks Labs Final ProjectFinal Project

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

Previous CS5 offerings
for grutors
SummerLinks