Generated on Tue Oct 25 10:19:18 2022
CS 496: Cloud and Edge Computing (JSON)
Catalog description: The course presents a top-down view of cloud computing, from applications and administration to programming and infrastructure. Its main focus is on the concepts of networking and parallel programming for cloud computing and large scale distributed systems which form the cloud infrastructure. The topics include: overview of cloud computing, cloud systems, parallel processing in the cloud, distributed storage systems, virtualization, security in the cloud, and multicore operating systems. Students will study state-of-the-art approaches to cloud computing followed by large cloud corporations, namely Google, Amazon, Microsoft, and Yahoo. Students will also apply what they learn through project developments using a Cloud.
Prerequisites: At least a C- in C S 372; background in C S 484/504 is preferred or consent of instructor (Catalog Link)
Credits: 3 (3)
Coordinator: Jay Misra
Textbook: ['Cloud Computing: A Hands-on Approach, Arshdeep Bagha and Vijay Madisetti, (2014) ISBN-13: 978-0996025508', 'Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), first edition, ISBN-13: 978-1118617618, Wiley (recommended)']
(also: online reading)
BS degree role: selected elective
Course Learning Objectives
- The emphasis of the course will be on the understanding the concepts and the engineering trade-offs involved in the design of cloud computing systems
- Cloud deployment models, cloud service models (software-as-a-service, infrastructure- as-a-service, protocol-as-a-service), cloud architecture, cloud-edge security, service level agreements, and load balancing in cloud and datacenters
- Learn about cloud computing, especially what are their fundamental components, how these components interact, and how the technology is evolving for the future (edge computing, cloudlets, mobile edge computing, etc.)
- Be able to summarise the features and associated risks of different cloud deployment and service models
- Design a model or prototype as a solution of the identified problem
Course Practicum Requirements
- Build web applications using a cloud platform
- Connect web applications with back-end cloud databases
- Use the cloud computing for machine learning
Course Topics
- Introduction to Cloud Computing
- Cloud Concepts and Technologies
- Cloud Services and Platforms
- Hadoop and MapReduce Concepts
- Cloud Application Design
- Python for Cloud
- Big Data Analytics
- Multimedia Cloud
- Cloud Application Benchmarking and Tuning
- Cloud Security
Course Improvement Decisions
(Course improvement decisions or recommendations from past assessments)
- none
ABET Outcome Coverage
(Provide Mapping to ABET Student Outcomes)
- An ability to apply knowledge of computing and mathematics appropriate to the discipline (Knowledge Application)
- An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution (Problem Analysis)
- An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs (Design & Implementation)
- An ability to function effectively on teams to accomplish a common goal (Teamwork)
- An understanding of professional, ethical, legal, security and social issues and responsibilities (Professional Responsibility)
- Recognition of the need for and an ability to engage in continuing professional development (Professional Development)
- An ability to use current techniques, skills, and tools necessary for computing practice (Techniques & Tools)
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices (CS Knowledge Application)
- An ability to apply design and development principles in the construction of software systems of varying complexity (Complexity & Scale)
Other Notes
(Any important notes or issues to consider)
- The items below sound like learning objectives, maybe should be moved there:
- Understand the role of cloud computing
- Understanding the role of Internet of Things as a driver for the Cloud
- Understand Cloud Deployment models
- Understand the different cloud service models
- Understand security techniques in cloud
- Be able to summarise the features and associated risks of different cloud deployment and service models
- Design a model or prototype as a solution of the identified problem
- Improve student awarness about advanced topics