►
CMSC 132A:
Systematic Program Design II
Syllabus
Texts
Schedule
Exams
Lectures
Labs
Assignments
Piazza
Grades Server
Submit Server
Acknowledgments
▼
Lectures
Lecture 1:
The Essence of Objects
Lecture 2:
Unions of Objects
Lecture 3:
Classes of Objects:
Data Definitions
Lecture 4:
Classes of Objects:
Interface Definitions
Lecture 5:
Interface Design:
Independent and Extensible
Lecture 6:
Parametric Interface Definitions and Methods
Lecture 7:
Introducing Java:
Syntax and Semantics
Lecture 8:
Union, Interfaces, and Lists in Java
Lecture 9:
Testing in Java
Lecture 10:
Parametric Interfaces in Java
Lecture 11:
Computations on Many Structural Arguments:
Double Dispatch
Lecture 12:
Parameterized Types and Double Dispatch; Abstracting Values
Lecture 13:
Abstracting Computation with Function Objects
Lecture 14:
Function Objects & Parameterized Types; Anonymous Classes & Lambda
Lecture 15:
The Fundamental List Abstraction:
Fold
Lecture 17:
Midterm Review
Lecture 16:
Properties of Equality:
Reflexive, Symmetric, Transitive, and Total
Lecture 19:
Structural Equality with Double Dispatch; Abstracting and Overridding
Lecture 18:
More Double Dispatch
Lecture 22:
Optional, Maps, Sets, and Lifting Default Code to Abstract Classes
Lecture 23:
The Visitor Pattern
Lecture 24:
Implementing Visitors; Bank Accounts
Lecture 25:
Imperatives:
Implicit Communication via Side-
Effects
Lecture 26:
Aside:
List Exercises
Lecture 27:
Imperatives:
Cyclic Data
Lecture 28:
Imperatives:
Methods over Cylic Data
Lecture 29:
BSTs, Maps, The Law of Hash
Code, and Comparable vs Comparators
Lecture 30:
Random access and Array
Lists
Lecture 31:
Implementing Hash Tables
Lecture 32:
Resizing Hash Tables
Lecture 33:
Simple Iterators
Lecture 34:
List Iterators and Iterator Combinators
Lecture 35:
List Iterators and Iterator Combinators
Lecture 36:
Zippers
Lecture 37:
Naive Tree Iterators
Lecture 38:
Efficient Pre-
Order Tree Iterators
Lecture 39:
Drills
Lecture 40:
Drill Solutions
Lecture 41:
Wrap-
up
6.12
← prev
up
next →
Lecture 12:
Parameterized Types and Double Dispatch; Abstracting Values
Video
.
TBD.
← prev
up
next →