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

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-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