Updates on the campus response to coronavirus (COVID-19)

ECE Course Syllabus

ECE4150 Course Syllabus

ECE4150

Cloud Computing (2-0-3-3)


CMPE Degree
This course is Elective for the CMPE degree.

EE Degree
This course is Elective for the EE degree.

Lab Hours
0 supervised lab hours and 3 unsupervised lab hours

Course Coordinator
Madisetti,Vijay K

Prerequisites
CS1301 or equivalent

Corequisites
None

Catalog Description
Cloud computing technologies, computation models, and applications; design methodologies for cloud applications; use of cloud-based languages and tools in developing advanced applications.

Textbook(s)
Arshdeep Bahga, Vijay Madisetti, Cloud Computing: A Hands-On Approach (1st edition), CreateSpace Independent Publishing Platform, 2013. ISBN 9781494435141 (required)


Course Outcomes
Upon successful completion of this course, students should be able to:
  1. Distinguish between several alternatives for cloud solutions and make a choice based on key performance metrics
  2. Analyze different choices for implementation and deployment and recommend a suitable solution for an enterprise client.
  3. Predict the impact of design choices for storage, computing and networking options on security, cost, performance and reliability of cloud-based implementations

Student Outcomes
In the parentheses for each Student Outcome:
"P" for primary indicates the outcome is a major focus of the entire course.
“M” for moderate indicates the outcome is the focus of at least one component of the course, but not majority of course material.
“LN” for “little to none” indicates that the course does not contribute significantly to this outcome.
  1. ( LN ) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  2. ( LN ) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  3. ( M ) An ability to communicate effectively with a range of audiences
  4. ( LN ) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
  5. ( M ) An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
  6. ( P ) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  7. ( P ) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Topical Outline
Covers an introduction to cloud computing and the basic technologies that form the foundations of cloud computing.  You will learn to use Python in the context of Cloud Computing

Introduction to Cloud Computing
Cloud Models
Cloud Compute, Storage and Database Services
Cloud Application Services
Content Delivery Services
Case Studies
Virtual Machines and Compute Services
Amazon EC2 Scaling and Load Balancing
Amazon Virtual Private Cloud
Cloud Application Services 
Python Restful Web APIs
Python Web Frameworks ? Django
Serverless Applications
AWS Lambda
Severless Models
Amazon Storage Services (S3, EFS, EBS)
AWS Storage Gateways
SQL and No-SQL Databases
Amazon Redshift, DynamoDB, HBase, MongoDB, Neo4j
Queues and Connectors
Cases Studies ? Air Monitoring using different AWS solutions
Batch and Stream Analytics
HDFS, MapReduce, Hadoop, Pig, Ozzie
Case Studies
Real-Time Analytics ? Apache Spark, Storm, and Flink
Cloud Benchmarking
Cloud Security
AWS Well-Architected Framework ? Reliability, Security, Operational Excellence, Cost, Performance Pillars
AWS Cloud Services ? Route 53, CloudFront, Trusted Advisor, SNS, SWF, CloudTrail, CloudFormation, AWS Elastic Beanstalk, KMS, IAM
Case Studies Illustrating WAF