PBL in Object-Oriented Programming course, UNITEN

Course overview

The course introduces students to fundamental concepts and implementation of object-oriented programming in a pre-selected programming language. Topics covered include data types, variables, operators, objects, classes, methods, inheritance, polymorphism, string handling, regular expression, exception handling, arrays, abstraction, and interfaces. Upon completion of the course students are able to describe object-oriented principles in system development, apply object-oriented concepts in system development, and produce a system to solve various problems using object-oriented approaches.

Participants in piloting 

The course is compulsory for students enrolled in the Bachelor in Computer Science (Software Engineering) (Hons.), Bachelor in Computer Science (Systems and Networking) (Hons.) and Bachelor in Computer Science (Cyber Security) (Hons.) Programs at Universiti Tenaga Nasional. The course is part of the 2nd year curriculum of studies. It bears 4 credit points, which correspond to a 3 hour lecture and 2 hours of lab work each week. In semester 1 of academic year 2020 – 2021, which run from September 2020 to January 2021, 61 students were enrolled in the course.

Timeframe

Fall 2021

Use of ALIEN services and tools

One of the active learning activities for this course is a system development project. Students are given a problem to be solved in groups. Each group is comprised by 3 – 4 students. Students are required to register their group and choose a problem from a given list of choices in a Google sheet.

The learning objective for this activity is for the students to produce a system to solve one of the problems using object-oriented design. Upon confirming a topic or problem students are asked to identify the system requirements and integrate them with the basic requirements presented in the problem description. Students may refer to existing systems the requirements for which may be found on the internet. The system requirements are presented in the form of a use-case diagram and specifications. Each member of the group is required to contribute in all phases of the development process. Peer evaluation is used to measure group member involvement. Subsequently, group members develop a program that implements the identified requirements to produce a system solution to the given problem. At the end of the activity, students present their solution to the lecturer and the class. They further submit the system documentation including the source code. Evaluation of the project is based on set of criteria and rubrics, with peer evaluation score is also incorporated into the individual scores.