The module will introduce concepts of distributed computing systems and how to develop and deploy modern applications on the Cloud. Further, the students will develop understanding on using big data processing frameworks such as the Hadoop MapReduce.
This module aims to introduce back-end cloud computing techniques for application deployment and processing "big data" by developing scalable systems.
The module will include:
- Lecture classes: Students will develop theoretical understanding of the concepts.
- Demonstrations: Showcases of practical aspects (e.g. application deployment on public cloud providers).
- Lab sessions: A significant amount of class time will be spent in lab sessions and practical work.
The module syllabus includes:
- Cloud computing concept
- Use of Linux environments
- Cloud services and Virtualization
- Web services and REST
- Using Python for developing services
- Distributed and parallel systems
- Cloud data storage systems
- NoSQL systems
- Container systems
- Service Oriented Architectures
- Introduction to Big data and Hadoop-Map Reduce framework
- Hadoop Map-Reduce application development
- Scaling Cloud applications
- Introduction to the Internet of Things using Cloud systems
Good knowledge of object-oriented programming in Python would be necessary.
MSc students who did not have much experience in software development before joining their respective postgraduate programmes should have already taken the Principles of Programming I (POP1) module.
All dates and timetables are listed in the programme handbooks of individual programmes.
One programming coursework with a report on developing Cloud based services.
Coursework (20%). Examination (80%).