Module Catalogues

Object Oriented Programming

Module Title Object Oriented Programming
Module Level Level 4
Module Credits 5.00

Aims and Fit of Module

The aim of this module is to train students in Object Oriented Programming (OOP) by using a contemporary language (e.g., Java) and to provide them with an overview of other efficient object oriented languages (e.g., C++, C#, Python) used to develop applications in areas such as social networking, finance, telecommunications and other engineering domains. 

Computer programming, especially OOP, is essential to all computing programmes. While the module is optional, the students will be required to undertake it when deemed necessary based on their prior learning experience of programming. The programmes that share this module include MRes Computer Science, MSc Applied Informatics, MSc Social Computing, MSc Financial Computing, and MSc Human-Computer Interaction.

Learning outcomes

A. Have a critical understanding of OOP and demonstrate effective use of the UML design language;
B. Solve a substantial problem using an OOP language and critically evaluate the solution;
C. Account for the differences between OOP languages such as Java, C++, C#, and Python and make informed decision on the selection of programming language for a given problem.
D. Be able to work as a member of a development team recognizing the different roles within a team and different ways of organizing teams.

Method of teaching and learning

Updating “Assessment” part.

Formal lectures:

  
  
Students will be expected to attend two hours of formal lectures in a typical week plus two hours of supervised lab session. Key concepts are introduced and illustrated through lectures. These are then enforced through problem-solving activities in lab sessions. The necessary practical skills are developed through laboratory exercises and assessment tasks.

Private study:
  
In a typical week, students will be expected to devote six hours of unsupervised time to private study. The time allowed per week for private study will typically include three hours for revision of course material and background reading, with three hours for completion of practical work.

Assessment: 

The assessment consists of two coursework tasks and a written exam. 
The first coursework task asks students to research and explain the differences between Java and another OOP language of their choice, focusing on OOP aspects in their comparison. 
The second task is a group project in which students will develop (design and implement) a solution to a substantial programming problem using an OOP language, and critically evaluate the proposed solution. Students will receive a group mark for the design (20%) and implementation (50%) parts. The critical evaluation part (30%) will ask students to reflect on and evaluate their own contribution to the project, and will be marked individually.
The written exam evaluates the students’ critical understanding of key theoretical and practical components of the module.