Scheduled Meeting Times
|
Introduction to Internet and cloud computing. Evolution of computing
paradigms. Cloud capabilities and deployment and service models.
Virtualization. Computer engineering aspects of cloud computing. The web
and its technologies. Connecting computer-based systems to the Internet,
web, and/or cloud. Hands-on activities and project.
Course Objectives
i.
To expose
students to the design principles, system architectures, and innovative
applications of Internet-based embedded systems.
ii.
To equip students with the necessary
knowledge and skills to leverage the Web as a platform for building
distributed systems.
iii. To assist students to
understand the idea of computing as a utility (or computing-as-a-service)
and its enabling technologies
Course Learning Outcomes
After completing the course, students should be able to:
i.
Identify problems
and opportunities that are likely to result from combining the areas of
embedded systems and Internet technologies.
ii.
Integrate Internet
technologies with embedded applications.
iii.
Develop and
architect (and/or assemble) scalable Internet services and applications.
References
·
Dan Marinescu, "
Cloud Computing: theory
and practice", Elsevier, 2013.
·
Kurose, Ross, "Computer
Network: A top-down approach featuring the Internet”
·
Various technical
articles
Grading Policy
·
Class Attendance and
Participation
5%
(-1% for every 2 absences)
·
Quizzes
15%
·
Programming Assignments
20%
·
Midterm
20%
(Week 8 – Tuesday 10/3/20)
·
Final Exam (comprehensive)
20%
(Tuesday 12/5/2020)
·
Project
20%
Tentative Topics and Schedule
Week # |
Topics |
Ref. |
Hands-on |
|
1 |
Introduction
|
-
Review of the TCP/IP stack
-
Web protocol: HTTP, HTTPS
-
Web Browsers |
Slides |
|
2 |
Front-End
Development |
-
Hyper Text Markup
Language (HTML)
-
Cascaded Style
Sheet (CSS)
-
Bootstrap 4
-
JavaScript
-
DOM manipulation
-
JQuery
-
React.js |
Slides |
Github |
3 |
||||
4 |
||||
5 |
Back-End
Development |
-
Node.js
-
Express
-
JSON and XML
-
Databases
(MongoDB)
-
RESTful APIs
-
Authentication:
Oauth and Tokenization |
Slides |
|
6 |
|
|||
7 |
|
|||
8 |
Cloud Computing |
-
What is the
Cloud?
-
Advantage and
disadvantage
-
Service models
-
Cloud Concurrency
Model
-
Parallelism
Levels in the Cloud
-
Serverless
Computing
-
Speedup Vs.
communication delay
-
Cloud Offload |
Slides & Chapters
1-4 |
AWS EC2
AWS Lambda
OpenStack |
9 |
||||
10 |
Cloud Network and
Data Storage |
-
Cloud Access
Models
-
Cloud
Interconnection Network
-
Cloud Data
Storage: HDFS, NoSQL |
Slides & Chapters
5,6 |
AWS S3 |
11 |
Cloud Resource
Management and
Virtualization |
-
Resource
Utilization and Management
-
Scheduling
Algorithms for Cloud Virtual Machines
-
Full
Virtualization and Paravirtualization
-
Containerization:
Dockers and Kubernets |
Slides and
Chapters 9 and 10 |
Docker and
Kubernetes |
12 |
||||
13 |
Cloud
Applications and Big Data |
-
Cloud native
applications
-
The MapReduce
Programming Model
-
BigData and data
streaming applications |
Slides and
Chapters 7 and 12 |
Hadoop and Spark |
14 |
Edge Computing |
-
Edge Computation
Paradigm
-
Mobile Cloud
Computing |
Slides and
articles |
|
14 |
Cloud Security
and Privacy |
-
Security and
Privacy Risks
-
Cloud data
encryption
-
VM security |
Slides and
Chapter 11 |
|
15 |
Final Project
Presentation |