CSCI 370 (Greenberg)
Spring 2025 Lecture Notes
Lecture Notes (Pre-Midterm)
- Lecture 3: The Problem with Inheritance and the Case for Composition
- Lecture 4: Optimization and Design Patterns in Software Engineering
- Lecture 5: Approaches to Software Development: Waterfall, Incremental, and Reuse Models
- Lecture 6: UML Class Diagrams and Object-Oriented Relationships
- Lecture 7: UML Class Diagrams and SOLID Principles
- Lecture 8: SOLID Principles Continued, Low-Code/No-Code Platforms, and Dependency Inversion
- Lecture 9: Principles of DRY, YAGNI, Delegation, and Intro to Agile
- Lecture 10: Agile Practices, Testing Strategies, and Software Development Principles
- Lecture 11: Software Requirements, Design Principles, Development Models, UML Diagrams, and Design Patterns
- Lecture 12: Object-Oriented Design Patterns: Singleton, Factory, Observer, Strategy
Midterm Review
Lecture Notes (Post-Midterm)
- Lecture 13: Decorator Pattern, Builder Pattern
- Lecture 14: Builder Pattern, State Pattern, Decorator Pattern
- Lecture 15: Object-Oriented Principles in ADTs, Project Guidelines, and the Memento Pattern
- Lecture 16: Iterator and Command Design Patterns