PBL in Object-Oriented Analysis course, NUCES

Course overview

The course introduces basic concepts of the object oriented paradigm, elicitation of requirements through use cases, identification of domain concepts through domain models, selection of classes and assignment of roles and responsibilities to various classes, identification of relationships among classes, and their realization to implement systems. The course further focuses on design patterns and higher level structures, such as packages, layers, deployment, using UML.

Participants in piloting 

This course targets undergraduate students in the Faculty of Computer Science. Approximately 240 students were enrolled in five sessions that were delivered in the spring of the 2019 – 2020 academic year. Most of the participants were 3rd semester, 2nd year, students enrolled in the Bachelor of Science in Computer Science Program. The course is mandatory for Master’s students.

Timeframe

Spring 2019

Use of ALIEN services and tools

Project based learning was deployed. Students were divided into groups of 4 for conducting a semester project. A small project was allocated to each group. Students performed the following activities:

  • Analyzed problems from an object perspective.
  • Applied an iterative, use case-driven, architecture-centric process to the development of a robust design model.
  • Used UML 2.0 to represent the design model.
  • Applied the object-oriented concepts of abstraction, encapsulation, inheritance, and polymorphism.
  • Created object-oriented designs and implement them in Java++.
  • Described some basic design considerations, including the use of patterns.