CPIT-251 Software Engineering (I) Winter 2022

Foundations of software engineering, techniques, and methodologies

Schedule

  • Lecture:
    • Time: Sunday, Tuesday, Thursday 11:00AM-12:40PM
    • Location: FCIT building, Lab 15
  • Lab:
    • Time: Thursday 11:00-11:40PM
    • Location: FFCIT building, lab 15

Instructor

Khalid Alharbi, Ph.D.

  • Office Hours: Sunday and Tuesday 10:00AM-11:00AM *
  • Location: FCIT building, 1st floor, office #113

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

* Please feel free reach out to me on Teams outside of office hours for questions. I'll try to answer you as quickly as possible, and I'm always happy to set up an ad hoc video/voice call on Teams whenever possible.

Calendar

WeekTopicsReadingsAssignments/Labs
45%
  • 1
  • Dec 4th
  • Introduction
  • The nature of Software
  • The chaning nature of Software
  • Legacy Software
  • Professional software development
  • Software engineering ethics
      45%
      • 2
      • Dec 11th
      • The software process
      • Software process models
      • Process activities
      • Coping with change
      • Process improvement

          Lecture notes:
          • Chapter 2
          45%
          Long weekend - No classes on Sunday (18/12/2022, 24/05/1444)
          • 3
          • Dec 18th
          • Agile Software Development
          • Agile methods
          • Agile development techniques
          • Agile project management
          • Scaling agile methods

              Lecture notes:
              • Chapter 3
              45%
              • 4
              • Dec 25th
              • Architectural Design
              • Architectural design decisions
              • Architectural views
              • Architectural patterns
              • Application architectures

                  Lecture notes:
                  • Chapter 6
                  45%
                  • 5
                  • Jan 1st
                  • Design and Implementation
                  • Object-oriented design using the UML
                  • Design patterns
                  • Implementation issues
                  • Open-source development

                      Lecture notes:
                      • Chapter 7
                      45%
                      Midterm exam on 11/01/2023 at 11:00AM
                      • 6
                      • Jan 8th
                      • Software Testing
                      • Development testing
                      • Test-driven development
                      • Release testing
                      • User testing
                          • Chapter 8
                          45%
                          Long weekend - No classes on Sunday (15/01/2023, 22/06/1444)
                          • 7
                          • Jan 15th
                          • Software Evolution
                          • Evolution processes
                          • Legacy systems
                          • Software maintenance

                              Lecture notes:
                              • Chapter 9
                              45%
                              Midterm exam: TBD
                              • 8
                              • Jan 22nd
                              • Version management
                              • System building
                              • Change management
                              • Release management

                                  Lecture notes:
                                  • Chapter 25
                                  45%
                                  • 9
                                  • March 13
                                  • Software Reuse
                                  • The reuse landscape
                                  • Application frameworks
                                  • Software product lines
                                  • Application system reuse

                                      Lecture notes:
                                      • Chapter 15
                                      45%
                                      • 10
                                      • Feb 5th
                                      • Component-based software engineering
                                      • Components and component models
                                      • Component composition

                                          Lecture notes:
                                          • Chapter 16
                                          45%
                                          • 11
                                          • Feb 12th
                                          • Distributed software engineering
                                          • Distributed systems
                                          • Client–server computing
                                          • Architectural patterns for distributed systems
                                          • Software as a service

                                              Lecture notes:
                                              • Chapter 17
                                              45%
                                              Holiday - No classes on Wednesday and Thursday (22-23/02/2023, 02-03/08/1444)
                                              • 12
                                              • Feb 19th
                                              • Final exams

                                                  Lecture notes: