Course Title: Cloud Computing

Part A: Course Overview

Course Title: Cloud Computing

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2626

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Summer2016

COSC2626

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 2 2017,
Sem 2 2018,
Sem 2 2019,
Sem 1 2020,
Sem 1 2021

COSC2638

RMIT University Vietnam

Undergraduate

171H School of Science

Face-to-Face

Viet3 2018,
Viet3 2019,
Viet1 2020,
Viet2 2021

COSC2639

Open Learning Australia

Non Award

171H School of Science

Distance / Correspondence

OUASP2UG21

Flexible Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2626

City Campus

Undergraduate

171H School of Science

Face-to-Face

UGRDFlex17 (ZZZZ)

COSC2626

City Campus

Undergraduate

171H School of Science

Face-to-Face

UGRDFlex18 (ZZZZ)

COSC2626

City Campus

Undergraduate

171H School of Science

Face-to-Face

UGRDFx2019 (ZZZZ)

COSC2626

City Campus

Undergraduate

171H School of Science

Face-to-Face

UGRDFlex21 (All)

COSC2697

OUA CSP

Undergraduate

171H School of Science

Internet

OUACSP2021 (All)

Course Coordinator: Dr. Hai Dong

Course Coordinator Phone: +61 3 9925 3736

Course Coordinator Email: hai.dong@rmit.edu.au

Course Coordinator Availability: By appointment, by email


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisite

COSC1076 Advanced Programming Techniques 

OR 

COSC2391 Further Programming

Required prior study: None

Assumed knowledge:  It is assumed that you have:

  •  basic Python, JavaScript and PHP programming skills
  •  basic understanding of Data Communications and Networking Technologies
  •  basic understanding of College level (or first year undergrad type) Mathematics
  •  ability to write technical reports

Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

 


Course Description

Cloud Computing is a large-scale distributed computing paradigm which has become a driving force for information technology over the past several years. The exponential growth data size in scientific instrumentation/simulation and social media has triggered the wider use of cloud computing services.

This course covers topics and technologies related to Cloud Computing and their practical implementations. You should explore different architectural models of cloud computing, the concepts of virtualisation and cloud orchestration. You should gain hands-on experience with various features of popular cloud platforms such as Google App Engine  and Amazon Web Service throughout the lectures, tutorials, and laboratory sessions. Advanced cloud programming paradigms such as Hadoop’s MapReduce is also included in the course. You should also learn the concept of modern Big Data analysis on cloud platforms using various data mining tools and techniques. The lab sessions cover cloud application development and deployment, use of cloud storage, creation and configuration of virtual machines and data analysis on cloud using data mining tools. Different application scenarios from popular domains that leverage the cloud technologies such as remote healthcare and social networks will be explained. The theoretical knowledge, practical sessions and assignments aim to help you to build your skills to develop large-scale industry standard applications using cloud platforms and tools.

This course focuses on learning emerging issues related to Cloud computing technology. The objectives are:

  • Understand various basic concepts related to cloud computing technologies
  • Understand the architecture and concept of different cloud models: IaaS, PaaS, SaaS
  • Understand big data analysis tools and techniques
  • Understand the underlying principle of cloud virtualization, cloud storage, data management and data visualization.
  • Understand different cloud programming platforms and tools
  • Have details knowledge on reading and writing in cloud storage
  • Be familiar with application development and deployment using cloud platforms
  • Create application by utilizing cloud platforms such as Google app Engine and Amazon Web Services (AWS)
  • Learn to develop scalable applications using AWS features.
  • Learn basic concepts of MapReduce programming models for big data analysis on cloud.


Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course is an option course so it is not required to contribute to the development of program learning outcomes (PLOs) though it may assist your achievement of several PLOs such as:

  • Enabling Knowledge:

You will gain skills as you apply knowledge effectively in diverse contexts.

  • Critical Analysis:

You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to: analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems

  • Problem Solving:

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

  • Communication:

You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

  • Team Work:

You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to: work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.


Course Learning Outcomes

Upon successful completion of this course you should be able to:

  • CLO 1: Develop and deploy cloud application using popular cloud platforms,
  • CLO 2:  Design and develop highly scalable cloud-based applications by creating and configuring virtual machines on the cloud and building private cloud.
  • CLO 3: Explain and identify the techniques of big data analysis in cloud.
  • CLO 4: Compare, contrast, and evaluate the key trade-offs between multiple approaches to cloud system design, and Identify appropriate design choices when solving real-world cloud computing problems.
  • CLO 5: Write comprehensive case studies analysing and contrasting different cloud computing solutions.
  • CLO 6: Make recommendations on cloud computing solutions for an enterprise. 


Overview of Learning Activities

The learning activities included in this course are:

  • Key concepts and basic principles will be explained in lectures with current industry examples of applications and solutions.
  • Tutorials and labs will help students learn the tools and techniques, such as how to use cloud computing tools offered by industry leaders such as Amazon, Google and practice report writing by analysing case studies.
  • Project-based learning, where students will work in a group to analyse and solve industry-related problems with cloud computing solutions
  • Private study, working through the course as presented in classes and learning materials, group discussions (including online forums), and gaining practice at solving conceptual and technical problems.    

 

A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours (48 hours): lectures, tutorials and laboratory sessions. Each week there will be 2 hours of lectures, a 1 hour tutorial and a 1 hour lab session.  You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experience and by presenting solutions to written exercises. The tutorial / laboratory sessions will introduce you to the tools necessary to undertake the assignment work.

Student-directed hours (72 hours): You are expected work independently outside class on understanding the lecture material, solving tutorial problems and completing assignments.    

 

 


Overview of Learning Resources

You should make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through myRMIT. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

The course is supported by the Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci  

 

 


Overview of Assessment

The assessment for this course comprises timed practical Google cloud application Implementation focusing on your application implementation skills using Google cloud technologies, timed practical AWS cloud database application development focusing on your application development skills using AWS cloud database technologies, and timed practical AWS cloud system development project focusing on your cloud system development abilities using AWS cloud technologies and your project teamwork, documentation and communication skills.

 Note: This course has no hurdle requirements.

Assessment Task 1: Timed Practical Google Cloud Application Implementation, weighting 30%
Assessment 1 will focus on developing practical applications where you apply your abilities, Python/PHP programming skills, understanding and knowledge on the topics that include Google App Engine, Google Cloud Storage, Google Datastore/Firestore, Goog BigQuery, etc. Assessment 1 is conducted individually. You will be required to demonstrate your implemented applications to teaching staff.

This assessment task supports CLOs 1, 2

Assessment Task 2: Timed Practical AWS Cloud Database Application Development, weighting 20%
Assessment 2 will focus on developing a practical cloud base application where you apply your abilities, system design skills, programming skills, understanding and knowledge on the topics that include EC2, S3, Elastic Beanstalk, RDS, DynamoDB, etc. Assessment 2 is conducted individually. You will be required to demonstrate your implemented application to teaching staff.

This assessment task supports CLOs 1, 2

Assessment Task 3: Timed Practical AWS Cloud System Development, weighting 50%
Assessment 3 will focus on developing a practical and comprehensive cloud system where you apply your abilities, system design skills, programming skills, problem solving skills, communication and teamwork skills, project documentation writing skills, understanding and knowledge on the topics that include EC2, S3, Elastic Beanstalk, RDS, DynamoDB, EMR, Lambda, ECS, API Gateway, etc. Assessment 3 is conducted in teams. Each team is also required to write a project report and presentation slides for your project demonstration. Effective communication and teamwork should be evidenced in your project demonstrations and/or presentations and report writing.

This assessment task supports CLOs 1 -- 6.