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.

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 10-Sep

Introduction, Course Overview, Foundational Concepts

  • Course overview, project, grading, logistics, ...
  • Technical Topics
    • IaaS: server, storage, networking (EC2)
    • Basic security and networking concepts.
    • Introduction to REST, microservices, web applications.
    • Full stack web applications.
2 17-Sep

Platform-as-a-Service, REST

  • Microservices.
  • Elastic Load Balancing.
  • Elastic Beanstalk.
  • Docker, containers, Elastic Container Service.
  • Scale-up vs Scale-out.
  • APIs and API Gateway.
  • REST design principles.
3 24-Sep

Project Reviews and Discussions.

4 01-Oct

DNS/Certificates, CloudFront/CDN, Static Web Sites, OAuth2

  • Basic web architecture (certificates, DNS, ...).
  • CloudFront, single site image.
  • S3 overview and static web sites.
  • IAM, OAuth2, Cognito, security concepts.
5 08-Oct

Lamba Functions, Two-Factor Authentication, Email/Notification, API GW Authorization

  • Function-as-a-Service (Lambda Functions)
  • Simple Email Service, device notification.
  • API Gateway Authorization.
  • Continuing security concepts.
6 15-Oct

Project Reviews and Discussions.

7 22-Oct

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

  • Message Driven Processing, Simple Message Service
  • Pub/Sub concepts, Simple Notification Service, WebHooks.
  • Step Functions
8 29-Oct

No SQL Databases

  • Concepts.
  • DynamoDB.
  • DB Scalability Concepts.
  • Consistency Models.
9 05-Nov

Project Reviews and Discussions.

10 12-November

Using Cloud Services

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

Systems and Application Management, CI/CD

  • Miscellaneous topics in system and application management.
  • Miscellaneous concepts in application development.
  • Design patterns.
  • etc.
12 26-Nov

No Class (Thanksgiving)

13 03-Dec

Project reviews and discussions.

14 10-Dec

Overflow.