Introduction to Computer Science Programming in Python
(Spring 2024)

You are not logged in.

If you are a current student, please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.

Let us know of any ongoing feedback anonymously Login to view: via this form!

Announcements

Lecture Material


In-person Lectures
Mon and Wed at 3 pm – 4:30 pm in 26-100
(No lecture recordings will be available!)
Slides and Code
in Calendar below

Office Hours


In-person in 38-370
(get a spot via the Help Queue)

No OH during lecture hours (3–5 pm)
Tue: 11 am – 9 pm
Wed: 11 am – 9 pm
Thu: 9 am – 9 pm
Fri: 9 am – 5 pm

This Week's Pset


Finished with 6.100A Psets!

Recitation Schedule


In-person on Fridays (and optional)
10 am in 5-134
11 am in 5-134
1 pm in 5-134
2 pm in 5-134
Recitation Feedback Form

Calendar and Materials 6.100A - Spring 2024

View 6.100B Calendar
Monday
Tuesday
Wednesday
Thursday
Friday
2/5: Lecture 1 zip
Admin and overview, Intro to programming languages and Python, Objects, Primitive types, String operations, Variable assignment, Branching, Indentation
Readings: Ch 1, Ch 2.1-2.4
Lec1 Finger Ex. out PS 0 out PS 1 out
2/6
2/7: Lecture 2 zip
Iteration (While loops, For loops with range), Guess-and-check algorithms, Floating point, Approximate solutions, Bisection methods
Readings: Ch 2.5-2.7, 3
Lec2 Finger Ex. out Lec1 Finger Ex. due
2/8
Microquiz 0 (testing microquiz mechanics, not for points, take it on your own between 4:30pm and 9:30pm)
2/9: Recitation 1 notes PS 0 due at 9PM (No checkoff for PS 0)
2/12: Lecture 3 zip
Decomposition and abstraction, Functions, Scope
Readings: Ch 4.1-4.3
Microquiz 1 (30 minutes at the end of class)
Lec3 Finger Ex. out Lec2 Finger Ex. due PS 2 out
2/13 Last Day We Accept Adds
2/14: Lecture 4 zip
Tuples, Lists, Mutability, Aliasing, For loops over sequences
Readings: Ch 5.1-5.5
Lec4 Finger Ex. out Lec3 Finger Ex. due
2/16: Recitation 2 notes PS 1 Checkoffs start
2/19: Holiday No Class or OH
2/20: Lecture 5 zip
Exceptions and assertions
Readings: Ch 9
Microquiz 2 (30 minutes at the end of class)
Lec5 Finger Ex. out Lec4 Finger Ex. due PS 3 out No OH
2/21: Lecture 6 zip
Testing and debugging, Dictionaries
Readings: Ch 8, 5.7-5.8
Lec6 Finger Ex. out Lec5 Finger Ex. due
2/23: Recitation 3 notes PS 2 Checkoffs start PS 1 Checkoff due at 4PM
2/26: Lecture 7 zip
Functions as objects, Recursion
Readings: Ch 4.4, 6
Lec7 Finger Ex. out Lec6 Finger Ex. due PS 4 out
2/27
2/28: Lecture 8 zip
Data abstraction, Classes, Attributes and methods
Readings: Ch 10.1, 4.5
Microquiz 3 (30 minutes at the end of class)
Lec8 Finger Ex. out Lec7 Finger Ex. due
3/1: Recitation 4 notes PS 3 Checkoffs start PS 2 Checkoff due at 4PM
3/4: Lecture 9 zip
Inheritance, Subtyping, Substitution rule, Extended example using classes, Class attributes
Readings: Ch 10.2-10.4
PS 5 out No L9 Finger Ex.
3/5
3/6: Lecture 10 zip
Program timing, Counting ops, Big O/Theta
Readings: Ch 11.1-11.2
Microquiz 4 (30 minutes at the end of class)
Lec8 Finger Ex. due No L10 Finger Ex.
3/8: Recitation 5 notes PS 4 Checkoffs start PS 3 Checkoff due at 4PM Drop Deadline
3/11: Lecture 11 zip
Complexity classes, Binary search, Selection sort
Readings: Ch 11.3, 12.1
No L11 Finger Ex.
3/12
3/13: Lecture 12 zip
Merge sort, Amortized analysis, Implementing lists using indirection, Hashing
Readings: Ch 12.2-12.3
No L12 Finger Ex.
3/14 PS 5 due at 9PM (No checkoff for PS 5)
3/15: Recitation 6 notes PS 4 Checkoff due at 4PM
3/18: Lecture 13 zip
Plotting, Wrap-up
Readings: Ch 13
Review Session Slides Review Session: 7:30pm in 32-123 No L13 Finger Ex.
3/20: Lecture 14 zip
Final Exam in-class
Readings: none
FINAL EXAM LINK (80 minutes, 3-4:30pm in 26-100)
No L14 Finger Ex.
3/21
3/22
3/25
3/26
3/27
3/28
3/29