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. Students will learn about principles and
practices of all stages of OOP, including software design, code
development, and testing and debugging.
Computer programming, especially OOP, is essential to all computing
programmes. 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. Critically analyse Object Oriented Programming features and
principles.
B. Design an Object Oriented Programming solution to a specific
problem using the Unified Modelling Language (UML).
C. Apply Artificial Intelligence (AI) assisted tools to solve a
substantial problem using an Object Oriented Programming language,
and critically evaluate the solution.
D. Critically compare Object Oriented Programming languages such as
Java, C++, C#, and Python, and make an informed decision on the
selection of an appropriate programming language for a given
problem.
E. Effectively work as a member of a development team, recognising
the different roles within a team and different ways of organising
teams.
Method of teaching and learning
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 critically
analyse the differences 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.
The written exam evaluates the students’ critical understanding of
key theoretical and practical components of the module.