Course Description:
This course teaches cloud computing concepts and cloud programming skills
on real cloud platforms(e.g., AWS).
The goal of this class is to let you be able to implement a diverse range
of applications in a short period time by taking advantage of a cloud
platform. Therefore, a final project will be taken place in the form of a
hackathon event.(Explain in details below.), and some coding assignments will
also be given after each lab. We will arrange visiting tour to some cloud
companies.


Course Agenda:
PartI: Introduction (All lectures)
(1)Cloud Computing Intro
(2)AWS Intro

PartII: Public Cloud Platform: AWS (All labs)
(1) Administration management: IAM
(2) Basic Compute: EC2
(3) Elastic System Architecture: ELB, Auto-scaling, Cloud Watch, SNS
(4) Multi-tier System Architecture: S3, RDS, SQS
(5) Auto-deployment: Beanstalk
(6) Serverless System Architecture: Lambda
(7) AWS Programming SDK: Java, javascript, Python
(8) Mobile Applications: Cognito, API Gateway, Mobile SDK
(9) IoT Applications: IoT platform

PartIII: Container & Kubernetes (All labs)

Grading:
70% Lab assignments
30% Final Project (Start from the last month of the semester)
Part I(10%): Hackathon(A topic will be given, and you(as a team) need to
implement its application on one of the cloud platform in 12 hours.)
Part II(10%): Presentation in the class
Part III(10%): Code review by demo

Prerequisite:
None. But you should be good at programming, and the main programming
language in this class will be Python (with some Java and web programming).
You ALSO have to apply your own AWS education account in order to participate
in
this class.

Project demonstrations from last year:
https://www.youtube.com/watch?
v=D5zGeFtmIx0&index=3&list=PLjDTfVVV3qgzIh5V0VP3KaXpkPJahx8fr
https://www.youtube.com/watch?
v=B1JDpl6juq4&list=PLjDTfVVV3qgzIh5V0VP3KaXpkPJahx8fr&index=12