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