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.