Academic Catalog

C S 55A: INTRODUCTION TO CLOUD COMPUTING IN AMAZON WEB SERVICES

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Advisory: C S 50A.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • A successful student will be able to explain the features of AWS cloud services including computing, global infrastructure and data center deployments.
  • A successful student will be able to create and deploy a basic web server on the AWS platform, enable domain-name services and upload website content.
  • A successful student will be able to describe and explain the cloud computing model, history, vendor perspectives and industry offerings.

Description

This course introduces cloud computing which shifts information systems from on premises computing infrastructure to highly scalable internet architectures using the Amazon AWS platform. The course provides a basic understanding of cloud computing technologies and provides students with the abilities to configure, deploy and manage cloud facilities including simple and complex compute instances, web servers and web services. The course also demonstrates/makes available the AWS Educate platform for educational, industry career path guidance and career opportunities.

Course Objectives

The student will be able to:
A. Understand and describe the cloud computing model, history, vendor perspectives and industry offerings
B. Describe how to obtain and actually obtain an Amazon (AWS) account and an Amazon Educate account
C. Understand the current cloud commercial and technical environments
D. Explain the current AWS cloud services, including computing, global infrastructure and data center deployments
E. Understand and navigate the AWS Management Console to manage AWS services and understand the basics of the Identity and Access Management (IAM) interfaces
F. Describe the basics of AWS services costs, costs management, billing and budgeting basic tools
G. Create a basic web server on the AWS platform, enable domain services and upload website content
H. Demonstrate how to implement an example web service (AWS Polly), access it and understand pricing
G. Understand AWS Elastic Compute Services, including instance types, machine images and pricing
I. Explain the purpose and use of the AWS Elastic Cloud (EC 2)
J. Demonstrate how to utilize AWS educational and career offerings

Course Content

A. Cloud computing fundamentals
1. History
2. Business drivers
3. Basic concepts and terminology
4. Goals/benefits
5. Risks and challenges
6. Vendor perspectives
7. Infrastructure as a service (IaaS)
8. Platform as a service (PaaS)
9. Software as a service (SaaS)
B. AWS access
1. AWS account acquisition
2. AWS Educate account acquisition
C. Cloud adoption
1. Current state of the cloud
2. Business benefits and challenges of cloud services
3. Cloud services offerings in the marketplace
4. Case studies of AWS customers
D. Cloud services from AWS
1. Computing with AWS
2. The AWS platform
3. AWS global infrastructure
4. Data center concepts
E. Managing the AWS platform
1. Understanding the AWS management console
2. AWS Identity and Access Management (IAM)
a. Understanding the IAM
b. IAM user management
F. AWS budgets and alarms
1. Free tier offering
2. Establishment of budgets
3. Creation of billing alarms
4. Billing estimation and monthly calculator
G. Hosting a static website in AWS
1. Creating buckets for website objects
2. Configure root domain bucket
3. Enable logging of website
4. Uploading of website content
5. Enabling bucket redirections
6. Testing/debugging of website
H. Introduction to web services
1. AWS Polly service introduction
2. Using AWS Polly
3. AWS Polly pricing
4. AWS Polly technology demonstration
I. Amazon AWS Elastic Compute Cloud (EC2) Services
1. Elastic web-scale computing
2. Administration
3. Integration with AWS services
a. Amazon Simple Storage Service (S3)
b. Amazon Relational Database Service (RDS)
4. EC2 instance types
5. EC2 machine images
6. EC2 pricing
7. Creation of a WordPress site using EC2
J. AWS Educate Platform introduction
1. Features
2. Career pathways
3. Learning plan
4. Career opportunities

Lab Content

A. Investigate the AWS and AWS Educate website and create accounts for the class
B. Current applications of the cloud
1. From the listing of Amazon Customer Case Studies (aws.amazon.com/solutions/case-studies/all/) select one customer from each of the five different categories (Big Data, Enterprise, Government/Non-Profit, Startups, Web/Mobile Apps)
a. Describe how they are making use of the AWS platform
b. Identify their Cloud Maturity Level as defined here: www.rightscale.com/
c. Explain your reasoning behind why you picked the maturity level you did
d. As described by the customer, what were some of the benefits they received by moving to cloud? What were some of the risks they faced?
C. Create and configure an AWS Identity and Access Management (IAM) user account
D. Create an AWS budget
E. Create a simple website in AWS
F. Use Amazon Polly service to create text to speech for your website
G. Use Amazon EC2 Services to create an EC2 WordPress instance

Special Facilities and/or Equipment

A. Access to a computer with a web browser compatible with the Foothill learning management system.
B. A learning management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on campus (i.e., face-to-face) offerings.
C. The college will provide a fully functional and maintained course management system through which the instructor and students can interact.
D. Students must have email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

Methods of Evaluation may include but are not limited to the following:

A. Tests and quizzes
B. Written laboratory assignments which include detailed instructions, sample runs and documentation
C. Final examination

Method(s) of Instruction

Methods of Instruction may include but are not limited to the following:

A. Lectures which include motivation for the architecture of the specific topics being discussed.
B. In-person or online labs (for all sections, including those meeting face-to-face/on campus), consisting of:
1. An assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each assignment and submit their completed lab work.
2. A discussion webpage located on a college-hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members.
C. Detailed review of laboratory assignments which includes model solutions and specific comments on the student submissions.
D. In person or online discussion which engages students and instructor in an ongoing dialog pertaining to all aspects of designing, implementing and analyzing programs.
E. When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment.
2. Additional instructional guidelines for this course are listed in the attached addendum of C S department online practices.

Representative Text(s) and Other Materials

Ryan, M., and F. Lucifredi. AWS System Administration. O'Reilly Publishers, 2018. ISBN-13: 978-1449342579.
Sarkar, Aurobindo, and Amit Shah. Learning AWS: Design, Build, and Deploy Responsive Applications using AWS Cloud Components, 2nd ed. Packt Publishing, 2018. ISBN-13: 978-1787281066.
 

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

A. Reading:
1. Textbook assigned reading averaging 30 pages per week.
2. Reading the supplied handouts and modules averaging 10 pages per week.
3. Reading online resources as directed by instructor though links pertinent to programming.
4. Reading library and reference material directed by instructor through course handouts.
B. Writing:
1. Writing technical prose documentation that supports and describes the programs that are submitted for grades.
 

Discipline(s)

Computer Science