About the Course

Course Objectives


  • Have fun, learn a lot and come to appreciate and enjoy some amazing technology. Cloud computing, software-as-a-services, etc. continue to be some of the most innovative and dynamic areas in computer science.
  • Provide a foundation that allows you to succeed in continued learning on cloud/software, and also to be able to design, develop, deploy and manage modern cloud native applications. This foundation will help you succeed in internships and the job market.
  • The course will provide understanding and practical experience with:
    • Infrastructure-as-a-Service.
    • Platform-as-a-Service.
    • Software-as-a-Service and multi-tenant applications.
    • Database-as-a-Service.
    • Function-as-a-Service.
    • Microservices.
    • Full stack web applications.
    • Continuous Integration/Continuous Delivery.
    • Event Driven Architectures.
    • Message Driven Architectures.
    • Service Orchestration/Workflow.
    • Security Concepts and OAuth2.
    • API Gateways and API Management.
    • Agile Development.
    • Content Delivery.
    • Lots of other cool stuff.

Projects


Students will get practical experience applying course concepts in a team project using Agile Development. The team size is approximately 5 students. Students can choose the application they want to develop as long as it covers all of the class topics.

The final project demo and review with the professor determines the final grade.

Teams will:

  • Submit a written, weekly progress report.
  • Have periodic project demos and reviews the the instructor and TAs.


Technology


The course will primarily use Amazon Web Services. The concepts apply to cloud applications on any modern cloud. Azure, Google Cloud, etc. all have similar concepts.

The students will use the following AWS technology:

  • Elastic Compute Cloud.
  • Elastic Beanstalk.
  • Elastic Container Service.
  • Cloud Databases: RDS, DynamoDB, etc.
  • CloudFront, API Gateway.
  • Simple Notification Service, Simple Messaging Service.
  • Step Functions.
  • CodePipeline CodeBuild, CodeDeploy.
  • CloudWatch.
  • Elastic Load Balancing, Scaling.
  • IAM, Security Groups, Cognito.
  • S3, static web hosting.
  • Route 53, Amazon Certificate Manager.
  • ... ...


-->