CPIT-252 Software Design Patterns Fall 2023 | Sections: IT2

This course presents fundamental object-oriented design principles and the application of key design patterns.

Instructor

Khalid Alharbi, Ph.D.

  • Office Hours: Monday, Wednesday 11:00AM-12:30PM OR By appointment
  • Location: FCIT building, office: 113

Join our MS Teams group/team for announcements and questions.

Calendar

WeekTopicReadingsAssignments/Labs
45%
  • 1
  • Ṣafar 4th / August 20th
  • Introduction
  • Review of Core Object-Oriented Concepts
  • Java Collections and Generics
45%
  • 2
  • Ṣafar 11th / August 27th
  • Introduction to Design Patterns
  • Design problems
  • Classification of design patterns
    45%
    • 3
    • Ṣafar 18th / September 3rd
    • Creational Design Patterns (I)
    • Singleton
    • Prototype
    • Chapter 3: Creational Design Patterns
    45%
    • 4
    • Ṣafar 25th / September 10th
    • Creational Design Patterns (II)
    • Builder
    • Factory method
      45%
      • 5
      • Rabiʽ al-Awwal 2nd / September 17th
      • Creational Design Patterns (III)
      • Abstract factory
      • Creational patterns in real applications
      • Course project stage (I)
        45%
        National Day Holiday - No classes on Sunday
        • 6
        • Rabiʽ al-Awwal 9th September 24th
        • Structural Design Patterns (I)
        • Adapter design pattern
        • Bridge design pattern
        • Chapter 4: Structural Design Patterns
        45%
        • 7
        • Rabiʽ al-Awwal 16th / October 1st
        • Structural Design Patterns (II)
        • Composite design pattern
        • Decorator design pattern
          45%
          Midterm exam week
          • 8
          • Rabiʽ al-Awwal 23rd / October 8th
          • Structural Design Patterns (III)
          • Façade design pattern
          • Flyweight design pattern
          • Proxy design pattern
            45%
            Midterm exam week
            • 9
            • Rabiʽ al-Awwal 30th / October 15th
            • Structural Design Patterns (IV)
            • Proxy
            • Structural patterns in real applications
            • Course project stage (II)
              45%
              • 10
              • Rabiʽ al-Thani 7th / October 22nd
              • Behavioral Design Patterns (I)
              • Chain of responsibility
              • Command
              • Iterator
              45%
              Long weekend break - No classes on Thursday
              • 11
              • Rabiʽ al-Thani 14th / October 29th
              • Behavioral Design Patterns (II)
              • Mediator
              • Memento
              • Observer
                45%
                • 12
                • Rabiʽ al-Thani 21st / November 5th
                • Behavioral Design Patterns (III)
                • State
                • Strategy
                • Template method
                  45%
                  • 13
                  • Rabiʽ al-Thani 28th / November 12th
                  • Behavioral Design Patterns (IV)
                  • Visitor
                  • Interpreter
                  • Behavioral patterns in real applications
                  • Course project stage (III)
                    Fall Break - No classes
                    • Jumada al-Ula 5th / November 19th
                        45%
                        • 14
                        • Jumada al-Ula 12th / November 26th
                        • Compound Patterns: Patterns of Patterns
                            45%
                            • 15
                            • Jumada al-Ula 19th / December 3rd
                            • The Model-View-Controller (MVC) pattern
                            • Lab exam and project demo