CLOUD COMPUTING - 2023/4

Module code: COMM034

Module Overview


The need for computational power and data storage continues to drive demand for more highly capable systems. Highly data intensive applications demand fast access to terabytes, petabytes, even exabytes of storage; processor intensive applications demand access to various types of processors in various configurations. Such applications are increasingly being developed in both scientific and industrial contexts and need to be variously scalable and supportable for large numbers of geographically distributed users. This module will provide insights into how Cloud Computing attempts to meet the varying needs of such applications.

Module provider

Computer Science and Electronic Eng

Module Leader

GILLAM Lee (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 7

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 62

Lecture Hours: 22

Laboratory Hours: 22

Guided Learning: 22

Captured Content: 22

Module Availability

Semester 2

Prerequisites / Co-requisites

None

Module content


  • Defining Cloud Computing and placing it in the context of related systems

  • Understanding and using Cloud Technologies

  • Developing Cloud applications

  • Persistence, Storage, and Data Clusters

  • Justification for Cloud Computing in scientific and industrial contexts

  • System, Data and Application Security

  • Price-related performance of Cloud Systems

  • Legislative, Regulatory, and Environmental aspects of Cloud Computing


Assessment pattern

Assessment type Unit of assessment Weighting
Coursework COURSEWORK 100

Alternative Assessment

N/A

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate that they have achieved the module learning outcomes.

Thus, the summative assessment for this module consists of:


  • Coursework: one individual coursework addressing both theoretical and practical tasks, involving implementation in software, covering all learning outcomes



 

Formative assessment and feedback

Formative feedback is provided in timetabled lab sessions and through other opportunities for interaction; several weeks of lab sessions support resolving implementation issues within the coursework.

Module aims

  • The aim of this module is to provide a practical introduction to applications which place significant and varying demands on computational resources, with a focus on the emerging topic of Cloud Computing. Current considerations of Clouds are variously all-encompassing. The module will introduce the key concepts of Clouds and address relationships to other distributed computing paradigms such as Grids, High Performance Computing (HPC) and Peer to Peer (P2P) systems for computationally-intensive and data-intensive applications. Technologies variously used for Clouds in a variety of academic and industrial contexts (e.g. Amazon EC2/Lambda/EMR/IAM, Google App Engine, Apache Hadoop, Condor) will be introduced to demonstrate principles and concepts including architectures, systems, supporting software applications, resource management and information services.

Learning outcomes

Attributes Developed
1 Articulate an understanding of the need for and evolution of Cloud Computing and the various challenges involved KC
2 Critically evaluate technologies such as Amazon EC2, Google App Engine and Apache Hadoop in specific industrial and academic contexts KCT
3 Demonstrate a critical appreciation of related approaches, technologies and systems KC
4 Contrast and evaluate architectures, key characteristics, and requirements of Cloud infrastructures KCT
5 Specify, design, implement and critically evaluate solutions to data or computationally intensive problems by applying relevant knowledge of architectures, systems and software KPT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to achieve the module aims.

The learning and teaching methods include:


  • Lectures in the form of captured content

  • Pre-prepared computing labs

  • Supported lab-based and student-led coursework development

  • Research tasks set in lectures in preparation for subsequent lectures, including guided background reading



Students will also be expected to undertake self-study and to prepare appropriately for assessment.

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: COMM034

Other information

Digital Capabilities
Cloud Computing is currently one of the most in-demand industry areas with applications in many contexts such as finance, IT, science and health. They are a key component of many modern-day IT systems, and this module provides a solid technical grounding in cloud systems that are scalable and supportable for large numbers of geographically distributed users.  This module teaches both the theoretical underpinnings and provides a practical introduction to developing software for Cloud-based systems.

Employability
Cloud Computing knowledge is  in high demand in industries such as finance and heath. This module will provide the theory and practical skills developing for Cloud-based systems that will allow graduates to apply for these specialist roles. The mix of theory and hands on skills provide an understanding of the fundamental principles of cloud critical to understanding new developments in the area and the practical skills to develop systems that use these technologies.

Global and Cultural Skills
Computer Science is a global language and the tools and languages used on this module can be used internationally. Cloud systems by definition are distributed systems and this module allows students to develop skills that will allow them to reason about and develop applications with global reach and collaborate with their peers around the world.

Resourcefulness and Resilience
This module teaches both the theory and practical skills to allow students to work with Cloud-based systems in a secure manner. It provides the tools to  reason about the complex hardware and software for distributed architectures and solve technical challenges by developing solutions that take advantage of the strengths of cloud systems.

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2023/4 academic year.