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

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)

Course Coordinator: Assoc. Prof. Ibrahim Khalil

Course Coordinator Phone: +61 3 9925 2879

Course Coordinator Email: ibrahim.khalil@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisite

COSC1076 Advanced Programming Techniques 

OR 

COSC1073 Programming 1 

OR

COSC1284 Programming Techniques  

Required prior study: None

Assumed knowledge:  It is assumed that you have:

 • 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, IBM Bluemix 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
  • Be familiar with cloud programming using Google’s ‘Go’ programming language
  • 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 Blackboard 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 practical assignment work, lab tests, and a final examination.

The practical assignment work is project-based and conducted in teams. Your team is required to select a cloud computing related problem, and once approved by course coordinator, your team is required to analyse and propose innovative solutions. Effective communication and teamwork should be evidenced in your project demonstrations and/or presentations and report writing.

Further to this, skills and knowledge should be demonstrated in your lab tests as well as your final examination.

For standard assessment details, including deadlines, weightings and requirements relating to Computer Science and IT courses see: http://www.rmit.edu.au/compsci/cgi 

 Note: This course has no hurdle requirements.

 

Assessment tasks

 

Assessment Task 1: Practical Problem-Solving Tasks 

Weighting 15%

This assessment task supports CLOs 1 and 2

Assessment Task 2: Practical Problem-Solving Project  

Weighting 35 %

This assessment task supports CLOs 3-6

 

Assessment Task 3: Examination

Weighting 50%

This assessment task supports CLO 1-6