BRUNEL UNIVERSITY LONDON

Distributed Computing Systems Engineering

MSc  |  Placement Year:   No

This course covers a range of essential topics related to distributed computing systems. Yet these modules are not isolated; each one takes its place in the field in relation to others.

The emphasis in the course is to build the connections between topics, enabling software engineers to achieve co-operation between distinct autonomous systems under constraints of cost and performance requirements.

The course is suitable for:

  • Recent graduates in Electrical or Electronic Engineering or Computer Science, who wish to develop their skills in the field of distributed computing systems.
  • Practicing engineers and computer professionals who wish to develop their knowledge in this area.
  • People with suitable mathematical, scientific or other engineering qualifications, usually with some relevant experience, who wish to enter this field.
Programme description

This course covers a range of essential topics related to distributed computing systems. Yet these modules are not isolated; each one takes its place in the field in relation to others.

The emphasis in the course is to build the connections between topics, enabling software engineers to achieve co-operation between distinct autonomous systems under constraints of cost and performance requirements.

The course is suitable for:

  • Recent graduates in Electrical or Electronic Engineering or Computer Science, who wish to develop their skills in the field of distributed computing systems.
  • Practicing engineers and computer professionals who wish to develop their knowledge in this area.
  • People with suitable mathematical, scientific or other engineering qualifications, usually with some relevant experience, who wish to enter this field.
Key Modules

Students graduated from the programme are in high demand from both industry and academia undertaking

  • Computer Networks Analysis, Design and Optimisation with quality-of-service support
  • Service oriented Computing Systems (XML based Web services)
  • Large Scale Distributed Systems (Grid Computing Systems)
Module & Subject

Computer Networks
This module aims to advance knowledge on computer networks. Topics to be covered in this module include OSI reference model, Physical and Data Link Layer Protocols, TCP/IP Networking, IPv6, Routing Protocols, Asynchronous Transfer Mode (ATM) Networks, Packet Delay and Queuing Analysis, IP Quality of Services (Integrated Service Model and Differentiated Service Model), Resource Reservation Protocol (RSVP), Multi-Protocol Label Switching (MPLS), IP Multicasting, Network Application Layer Protocols such as HTTP, DNS, SNMP.

Network Security and Encryption
Introduces what is achievable through the use of security engineering, and presents the practical techniques and algorithms that are currently important for the efficient and secure use of distributed /Grid computing systems. Topics include Introduction to Security Engineering, Classical Cryptography (Monoalphabetic and Polyalphabetic Ciphers, Transposition, Substitution, Linear Transformation), Computational Fundamentals of Cryptosystems (Computational Complexity and Intractability, Modular Arithmetic and Elementary Number Theory), Modern Symmetric Key Cryptography (Feistel Ciphers, DES, Triple-DES and AES),Public Key Cryptography (The Diffie-Hellman Key Exchange Algorithm, Public Key Infrastructures, X.509 Certificates, PK Systems such as RSA and Elliptic Curves), Multilevel Security (the Bell-LaPadula Security Policy Model, the Biba Model, the NRL Pump), Multilateral Security (Compartmentation and the Lattice Model, the Chinese Wall, the BMA Model), Protecting e-Commerce Systems.

Distributed Systems Architecture
Presents a comprehensive evaluation of the design philosophies, fundamental constructs, performance issues and operational principles of distributed systems architectures, covering applications, algorithms and software architecture, engineering issues and implementation technology. Topics to be covered in this module include System Architecture (Bus Systems, High Performance I/O, Memory Hierarchies, Memory Coherence and File Coherence), Distributed Database, Processor Architecture, File Services, Inter-Process Communication, Naming Services, Resource Allocation and Scheduling, Distributed System Case Studies.

Project and Personal Management
Introduces a range of formal methods and skills necessary to equip the student to function effectively at the higher levels of project management. Covers the need for the development of project management skills in achieving practical business objectives.

High Performance Computing and Big Data

The main of this module is to provide students with a solid foundation in High Performance Computing (HPC) and its role in data intensive science and engineering

applications. Topics to be covered in this module include Introduction (high performance computing, high throughput computing, highly scalable computing), Parallel programming concepts (data partition and granularity, load balancing, programming models), HPC paradigms (cluster computing, grid computing and cloud computing), Shared memory programming (OpenMP), Distributed memory programming (MPI), MapReduce programming model, NoSQL database systems (Cassandra and MongoDB), Cloud computing infrastructures (Amazon EC2 Cloud) and HPC applications.

Software Engineering

The main aims of this module are to build knowledge on analysis methodologies for software system design and to raise awareness of the challenges in the design of complex software systems. Topics to be covered in this module include Requirements Engineering (documenting requirements, user stories, use cases and scenarios); Universal Modelling Language (UML)

(UML use case, class, sequence, activity, state, component and deployment diagrams, UML models), Analysis and Design Process (user story realisation, object-oriented modelling, incremental refinement); Design Principles (software architecture, separation of concerns, design patterns, object-oriented design practices, refactoring); Testing (unit testing, test-driven development, functional testing).

Embedded Systems Engineering

The main aim of the module is to provide a detailed knowledge of real-time computing for embedded and control computer systems. Topics to be covered in this module include the design of embedded software computer systems, embedded system design using hardware description languages (HDL) such as VHDL

in the design of embedded systems, advanced design tools (e.g. System C, MATLAB) to specify, simulate, and synthesize designs; implementations strategies and limitations e.g. FPGA, DSP chips and micro processors, performance measurement, benchmarking and tools for system simulation testing and debugging; applications and case studies for embedded FPGAs

based systems will be presented; design of low-cost, high-performance embedded systems; hard and soft real-time computer system design for uniprocessor embedded system applications and distributed realtime systems; characterising real-time systems, performance measure, task assigning, scheduling, fault tolerant scheduling, run-time, real-time data bases, real-time communication (CAN, FlexRay, Realtime-Ethernet) and inter process communication and synchronization.

Intelligent Systems

The main aims of the module are to understand a full range of state-of-the-art intelligent systems techniques, and to raise critical awareness of the issues affecting the performance of intelligent systems. Topics to be covered in this module include Intelligent Computation Techniques (fuzzy logic: concepts, membership functions, inference methods and design; neural networks (NN): representations, topology, learning methods; neuro-fuzzy systems (NF): design, topology, training, comparison to NN; genetic algorithms: representations, genetic operators, selection schemes, fitness & population evaluation, constraint handling, learning and evolution; swarm intelligence: particle swarm, ant colony optimisation); Intelligent Data Processing Techniques (data classification: supervised learning of classifiers; clustering: fuzzy c-mean clustering; data mining: utilisation of NN and GA to explore new features in the data; genome data processing: gene analysis based on NN, gene analysis based on NF; signal processing: adaptive filter design using genetic algorithms); and Applications bioinformatics, medical imaging & visualisation, pattern recognition & biometrics, computer vision, future trends).

Dissertation
A stimulating and challenging part of the MSc programme. It provides the opportunity to apply the knowledge learnt in the taught part of the programme and to specialise in one aspect, developing students’ deep understanding and expertise in Distributed Systems related area of their choice. Students may carry out their projects wholly within the University, but industrial based projects are encouraged.

Entry Requirements
  • A minimum score of 55% - 65% or 2.75/4 - 3.25/4. Offers within the grade range are determined by the higher education institution attended.
  • IELTS: 6 (min 5.5 in all areas)
  • Pearson: 51 (51 in all subscores)
  • BrunELT: 60% (min 55% in all areas)
Foundation Campus
No Foundation
Course Option
Course Duration: 1 years
Course Fee:  18000.00
Course Level:  POSTGRADUATE
Application Deadline 
International Student:   (15,July)
Location
Country:  UNITED KINGDOM
Campus Location:  Brunel University London, Kingston Lane Uxbridge Middlesex UB8 3PH
Intake Deadline
SEPTEMBER