Course Title: Cloud Computing
Part A: Course Overview
Course Title: Cloud Computing
Credit Points: 12.00
140H Computer Science & Information Technology
Sem 2 2016
Course Coordinator: Assoc. Prof. Ibrahim Khalil
Course Coordinator Phone: +61 3 9925 2879
Course Coordinator Email: email@example.com
Pre-requisite Courses and Assumed Knowledge and Capabilities
Required prior study:COSC1295 Advanced Programming
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.
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.
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 Task 1: Practical Problem-Solving Tasks
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
This assessment task supports CLO 1-6
Please note that postgraduate students are expected to demonstrate knowledge and skills at postgraduate level.