(full semester) Introduction to CS and Programming using 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.

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-ish in 1-190
  • a deeper dive into concepts
  • and more in-class coding

3) Optional Recitations Fri 2pm in 32-044
  • extra practice and help, discussion-based
  • relation of 6.100 materials to progress in generative-AI

Office Hours


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

No OH during lecture hours
Tues: 11am to 9pm
Wed: 11am to 9pm
Thurs: 9am-9pm
Friday 9am-5pm

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


Finished with 6.0001 Psets!

Calendar and Materials 6.100L - Spring 2024

Monday
Tuesday
Wednesday
Thursday
Friday
2/5: 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/6
2/7: 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/8
Microquiz 0 (testing microquiz mechanics, not for points, take it on your own between 4:30pm and 9:30pm)
2/9
Check+Submit this box if you will attend this recitation.
PS 0 due at 9PM (No checkoff for PS 0)
2/12: 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/13
2/14: 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/15
2/16
Check+Submit this box if you will attend this recitation.
2/19: Holiday No Class or OH
2/20: 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 1 halfway-handin due at 9PM No OH
2/21: 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
2/22
2/23
Recitation 3 Coaching for PS 1
Check+Submit this box if you will attend this recitation.
2/26: 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/27
2/28: 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 PS 2 out PS 1 due at 9PM
2/29 PS 1 Checkoffs start
3/1
Recitation 4 Neural networks
Check+Submit this box if you will attend this recitation.
Last Day We Accept Adds
3/4: 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
3/6: 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 halfway-handin due at 9PM
3/7 PS 1 Checkoff due at 8PM
3/8
Recitation 5 Coaching for PS 2
Check+Submit this box if you will attend this recitation.
3/11: 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
3/13: 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 PS 3 out PS 2 due at 9PM
3/14 PS 2 Checkoffs start
3/15
Check+Submit this box if you will attend this recitation.
3/18: 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
3/20: 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 halfway-handin due at 9PM
3/21 PS 2 Checkoff due at 8PM
3/22
Check+Submit this box if you will attend this recitation.
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/29: Spring Break No Class or OH
4/1: 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
4/3: 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/4
4/5
Check+Submit this box if you will attend this recitation.
4/8: Lecture 17
Link: in-class content
Topics: Object Oriented Programming: data abstraction, class def, class instances, methods
Readings: Ch 10.1
Lec17 Finger Ex. out Lec16 Finger Ex. due
4/9
4/10: 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 out PS 3 due at 9PM
4/11 PS 3 Checkoffs start
4/12
Recitation 9 from text frequency to chatbots
Check+Submit this box if you will attend this recitation.
4/15: Holiday No Class or OH
4/16
4/17: 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 PS 4 halfway-handin due at 9PM
4/18 PS 3 Checkoff due at 8PM
4/19
Recitation 10 Coaching for PS 4
Check+Submit this box if you will attend this recitation.
4/22: Lecture 20
Link: in-class content
Topics: Inheritance: more examples
Readings: Ch 10.4
Microquiz 8 (30 minutes in-class on your computer)
Lec20 Finger Ex. out Lec19 Finger Ex. due
4/23
4/24: Lecture 21
Link: in-class content
Topics: Complexity: measuring efficiency, timing programs, counting operations
Readings: Ch 11
Lec20 Finger Ex. due PS 5 out PS 4 due at 9PM No L21 Finger Ex.
4/25 PS 4 Checkoffs start
4/26
Recitation 11 the MIT generative AI tutor
Check+Submit this box if you will attend this recitation.
4/29: 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/30
5/1: 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 PS 5 halfway-handin due at 9PM (No checkoff for PS 5)
5/2 PS 4 Checkoff due at 8PM
5/3
Check+Submit this box if you will attend this recitation.
5/6: 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/7
5/8: Lecture 25
Link: in-class content
Topics: Visualization library
Readings: Ch 13
PS 5 due at 9PM (No checkoff for PS 5) No L25 Finger Ex.
5/9 No OH Today and Beyond
5/10
5/13: Lecture 26
Link: in-class content
Topics: Extras: lists in memory, hashing, simulations, wrap-up, GenAI
Readings: Ch 12.3, Ch 17
No L26 Finger Ex.
5/14
5/15
5/16
5/17
5/20
5/21
5/22
5/23
5/24