Introduction to CS and Programming using Python

Electrical Engineering and Computer Science MIT CC BY-NC-SA 4.0 26 lectures

This subject is aimed at students with little to no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, feel justifiably confident in their ability to write simple programs that allow them to accomplish useful goals. The class will use the Python 3 programming language.

Syllabus

  1. 1 Lecture 1: Introduction to CS and Programming Using Python
  2. 2 Lecture 2: Strings, Input/Output, and Branching
  3. 3 Lecture 3: Iteration
  4. 4 Lecture 4: Loops over Strings, Guess-and-Check, and Binary
  5. 5 Lecture 5: Floats and Approximation Methods
  6. 6 Lecture 6: Bisection Search
  7. 7 Lecture 7: Decomposition, Abstraction, and Functions
  8. 8 Lecture 8: Functions as Objects
  9. 9 Lecture 9: Lambda Functions, Tuples, and Lists
  10. 10 Lecture 10: Lists and Mutability
  11. 11 Lecture 11: Aliasing and Cloning
  12. 12 Lecture 12: List Comprehension, Functions as Objects, Testing, and Debugging
  13. 13 Lecture 13: Exceptions and Assertions
  14. 14 Lecture 14: Dictionaries
  15. 15 Lecture 15: Recursion
  16. 16 Lecture 16: Recursion on Non-numerics
  17. 17 Lecture 17: Python Classes
  18. 18 Lecture 18: More Python Class Methods
  19. 19 Lecture 19: Inheritance
  20. 20 Lecture 20: Fitness Tracker Object-Oriented Programming Example
  21. 21 Lecture 21: Timing Programs and Counting Operations
  22. 22 Lecture 22: Big Oh and Theta
  23. 23 Lecture 23: Complexity Classes Examples
  24. 24 Lecture 24: Sorting Algorithms
  25. 25 Lecture 25: Plotting
  26. 26 Lecture 26: List Access, Hashing, Simulations, and Wrap-Up

Course materials