Master qualifying

Course categoryPost Graduate

Master qualifying 

4CPS509: Honours Research Project

Course categoryPost Graduate

The Honours Research Project is a compulsory computer Science Honours degree component.  The project consists of a substantial piece of independent research or software engineering (programming) over the year (two semesters) under the guidance of an academic supervisor(s), with a final mini-dissertation and other project deliverables.

The student must demonstrate skills appropriate to the project, including literature survey, the software engineering process, testing and evaluation, and documenting and presenting results. There is the expectation of nontrivial or a significant amount of code to be written.

The project may be self-proposed or may be selected from a list of project proposals.

Each project will be supervised by at least one CS academic staff member.

A small number of introductory lectures are given at the start of the project.


4CPS505

Course categoryPost Graduate

4CPS505-B

Course categoryPost Graduate

The purpose of this module is to introduce students to the fundamental Big data and its concepts. Students will be exposed to different types of data and tools required in Big data analytics.


4CPS501-B Cloud Computing Systems

Course categoryPost Graduate
The Course is about how the aspect of Operating Systems called virtualization is used to deliver metered and monitored on-demand services called IaaS, PaaS and SaaS to Clients in an elastic and scalable manner. The purpose is stimulating the interest of the students in addressing the various challenges facing this model; of Computing as novice researchers. Module Outcomes are summarized as: i. Demonstrate an understanding of the Operating Systems and related Concepts behind the Model of Computing called Cloud Computing Systems. ii. Develop an in-depth understanding of the concept of virtualization and SLA management and how they are used to take advantage of multi-core architectures in Data Centre Ecosystems. iii. Gain experience with key components of Cloud Computing development and research Tools including Experimental Systems and Discrete Event Simulators during the delivery of the Course.

SCPS501-A

Course categoryPost Graduate

In recent years, large distributed systems have taken a prominent role not just in scientific inquiry, but also in our daily lives. When we perform a search on Google, stream content from Netflix, place an order on Amazon, or catch up on the latest comings-and-goings on Facebook, our seemingly minute requests are processed by complex systems that sometimes include hundreds of thousands of computers, connected by both local and wide area networks. Distributed systems help programmers aggregate the resources of many networked computers to construct highly available and scalable services.

Recent research in the field of Distributed Systems have described several solutions for managing large-scale data and computation. However, building and using these systems poses a number of more fundamental challenges: How do we keep the system operating correctly even when individual machines fail? How do we ensure that all the machines have a consistent view of the system’s state? (and how do we ensure this in the presence of failures?) How can we determine the order of events in a system where we can’t assume a single global clock? Many of these fundamental problems were identified and solved over the course of several decades.

This class provides an overview of influential research that provided the basis of most large-scale, cloud infrastructures today. Students read, review, and discuss papers on important distributed systems topics, including distributed consensus, consistency models and algorithms, service-oriented architectures, large-scale data storage, and distributed transactions, big-data processing frameworks, and distributed systems security.