6.100A: Introduction to CS and Programming using Python#
6.100A is about:
- solving problems using computation
- the Python programming language
- organizing modular programs
- some simple but important algorithms
- algorithmic complexity
Spring 2023#
(previous semesters)
Lecture and reading notes#
-
Lecture 1 (2023-02-06)
- topics: what is computation, introduction to programming languages and Python, assignment, types, objects, branching, indentation
-
Lecture 2 (2023-02-08)
- topics: strings, booleans, branching and conditionals, iteration (
while
and for
loops), guess and check algorithms
- Lecture 3 (2023-02-13)
- topics: floats, approximate solutions, bisection methods
- Lecture 4 (2023-02-15)
- topics: decomposition, abstraction, functions
- Lecture 5 (2023-02-21)
- topics: lists, mutability, exceptions, assertions
- Lecture 6 (2023-02-22)
- topics: dictionaries, HOPs (higher-order procedures), recursion
- Lecture 7 (2023-02-28)
- topics: data abstraction, classes, subtyping
- Lecture 8 (2023-03-01)
- topics: inheritance, class attributes
- Lecture 9 (2023-03-06)
- topics: testing and debugging
- Lecture 10 (2023-03-08)
- topics algorithm analysis, implementing lists using indirection
- Lecture 11 (2023-03-13)
- topics: binary search, selection sort, merge sort, amortized analysis, hashing
- Lecture 12 (2023-03-15)
- topics: plotting, wrap-up
- Lecture 13 (2023-10-17)
Recitation notes#
- Recitation 1 (2023-02-10)
- Recitation 2 (2023-02-17)
- Recitation 3 (2023-02-24)
- Recitation 4 (2023-03-03)
- Recitation 5 (2023-03-10)
- Recitation 6 (2023-03-17)
Final exam review#
Supplementary materials#