Courses Taught by Dr. Riad Sonbol

Software System Design (Syrian Private University)

Faculty of Engineering - Artificial Intelligence Engineering

[Last Updated: 2025] This course focuses on the art of designing clean, flexible, and maintainable software systems using well-established design principles and patterns.

Lectures & Materials

Week Title Description Download
Week 01 Introduction Introduction to Software System Design 📥 PDF
Week 02 Designing for Simplicity Principles SOLID principles 📥 PDF
Week 03 Design Patterns: Strategy Pattern, Template Method Pattern Strategy Design Pattern, Template Method Pattern 📥 PDF
Week 04 Design Patterns: From Persistence to Creation DAO, Repository, Factory Method, Abstract Factory Class 📥 PDF
Week 05 Design Patterns: State Pattern and Decorator State Pattern, Decorator 📥 PDF
Week 06 Design Patterns: Singleton, Facade, Adapter, Proxy Singleton, Facade, Adapter, Proxy 📥 PDF
Week 07 Midterm Exam -- --
Week 08 Design Patterns: The Observer Pattern The Observer Pattern 📥 PDF
Week 09 Design Patterns: The Composite Pattern The Composite Pattern 📥 PDF
Week 10 Design Patterns: The Command Pattern The Command Pattern 📥 PDF
Week 11 Design Patterns: The Iterator Pattern The Iterator Pattern 📥 PDF