Please note

This document only provides information for the academic year selected and does not form part of the student contract

School:

School of Computing and Engineering

Credit Rating:

15

Level (including FHEQ):

M (FHEQ Level 7)

Graded or Non Graded:

Graded

Version Valid From:

2022-09-01

Module Leader:

Gary Allen

Version Number

2022.01

Learning Methods

Guided Independent Study

Lecture

Practical Classes and Demonstrations

Synopsis

This module provides you with an opportunity to develop advanced skills in object oriented (OO) software design and development. The module begins with advanced OO concepts and semantics (polymorphism and genericity), moves on to techniques for real-time concurrent and distributed systems development (threads, semaphores, monitors, sockets, distributed objects architectures), examines… For more content click the Read More button below.

Learning Strategy

The lectures will be used to deliver the key background material, and to demonstrate the application of the methods and techniques addressed within the module. This will be supported by tutorials and practicals designed to allow the concepts and techniques to be put into practice through the use of exercises… For more content click the Read More button below.

Outline Syllabus

Advanced approaches to, and issues with:• Inheritance and polymorphism.• Genericity and portability in object-oriented software.• Real Time and Concurrent Programming (e.g. threads, semaphores, monitors)• Concurrent systems modelling and behaviour, e.g. concurrent state machines, message passing models and the role of formal event models such as Communicating Sequential Processes (CSP).• Distributed… For more content click the Read More button below.

Learning Outcomes

On successful completion of this module students will
1.
Critically analyse a range of techniques for advanced OO programming.
2.
Evaluate methods for the development of real-time, concurrent, and distributed software systems.
3.
Evaluate advanced approaches to code verification and validation.
4.
Design and implement complex data structures, using appropriate methods of encapsulation, inheritance, polymorphism, and genericity.
5.
Model, implement, and test advanced real-time, concurrent, and distributed software systems as sets of objects, and defend the appropriateness and consistency of the model.

Formative Assessment

Assessment 1: Other

Assessment 2: Practice exam/test

Summative Assessment

Assessment 1: Portfolio

Assessment 2: In-Class Test

Assessment Criteria

Task 1 will be assessed on the appropriateness of the chosen design (including data structures, class hierarchy, and implementation techniques), the completeness and correctness of the solution (evidenced by the testing and evaluation), and the quality of the critique defending the design decisions made.Task 2 will be marked in accordance… For more content click the Read More button below.

My Reading

Reading List