The University of Wisconsin-Milwaukee offers special topics courses in their graduate-level Computer Science program. Through a contact with a former professor, I was given the opportunity to create and teach a special topics course in Cloud Computing as an adjunct professor.
I wrote and taught a Cloud Computing course in each to two semesters: Fall 2022 and Fall 2023. Each course required separate development and testing of hands-on projects with detailed step-by-step instructions for students to complete the projects and submit their work. There were 5 projects in 2022 and 4 projects in the 2023 edition. Each time, I provided 15 weeks of twice-a-week lectures to cover cloud computing concepts and do a deep dive into each of the projects. I created a WordPress blog site which allowed students to publish blog articles on topics of their choice (2022) and to showcase their semester-long project results (2023).
The main features that make these courses unique are:
The 2023 edition featured the “Not Quite Trivial” (NQT) application – an application with several facets that can be deployed using IaaS, PaaS, and Serverless with minimal modification. It serves to emphasize the differences between IaaS, PaaS and Serverless technologies.
Azure topics included were: Virtual Networks and Subnets, Virtual Machines, NSGs and firewall rules, NAT Gateways, Azure Functions and Triggers, App Service, Storage Accounts, Blob Storage, Queue Storage, Private Endpoints, Service Endpoints, VNet Peering, Private DNS zones, and more.
AWS topics included were: VPCs and Subnets, EC2 Instances, NSGs and firewall rules, Elastic Beanstalk, Lightsail Instances and Databases, Simple Storage Service (S3), Event Bridge, Lambda Functions and Layers, Lambda Execution Roles, Cloudwatch Monitoring, Simple Queueing Service (SQS), and more.
General topics included were: SSH key pairs, Auth Agent Forwarding, public vs. private IP addresses, network routing tables, TLS certificates, systemd services, apt package manager, reverse proxy servers, cloud programming models, consolidated logging with rsyslog, jump servers, REST APIs, JWT authentication, NoSQL databases, cache servers, asynchronous messaging, and more.
41 students enrolled in and completed each of the two courses (82 total students). 2022 edition students wrote 120+ blog articles and posted to blog site. 2023 edition student teams implemented 12 different cloud-based projects and described their work in 12 blog articles on the blog site. Student feedback/reviews from both courses were extremely positive.