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 and MSc Financial Computing.
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.
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.
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.
The assessment consists of coursework and a written exam. The coursework assessment contains three parts. The first two are lab-based tasks for the students to demonstrate key programming and design skills, whilst the third is a programming project to solve a substantial problem using an OOP language and critically evaluate the solution. The written exam evaluates the students’ critical understanding of key theoretical and practical components of the module.