(full semester) Introduction to CS and Programming using Python
(Spring 2025)

You are not logged in.

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.

Announcements

Class Structure


1) Watch Videos before Class
  • noted in Calendar below
  • bring any questions to class
2) In-person Class (no zoom/recording will be available) Mon, Wed 3pm-4:30pm in 34-101
  • a deeper dive into concepts
  • and more in-class coding

Office Hours


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

Start Feb 6 (closed MW 3-5pm)
Mon-Thu: 11am-9pm
Fri: 11am-5pm

AI Tutor for independent learning

Blended Learning


This is our blended learning version, with a quick Login to view: set of slides on why!

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

This Week's Pset


Problem Set 1
Due: Feb 18 at 09:00PM

Calendar and Materials 6.100L - Spring 2025

Monday
Tuesday
Wednesday
Thursday
Friday
2/3: Lecture 1 zip
Link: in-class content
Topics: Introduction to Python: knowledge, machines, objects, types, variables, bindings, IDEs
Readings: Ch 1, Ch 2.1-2.2
Lec1 Finger Ex. out PS 0 out PS 1 out
2/4
2/5: Lecture 2
Link: in-class content
Topics: Core elements of programs: strings, input/output, f-strings, operators, branching, indentation
Readings: Ch 2.3-2.4
Lec2 Finger Ex. out Lec1 Finger Ex. due
2/6
Microquiz 0 (testing microquiz mechanics, not for points, take it on your own between 4:30pm and 9:30pm)
2/7 PS 0 due at 9PM (No checkoff for PS 0) No Recitations in 6.100L
2/10: Lecture 3
Link: in-class content
Topics: Program Flow: control flow, loops
Readings: Ch 2.5-2.8
Microquiz 1 (30 minutes in-class on your computer)
Lec3 Finger Ex. out Lec2 Finger Ex. due
2/12: Lecture 4
Link: in-class content
Topics: Iteration, simple programs: guess and check, binary, fractions
Readings: Ch 3.1, 3.3
Lec4 Finger Ex. out Lec3 Finger Ex. due
2/13
2/14 Last Day We Accept Adds
2/17: Holiday No OH
2/18: Lecture 5
Link: in-class content
Topics: Simple Algorithms: approximation method, floats
Readings: Ch 3.3, 3.2
Microquiz 2 (30 minutes in-class on your computer)
Lec5 Finger Ex. out Lec4 Finger Ex. due PS 2 out PS 1 due at 9PM
2/19: Lecture 6
Link: in-class content
Topics: Simple Algorithms: bisection search, Newton-Raphson
Readings: Ch 3.4, 3.5
Lec6 Finger Ex. out Lec5 Finger Ex. due PS 1 Checkoffs start
2/20
2/21
2/24: Lecture 7
Link: in-class content
Topics: Functions: decomposition, abstraction, specifications
Readings: Ch 4.1-4.2
Microquiz 3 (30 minutes in-class on your computer)
Lec7 Finger Ex. out Lec6 Finger Ex. due
2/26: Lecture 8
Link: in-class content
Topics: Functions: environments, scope, functions as objects
Readings: Ch 4.3-4.6
Lec8 Finger Ex. out Lec7 Finger Ex. due
2/27 PS 1 Checkoff due at 8PM
2/28
3/3: Lecture 9
Link: in-class content
Topics: Tuples and lists
Readings: Ch 5.1-5.3
Microquiz 4 (30 minutes in-class on your computer)
Lec9 Finger Ex. out Lec8 Finger Ex. due
3/5: Lecture 10
Link: in-class content
Topics: List operations, mutability: mutation, aliasing, tricky examples with loops over L
Readings: Ch 5.3-5.5
Lec10 Finger Ex. out Lec9 Finger Ex. due PS 2 Checkoffs start
3/6
3/7
3/10: Lecture 11
Link: in-class content
Topics: Alising and cloning
Readings: Ch 5.3-5.5
Microquiz 5 (30 minutes in-class on your computer)
Lec11 Finger Ex. out Lec10 Finger Ex. due
3/12: Lecture 12
Link: in-class content
Topics: List comprehensions, more functions as objects, default arguments, Debugging: glass box/black box testing, examples
Readings: Ch 4.4, Ch 8
Lec12 Finger Ex. out Lec11 Finger Ex. due
3/13 PS 2 Checkoff due at 8PM
3/14
3/17: Lecture 13
Link: in-class content
Topics: Exceptions, assertions
Readings: Ch 9
Microquiz 6 (30 minutes in-class on your computer)
Lec13 Finger Ex. out Lec12 Finger Ex. due
3/19: Lecture 14
Link: in-class content
Topics: Dictionaries: keys, values, mutability, iteration over a dict, examples
Readings: Ch 5.7
Lec14 Finger Ex. out Lec13 Finger Ex. due PS 3 Checkoffs start
3/20
3/21
3/24: Spring Break No Class or OH
3/25: Spring Break No Class or OH
3/26: Spring Break No Class or OH
3/27: Spring Break No Class or OH
3/28: Spring Break No Class or OH
3/31: Lecture 15
Link: in-class content
Topics: Recursion: iteration vs recursion, inductive reasoning
Readings: Ch 6.1
Microquiz 7 (30 minutes in-class on your computer)
Lec15 Finger Ex. out Lec14 Finger Ex. due
4/2: Lecture 16
Link: in-class content
Topics: Recursion: fibonacci, fibonacci with a dict, recursion on non-numerics, recursion on lists, Towers of Hanoi (extra)
Readings: Ch 6.2-6.4
Lec16 Finger Ex. out Lec15 Finger Ex. due
4/3 PS 3 Checkoff due at 8PM
4/4
4/7: Lecture 17
Link: in-class content
Topics: Object Oriented Programming: data abstraction, class def, class instances, methods
Readings: Ch 10.1
Microquiz 8 (30 minutes in-class on your computer)
Lec17 Finger Ex. out Lec16 Finger Ex. due
4/9: Lecture 18
Link: in-class content
Topics: Object Oriented Programming: dunder methods, examples
Readings: Ch 10.1
Lec18 Finger Ex. out Lec17 Finger Ex. due PS 4 Checkoffs start
4/10
4/11
4/14: Lecture 19
Link: in-class content
Topics: Inheritance: hierarchies, subclasses, using inherited methods, examples
Readings: Ch 10.2
Lec19 Finger Ex. out Lec18 Finger Ex. due
4/16: Lecture 20
Link: in-class content
Topics: Inheritance: more examples
Readings: Ch 10.4
Lec20 Finger Ex. out Lec19 Finger Ex. due
4/17 PS 4 Checkoff due at 8PM
4/18
4/21: Holiday No Class or OH
4/23: Lecture 21
Link: in-class content
Topics: Complexity: measuring efficiency, timing programs, counting operations
Readings: Ch 11
Lec20 Finger Ex. due PS 5 Checkoffs start No L21 Finger Ex.
4/24
4/25
4/28: Lecture 22
Link: in-class content
Topics: Complexity: Big-Oh notation, Big-Theta notation, complexity relations and classes, calc complexity
Readings: Ch 11
Microquiz 9 (45 minutes in-class on your computer)
Lec22 Finger Ex. out
4/29
4/30: Lecture 23
Link: in-class content
Topics: string and list examples, analyzing complexity, Search: indirection, linear search, bisection search
Readings: Ch 12.1
Lec23 Finger Ex. out Lec22 Finger Ex. due
5/1 PS 5 Checkoff due at 8PM
5/2
5/5: Lecture 24
Link: in-class content
Topics: Sort: bogo, bubble, selection, merge sort
Readings: Ch 12.2
Microquiz 10 (30 minutes in-class on your computer)
Lec23 Finger Ex. due No L24 Finger Ex.
5/6 No OH Today and Beyond
5/7: Lecture 25
Link: in-class content
Topics: Visualizations, genAI, wrapup
Readings: Ch 12.3, 13, 17
No L25 Finger Ex.
5/8
5/9
5/12
5/13
5/14
5/15
5/16