📁 Documents

Course documents

📢 Other
📢
Announcements
announcements.txt 11.2 KB

🎓 Lecture Slides

All 188 lecture slides organized by lecture

💡 Concept Index

Quick reference to key concepts with direct slide links

0
1 Object-Oriented Fundamentals 4 concepts

01 📦 Classes & Objects

Fundamental blueprint and state encapsulation mechanisms

L1 • Slide 3-5

02 🔒 Encapsulation

Hiding internal states and requiring methods to interact with object data

L2 • Slide 25

03 📋 Class Attributes & Methods

Static scope properties bound to the class itself rather than instances

L3 • Slide 33-35

04 🗃️ Object State Maintenance

Designing solid object lifecycles

L3 • Slide 36
4 UML Associations 5 concepts

05 ↔️ 1-to-Many Associations

Implementing references using lists or specialized collections

L4 • Slide 42

06 🔀 Many-to-Many Associations

Mapping complex relationships without junction classes in OO

L4 • Slide 48-50

07 🧩 Aggregation

A "has-a" relationship where the child can exist independently of the parent

L5 • Slide 56

08 🛡️ Composition

A strict whole-part relationship with cascading existence rules

L5 • Slide 62-65

09 🔑 Qualified Associations

Filtering association endpoints via qualifier keys

L5 • Slide 68
6 Inheritance & Advanced UML 4 concepts

10 🧬 Inheritance Basics

Generalization mechanisms to avoid duplicating attributes and logic

L6 • Slide 75

11 🎭 Disjoint & Overlapping Inheritance

Modeling rules constraining whether objects can belong to multiple specific subclasses

L6 • Slide 82

12 🔣 Multi-aspect (Multi-inheritance)

Solving the Diamond Problem and implementing multiple parents

L7 • Slide 94

13 🔄 Dynamic Inheritance

Objects mutating classes at runtime (e.g., State Pattern)

L7 • Slide 98
9 Relational Model Mapping 3 concepts

14 🗄️ ORM Foundations

Mapping Object-Oriented structures onto standard Relational Tables

L9 • Slide 114

15 🔗 Foreign Keys & Associations

Translating 1-to-N relationships and cascading constraints

L10 • Slide 118

16 ✖️ Association Classes (M-to-N)

Building junction tables to handle many-to-many associations and attributes

L11 • Slide 125
13 GUI Design & Testing 2 concepts

17 🖥️ Usability Principles

Ensuring user interfaces are learnable, efficient, and robust

L13 • Slide 151

18 🤖 Automated UI Testing

Mocking components and testing interface lifecycle loops

L14 • Slide 160