Home > Lectures > Lecture Details

Decomposition and abstraction through functions

By Eric Grimsom John Guttag - MIT
get flash player

Lecture Description

Decomposition and abstraction through functions; introduction to recursion

Course Description

Related Resources

Functions, type conversion, and stack diagrams: Chapter 3 of How to Think Like a Computer Scientist   |  More about functions: Chapter 5 of How to Think Like a Computer Scientist (through section 5.4)   |  Documenting functions: Documenting functions from Dive Into Python   |  Recursion: Chapter 4 of How to Think Like a Computer Scientist (from section 4.9 on)   |  Chapter 5 of How to Think Like a Computer Scientist (from section 5.5 on)

Course Index

  1. Introduction and Goals of the Course
  2. Operators and operands
  3. Common code patterns
  4. Decomposition and abstraction through functions
  5. Floating point numbers
  6. Bisection methods
  7. Lists and mutability
  8. Complexity
  9. Binary search
  10. Divide and conquer methods
  11. Testing and debugging
  12. Knapsack problem
  13. Dynamic programming
  14. Introduction to object-oriented programming
  15. Abstract data types
  16. Encapsulation
  17. Computational models
  18. Presenting simulation results
  19. Biased random walks
  20. Monte Carlo simulations
  21. Validating simulation results
  22. Normal, uniform, and exponential distributions
  23. Stock market simulation
  24. Course overview: What do computer scientists do?