1 Midterm Exam
Algorithms
Big O Notation
Orders of growth
Log
Linear
Log-Linear
Polynomial
Exponential
Exhaustive enumeration
Guess and check
Successive approximation
Divide and conquer algorithms
Binary search
Merge sort
Hashing
Amortized analysis
Software engineering
Debugging
Loop invariants
Specifications
Linguistic issues
Values, types, expressions variables
Builtin types: int, float, string, list, dictionary, tuple
Mutability and aliasing
Control flow and iteration
Functions and methods
Input/output
Recursion and call stacks