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

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.

Let me know of any ongoing feedback anonymously via this form!

Announcements

Lecture Material


In-person Lectures
at 3pm-4:30pm in 32-141 with
Login to view: Live Zoom for attending class if sick
(no recording will be available!)

Slides in Calendar below

Office Hours


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

No OH during lecture hours
OH start Tuesday the first week of classes
Monday-Thursday: 9am-9pm
Friday 9am-5pm

This Week's Pset


Finished with 6.0001 Psets!


Changing Buddy Preferences?
PSet Buddy Form

Recitation Schedule


In-person (and optional)
Room is limited to first 40 students
Fridays at: 10am in 5-134
Recitation Feedback Form

Calendar and Materials 6.s061 - Spring 2022

Monday
Tuesday
Wednesday
Thursday
Friday
1/31: Lecture 1 zip
Introduction to Python: knowledge, machines, objects, types, variables, bindings, IDEs
Readings: Ch 1, Ch 2.1-2.2
Lec1 Finger Ex. out PS 1 out
2/1
2/2: Lecture 2 zip
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/3
Microquiz 0 (testing microquiz mechanics, not for points, take it on your own between 4:30pm and 9:30pm)
2/4: Recitation 1 notes PS 0 due at 9PM (No checkoff for PS 0)
2/7: Lecture 3 zip
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/8
2/9: Lecture 4 zip
Iteration, simple programs: guess and check, binary, fractions
Readings: Ch 3.1, 3.3
Lec4 Finger Ex. out Lec3 Finger Ex. due
2/10
2/11: Recitation 2 notes
2/14: Lecture 5 zip
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
2/15
2/16: Lecture 6 zip
Simple Algorithms: bisection search, Newton-Raphson
Readings: Ch 3.4, 3.5
Lec6 Finger Ex. out Lec5 Finger Ex. due
2/17
2/18: Recitation 3 notes
2/21: Holiday No Class or OH
2/22: Lecture 7 zip
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/23: Lecture 8 zip
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/24 PS 1 Checkoffs start
2/25: Recitation 4 notes
2/28: Lecture 9 zip
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/1
3/2: Lecture 10 zip
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/3 PS 1 Checkoff due
3/4: Recitation 5 notes Last day to add 6.s061
3/7: Lecture 11 zip
Alising and cloning, list comprehensions
Readings: Ch 5.3-5.5
Microquiz 5 (30 minutes in-class on your computer)
Lec11 Finger Ex. out Lec10 Finger Ex. due
3/8
3/9: Lecture 12 zip
More functions as objects, keyword arguments, 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/10 PS 2 Checkoffs start
3/11: Recitation 6 notes
3/14: Lecture 13 zip
Exceptions, assertions
Readings: Ch 9
Microquiz 6 (30 minutes in-class on your computer)
Lec13 Finger Ex. out Lec12 Finger Ex. due
3/15
3/16: Lecture 14 zip
Dictionaries: keys, values, mutability, iteration over a dict, examples
Readings: Ch 5.7
Lec14 Finger Ex. out Lec13 Finger Ex. due Office hours 9am to 3pm only
3/17 PS 2 Checkoff due Office hours 2pm to 9pm only
3/18: Recitation 7 notes NO office hours today
3/21: Spring Break No Class or OH
3/22: Spring Break No Class or OH
3/23: Spring Break No Class or OH
3/24: Spring Break No Class or OH
3/25: Spring Break No Class or OH
3/28: Lecture 15 zip
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
3/29
3/30: Lecture 16 zip
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 PS 3 halfway-handin due at 9PM
3/31
4/1: Recitation 8 notes
4/4: Lecture 17 zip
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/5
4/6: Lecture 18 zip
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/7 PS 3 Checkoffs start
4/8: Recitation 9 notes
4/11: Lecture 19 zip
Inheritance: hierarchies, subclasses, using inherited methods, examples
Readings: Ch 10.2
Lec19 Finger Ex. out Lec18 Finger Ex. due
4/12
4/13: Lecture 20 zip
Inheritance: more examples
Readings: Ch 10.4
Lec20 Finger Ex. out Lec19 Finger Ex. due PS 4 halfway-handin due at 9PM
4/14 PS 3 Checkoff due
4/15: Recitation 10 notes
4/18: Holiday No Class or OH
4/19 Drop Date
4/20: Lecture 21 zip
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/21 PS 4 Checkoffs start
4/22: Recitation 11 notes
4/25: Lecture 22 zip
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/26
4/27: Lecture 23 zip
string and list examples, analyzing complexity, Search: indirection, linear search, bisection search
Readings: Ch 12.1
Lec23 Finger Ex. out Lec22 Finger Ex. due
4/28 PS 4 Checkoff due
4/29: Recitation 12 notes
5/2: Lecture 24 zip
Sort: bogo, bubble, selection, merge sort
Readings: Ch 12.2
Microquiz 10 (30 minutes in-class on your computer)
Lec23 Finger Ex. due PS 5 halfway-handin due at 9PM (No checkoff for PS 5) No L24 Finger Ex.
5/3
5/4: Lecture 25 zip
Visualization library
Readings: Ch 13
No L25 Finger Ex.
5/5
5/6
5/9: Lecture 26 zip
Extras: lists in memory, hashing, simulations, wrap-up
Readings: Ch 12.3, Ch 17
PS 5 due at 9PM (No checkoff for PS 5) No L26 Finger Ex.
5/10 No OH rest of the week
5/11
5/12
5/13
5/16
5/17
5/18
5/19
5/20