Syllabus

Note:

The syllabus is currently a draft and evolving. We will also adapt based on progress during the semester and on student feedback/project progress.

Topics to Add:
  • GraphQL, Amplify, AppSync
Lecture Schedule

Lectures can cover material and concepts much faster than students can realize in their project development. So, the class will have the following cadence for lectures:

  • Two weeks of lectures introducing topics and technology.
  • One week using the lecture session to discuss and review projects, resolve issues, etc.

Previous experience in the course suggests that the schedule below is likely to change.

  • Student interests, questions and issues cause reordering.
  • Students get stuck on certain concepts in projects.

Lecture No. Date Topics
1 08-SEP

Introduction, Course Overview, Foundational Concepts, IaaS, Microservices

  • Course overview, project, grading, logistics, ...
  • Technical Topics
    • Cloud computing layers and concepts.
    • Microservices, full stack web applications.
    • Infrastructure-as-a-Service, Virtualization
2 15-Sep

REST, Containers, S3, BLOBs

  • Introduction to REST
  • Containers, Docker
  • S3, Blobs
  • Architecture principles
3 23-Sep

Project Reviews, Questions, Review, Discussions.

4 30-SEP

End-to-End Architecture I

  • Internet/web: domains, DNS, certificates
  • Browser content and application delivery: CDN, static content, S3
  • Gateways: firewalls, load balancers, API GW, ... ...
  • Microservices and databases
5 07-OCT

Authentication/Authorization, FaaS, More REST

  • OAuth2, OpenID, SSO.
  • Function-as-a-Service (Lambda Functions)
  • API Gateway Authorization.
  • Security policies.
  • REST and HATEOAS
6 14-Oct

Project Reviews and Discussions.

7 21-Oct

Publish/Subscribe, Message Driver Processing, Workflow/Service Orchestration

  • Simple Email Service, device notification.
  • Message Driven Processing, Simple Message Service
  • Pub/Sub concepts, Simple Notification Service, WebHooks.
  • Step Functions
8 28-Oct

Cloud Databases, No SQL Databases

  • Concepts.
  • DynamoDB, MongoDB, Neo4j.
  • DB Scalability Concepts.
  • Consistency Models.
9 04-Nov

Project Reviews and Discussions.

10 04-NOV

Using Cloud Services

  • API Economy.
  • Address Verification.
  • Payment Services.
  • etc.
11 11-Nov

Systems and Application Management, CI/CD

  • Miscellaneous topics in system and application management.
  • Miscellaneous concepts in application development.
  • CI/CD, infrastructure as code.
  • SW and microservice design patterns.
12 18-Nov

No Class (Thanksgiving)

13 25-NOV

Project reviews and discussions.

14 10-Dec

Overflow.