Skip to main content
School of Electronic Engineering and Computer Science

Mr Saeid Ghafouri


Room Number: Engineering, Eng 109


Big Data Processing (Undergraduate)

Parallel computing, which implies the simultaneous execution of several processes for solving a single problem, is a mainstream subject with wide ranging implications for computer architecture, algorithms design and programming. The UK has been at the forefront of this technology through its involvement in the development of several innovative architectures. Queen Mary has been actively involved with Parallel Computing for more than a decade. In this module, you will be introduced to parallel computing and will gain first hand experience in relevant techniques. Laboratory work will be based on the MPI (Message Passing Interfaces) standard, running on a network of PCs in the teaching laboratory. The module should be of interest to Computer Scientists and those following joint programmes (eg CS/Maths, CS/Stats). It is also suitable for Chemistry and Engineering students and all those who are concerned with the application of high performance parallel computing for their particular field of study (eg Simulation of chemical Behaviour). The 12-week module involves two hours of timetabled lectures per week. Laboratory sessions are timetabled at two hours per week, normally spanning half the semester only. The module syllabus adopts a hands-on programming stance. In addition, it focuses on algorithms and architectures to familiarise you with messagepassing systems (MPI) as adopted by the industry.

Cloud Computing (Postgraduate)

Cloud Computing has transformed how services and applications are delivered. Thanks to the rise of virtualisation technology and new programming paradigms, applications can quickly be delivered to a growing audience, without the need to physically own and configure the infrastructure. The Cloud Computing module will cover the main characteristics of Cloud Computing, including the enabling technologies, main software and service paradigms underpinning it, as well as related aspects, namely security, privacy, ethical concerns

Distributed Systems (Postgraduate/Undergraduate)

The Internet interconnects billions of machines, ranging from high end servers to limited capacity embedded sensing devices. Distributed systems are built to take advantage of multiple interconnected machines and achieve common goals with them. The module will cover the fundamental concepts and technical challenges of building distributed systems. The topics will include the characteristics of network communications for applications, application-level communication protocols, the concept of synchronization (implications, role of consistency modes and protocols), as well as the impact of data replication, and options for tolerating failures.

Machine Learning (Postgraduate)

The aim of the module is to give students an understanding of machine learning methods, including pattern recognition, clustering and neural networks, and to allow them to apply such methods in a range of areas.


Back to top