CS5: Introduction to Computer Science at Harvey Mudd College
CS5Fall2016 Web > WebHome
   will be due on: Mon., Jan 23, 11:59pm
Next Lab: Lab 0: Python!    will be held on: Tue./Wed. evening, Jan. 17-18
--> Submissions: CS submission site

CS 5: Welcome!

Administration Course Syllabus Exams Pairs Policy Submission Info
Using Python On your machine In your browser CS5's text httlacs text
Useful/Help Submission site CS5 Piazza Grutoring! Picobot



Homework Assignments and Labs

Labs1:15-2:30 2:45-4:00
Week 0 Lab 0 Homework 0 Homework 0
Week 1 Lab 1Homework 1 Homework 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 + ExCr labs Homework 12 Homework 12
Final Weeks Labs Final ProjectFinal Project

Lecture Slides

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

  1:!5-2:30 2:45-4:00
Week 0
1/17/17 Lecture 0: Introduction Lecture 0: Introduction
1/19/17 Lecture 1: Pico-fun! Lecture 1: Pico-fun!
Week 1
9/6/16 Lecture 2: Data Lecture 2: Recursion
9/8/16 Lecture 3: Functions Lecture 3: Use-It-Or-Lose-It
Week 2
9/13/16 Lecture 4: Monte Carlo and Turtle Lecture 4: Turtles and Recursion
9/15/16 Lecture 5: Comprehensive Python! Lecture 5: Efficiency of Algorithms
Week 3
9/20/16 Lecture 6: Data-based Design Lecture 6: NP-completeness, Dictionaries, and Memoization
9/22/16 Lecture 7: Algorithm Design UIOLI! Lecture 7: RNA Folding and Maybe Some Cryptography
Week 4
9/27/16 Lecture 8: Base Conversions Lecture 8: Binary, Two's Complement, and Russian Peasants!
9/29/16 Lecture 9: Bits, Images, and Compression Lecture 9: Symbols, Data, and Logic
Week 5
10/4/16Lecture 10: Logisim circuits Lecture 10: Logisim circuits
10/6/16 Lecture 11: Memory Lecture 11: From Memory to a Whole Computer
Week 6
10/11/16 Lecture 12: Intro to Hmmm Lecture 12: Hmmm: Function Calls!
10/13/16 Lecture 13: Hmmm... Functions! Lecture 13: Hmmm: Recursion
Week 7
10/17/16Fall break Fall break
10/19/16Lecture 14: Loops! and imperative programming Lecture 14: Introduction to Imperative Programming
Week 8
10/24/16Lecture 15: Designing with loops: definitely and indefinitely Lecture 15: Mastermind and Nim
10/26/16Lecture 16: User input and loopy applications... Lecture 16: Lagrange polynomials and Huffman Compression!
Week 9
11/1/16Lecture 17: Data, Alive! Midterm exam
11/3/16Midterm exam No class: work on Huffman!
Week 10
11/8/16 Lecture 18: Intro to Objects Lecture 18: Intro to OOPS
11/10/16 Lecture 19: Dictionaries! Lecture 19: OOPS Part Deux: Inheritance and 2D Graphics
Week 11
11/15/16 Lecture 20: Libraries, APIs, and VPython Lecture 20: AIs and UIs
11/17/16 Lecture 21: Connect Four AI Lecture 21: Security
Week 12
11/22/16 Lecture 22: Final project overviews Lecture 22: Final project overviews
11/24/16Thanksgiving Break Thanksgiving Break
Week 13
11/29/16Lecture 23: Finite-state machines Lecture 23: Finite-state machines
12/1/16Lecture 24: Turing machines! Lecture 24: Turing machines!
Final Week
12/6/16Lecture 25: Two uncomputables! Lecture 25: Two uncomputables!
12/8/16Lecture 26: Finale Lecture 26: Wrapup

Acknowledgments and thanks...

... to the many groups supporting the development and evolution of the course to date:

HMC_BGW_RGB_150dpi.png    600px-NSF_Logo.jpg    google.jpg    Intel.png    starbucks-logo.gif


WebChallengesForCS5   SummerLinks   SIRobotLab   CircuitLab2014   Previous CS5 offerings