CSC148 Course Notes#
Last updated November 19, 2023
See Quercus for the readings assigned each week. You will eventually be responsible for all readings listed here, unless we clearly indicate otherwise.
- 3.1 Introduction to Object-Oriented Programming
- 3.2 Representation Invariants
- 3.3 The Class Design Recipe
- 3.4 More on Designing Classes
- 3.5 Inheritance: Introduction and Methods
- 3.6 Inheritance: Attributes and Initializers
- 3.7 Inheritance: Tracing Initialization
- 3.8 Inheritance: Thoughts on Design
- 3.9 The
object
Class and Python Special Methods
- 7.1 Motivation: Adding Up Numbers
- 7.2 Nested Lists: A Recursive Data Structure
- 7.3 Understanding Recursive Functions: Partial Tracing
- 7.4 Writing Recursive Functions: Using the Recursive Structure of the Problem
- 7.5 Writing Recursive Functions: Using a Set of Test Scenarios
- 7.6 How Recursive Code Can Fail
- 7.7 Recursion and the call stack
- 7.8 Branching recursion