Studieninhalte Master Distributed Computing Systems - Software Engineering
|1 (EE5616A)||Software Engineering||15|
|2 (EE5610)||Network Security and Encryption||15|
|3 (EE5503)||Computer Networks||15|
|4 (EE5531)||Distributed Systems Architecture||15|
|5 (EE5572)||High Performance Computing and Big Data||15|
|6 (EE5571)||Embedded Systems Engineering||15|
|7 (EE5614)||Project Control and Management||15|
|8 (EE5654)||Intelligent Systems||15|
Vorlesungsverzeichnis Master-Studium Distributed Computing Systems Engineering
Module 1: Software Engineering (15 Credits)
The main aims of this module are to build knowledgeon analysis methodologies for software system designand to raise awareness of the challenges in the designof complex software systems. Topics to be covered inthis module include Requirements Engineering (documentingrequirements, user stories, use cases andscenarios); Universal Modelling Language (UML)(UML use case, class, sequence, activity, state, componentand deployment diagrams, UML models),Analysis and Design Process (user story realisation,object-oriented modelling, incremental refinement);Design Principles (software architecture, separationof concerns, design patterns, object-oriented designpractices, refactoring); Testing (unit testing, test-drivendevelopment, functional testing).
Module 2: Network Security and Encryption (15 Credits)
The main aims of the module are to introduce the fun d -amental theory that enables what is achievable throughthe use of Security Engineering to be determined, andto present the practical techniques and algorithms thatare currently important for the efficient and secure useof distributed/cloud computing systems. Topics to becovered in this module include Introduc tion to SecurityEngineering, Classical Cryptography (Monoalphabeticand Polyalphabetic Ciphers, Transposition, Substitution,Linear Transformation), Computational Fundamentalsof Cryptosystems (Computational Complexity and Intractability,Modular Arithmetic and Elementary NumberTheory), Modern Symmetric Key Cryptography(Feistel Ciphers, DES, Triple-DES and AES), Public KeyCryptography (The Diffie-Hellman Key Exchange Algorithm,Public Key Infrastructures, X.509 Certificates, PKSystems such as RSA and Elliptic Curves), MultilevelSecurity (the Bell-LaPadula Security Policy Model,the Biba Model, the NRL Pump), Multilateral Security(Compartmentation and the Lattice Model, the ChineseWall, the BMA Model), Protecting e-Commerce Systems.
Module 3: Computer Networks (15 Credits)
This module advances 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.
Module 4: Distributed Systems Architecture (15 Credits)
The main aim of the module is to present 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.
Module 5: High Performance Computing and Big Data (15 Credits)
The main of this module is to provide students witha solid foundation in High Performance Computing(HPC) and its role in data intensive science and engineeringapplications. Topics to be covered in thismodule include Introduction (high performance computing,high throughput computing, highly scalablecomputing), Parallel programming concepts (datapartition and granularity, load balancing, programmingmodels), HPC paradigms (cluster computing, gridcomputing and cloud computing), Shared memoryprogramming (OpenMP), Distributed memory programming(MPI), MapReduce programming model,NoSQL database systems (Cassandra and MongoDB),Cloud computing infrastructures (Amazon EC2 Cloud)and HPC applications.
Module 6: Embedded Systems Engineering (15 Credits)
The main aim of the module is to provide a detailedknowledge of real-time computing for embedded andcontrol computer systems. Topics to be covered inthis module include the design of embedded softwarecomputer systems, embedded system design usinghardware description languages (HDL) such as VHDLin the design of embedded systems, advanced designtools (e.g. System C, MATLAB) to specify, simulate,and synthesize designs; implementations strategiesand 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 FPGAsbased systems will be presented; design of low-cost,high-performance embedded systems; hard and softreal-time computer system design for uniprocessorembedded system applications and distributed realtimesystems; characterising real-time systems, performancemeasure, task assigning, scheduling, faulttolerant scheduling, run-time, real-time data bases,real-time communication (CAN, FlexRay, Realtime-Ethernet) and inter process communication andsynchronization.
Module 7: Project Control and Management (15 Credits)
The main aims of this module are to help studentsdevelop skills in project management including agilemethods (e.g. SCRUM), and to build the capabilitiesfor teamwork.
Module 8: Intelligent Systems (15 Credits)
The main aims of the module are to understand a fullrange of state-of-the-art intelligent systems techniques,and to raise critical awareness of the issues affectingthe performance of intelligent systems. Topics to becovered in this module include Intelligent ComputationTechniques (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 & populationevaluation, constraint handling, learning andevolution; swarm intelligence: particle swarm, antcolony optimisation); Intelligent Data ProcessingTechniques (data classification: supervised learningof classifiers; clustering: fuzzy c-mean clustering; datamining: utilisation of NN and GA to explore newfeatures in the data; genome data processing: geneanalysis based on NN, gene analysis based on NF;signal processing: adaptive filter design using geneticalgorithms); and Applications (bioinformatics, medicalimaging & visualisation, pattern recognition & biometrics,computer vision, future trends).
Master Dissertation (60 Credits)
The project (Master´s dissertation) can be selected bythe student with supervisor support and where possiblewill involve work with the student's company orresearch group. The student presents an original treatmentof the topic, comprising practical and theoreticalcomponents.Upon successful completion of the Master´s dissertation,Brunel University London hands out the universitydegree with the title "Master of Science in DistributedComputing Systems Engineering". With thisMaster´s degree you are in titled to do your PhD.