(full semester) Introduction to CS and Programming using Python
(Spring 2022)
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
at 3pm-4:30pm in 32-141 with
Login to view: Live Zoom for attending class if sick
Office Hours
(get a spot via the Help Queue)
OH start Tuesday the first week of classes
Monday-Thursday: 9am-9pm
Friday 9am-5pm
Recitation Schedule
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
Lec1 Finger Ex. out
PS 1 out
Readings: Ch 1, Ch 2.1-2.2
2/1
2/2: Lecture 2 zip
Core elements of programs: strings, input/output, f-strings, operators, branching, indentation
Lec2 Finger Ex. out
Lec1 Finger Ex. due
Readings: Ch 2.3-2.4
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
Lec4 Finger Ex. out
Lec3 Finger Ex. due
Readings: Ch 3.1, 3.3
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
Lec6 Finger Ex. out
Lec5 Finger Ex. due
Readings: Ch 3.4, 3.5
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
Lec8 Finger Ex. out
Lec7 Finger Ex. due
PS 2 out
PS 1 due at 9PM
Readings: Ch 4.3-4.6
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
Lec10 Finger Ex. out
Lec9 Finger Ex. due
PS 2 halfway-handin due at 9PM
Readings: Ch 5.3-5.5
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
Lec12 Finger Ex. out
Lec11 Finger Ex. due
PS 3 out
PS 2 due at 9PM
Readings: Ch 4.4, Ch 8
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
Lec14 Finger Ex. out
Lec13 Finger Ex. due
Office hours 9am to 3pm only
Readings: Ch 5.7
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)
Lec16 Finger Ex. out
Lec15 Finger Ex. due
PS 3 halfway-handin due at 9PM
Readings: Ch 6.2-6.4
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
Lec18 Finger Ex. out
Lec17 Finger Ex. due
PS 4 out
PS 3 due at 9PM
Readings: Ch 10.1
4/7
PS 3 Checkoffs start
4/8: Recitation 9 notes
4/11: Lecture 19 zip
Inheritance: hierarchies, subclasses, using inherited methods, examples
Lec19 Finger Ex. out
Lec18 Finger Ex. due
Readings: Ch 10.2
4/12
4/13: Lecture 20 zip
Inheritance: more examples
Lec20 Finger Ex. out
Lec19 Finger Ex. due
PS 4 halfway-handin due at 9PM
Readings: Ch 10.4
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
Lec20 Finger Ex. due
PS 5 out
PS 4 due at 9PM
No L21 Finger Ex.
Readings: Ch 11
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
Lec23 Finger Ex. out
Lec22 Finger Ex. due
Readings: Ch 12.1
4/28
PS 4 Checkoff due
4/29: Recitation 12 notes
5/2: Lecture 24 zip
Sort: bogo, bubble, selection, merge sort
(No checkoff for PS 5)
No L24 Finger Ex.
Readings: Ch 12.2
Microquiz 10
(30 minutes in-class on your computer)
Lec23 Finger Ex. due
PS 5 halfway-handin due at 9PM
5/3
5/4: Lecture 25 zip
Visualization library
No L25 Finger Ex.
Readings: Ch 13
5/5
5/6
5/9: Lecture 26 zip
Extras: lists in memory, hashing, simulations, wrap-up
PS 5 due at 9PM
(No checkoff for PS 5)
No L26 Finger Ex.
Readings: Ch 12.3, Ch 17
5/10
No OH rest of the week
5/11
5/12
5/13
5/16
5/17
5/18
5/19
5/20