Programming Basic
Actual coverage
What programming is; Python/programming basics; OOP; stack; queue; lists and dictionaries; recursion; data structures; trees; algorithm analysis; regular expressions.
Durable knowledge
- Programs combine data representation, control flow, decomposition, and input/output.
- Encapsulation groups state with operations; polymorphism lets callers depend on behavior rather than concrete types.
- Stack is last-in-first-out and supports nested evaluation/history; queue is first-in-first-out and supports scheduling/buffering.
- Hash maps trade memory and hashing assumptions for fast key lookup.
- Recursion needs a base case and progress toward it; an explicit stack can often replace recursion.
- Trees model hierarchy and ordered search; traversal order determines behavior.
- Complexity describes growth as input increases and guides choices before optimization.
- Regular expressions are compact recognizers for textual patterns, but complex parsing often deserves a real parser.
Practice sequence
Implement each structure, state its invariant, measure representative operations, and solve one problem where it is clearly the right abstraction.