605.635.81 - Cloud Computing
Computer Science
Spring 2025
Description
Cloud computing helps organizations realize cost savings and efficiencies without spending capital resources up front, while modernizing and expanding their IT capabilities. Cloud-based infrastructure is rapidly scalable, secure, and accessible over the Internet—you pay only for what you use. So, enterprises worldwide, big and small, are moving toward cloud-computing solutions for meeting their computing needs, including the use of Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). We have also seen a fundamental shift from shrinkwrapped software to Software as a Service (SaaS) in data centers across the globe. Moreover, providers such as Amazon, Google, and Microsoft have opened their datacenters to third parties by providing low-level services such as storage, computation, and bandwidth. This trend is creating the need for a new kind of enterprise architect, developer, QA, and operational professional—someone who understands and can effectively use cloud-computing technologies and solutions. In this course, we discuss critical cloud topics such as cloud service models (IaaS, PaaS, SaaS); virtualization and how it relates to cloud; elastic computing; cloud storage; cloud networking; cloud databases; cloud security; and architecting, developing, and deploying apps in the cloud. The format of this course will be a mix of lectures, and hands-on demos. Upon completing this course, students will have a deeper understanding of what cloud computing is and the various technologies that make up cloud computing, along with hands-on experience working with a major cloud provider. Prerequisite(s): EN.605.202 Data Structures.
Instructor
Course Structure
Course Topics
- Cloud Computing Overview
- Cloud Data Center and Virtualization
- IaaS Cloud Compute
- IaaS Storage
- IaaS Network Services
- IaaS Network and Security Services
- PaaS Application Platform
- PaaS Relational Database
- Project – Putting it All Together
- PaaS Content Delivery Network
- PaaS Big Data Analytics
- Cloud Automation and DevOps
- Software as a Service
- Cloud Security
Course Goals
By the end of this course, you will be able to:
- Compare and Contrast the various cloud service models, cloud delivery models, key cloud characteristics, roles and boundaries and important terminology
- Explain how virtualization technology has enabled cloud computing.
- Demonstrate how various cloud providers such as AWS, Google Compute and Microsoft Azure implement and offer IaaS, PaaS and SaaS services.
- Outline, Classify and categorize how infrastructure components (compute, storage, network, load balancers) are delivered as Infrastructure as a Service
- Develop, deploy, manage and scale applications running in platforms such as Java, Python Platform (PaaS).
- Consume, integrate and extend software services such as Productivity and business applications and other services like database services.
- Describe how cloud can be used to perform Big Data Analytics using distributed computing technologies like Hadoop.
- Cite cloud security concerns and illustrate how to build implement security across all layers.
- Explain the cloud automation concepts such as DevOps practices, Continuous Integration and Deployment and how it automates cloud deployment.
- Identify key architectural principles while designing cloud applications including SLAs, pricing and preventing single-point-of-failures related to cloud.
- Most importantly, hands on experience launching IaaS services such compute, storage and network services, PaaS services, SaaS services, Security and Database services using Amazon Web Services
Textbooks
None. Instead of textbook, you will be required to create an account on Amazon Web Services public cloud using your credit card. Throughout the course you may incur a cost of $50.00, which can be treated, as your practical learning. You can think of this replacing the cost of a book.
Required Software
Putty/Some terminal emulator
You will need to install putty in Windows to log into VMs. If you have Mac, the default terminal program will suffice.
MySQL Workbench
You will need to install Workbench to connect to your Cloud MySQL relational database.
IDE (Eclipse)
You will need to install Eclipse in your computer for building apps that can be deployed in the cloud
Don’t worry about installing any software right now. As we go through the course, at different labs you will be asked to install all the required software. In terms of hardware, you will need a Windows PC or Mac in order for you to do your programming assignments. You should have a modern 64 bit PC or Mac with at least 4 GB RAM (8GB or higher would be preferable) and t least 10GB of free storage available.
Student Coursework Requirements
It is expected that the class will take approximately 6-7 hours per week: watching the videos (approximately 2 – 3 hours per week) as well as some outside reading, module quiz preparation and taking the quiz(1-2 hours per week), and developing and deploying assignments (approximately 2 – 3 hours per week).
This course will consist of four basic student requirements:
Requirement 1: Participation (Class Discussions) (15% of Final Grade Calculation)
In the Discussions area of the course, you, as a student, can interact with your instructor and classmates to explore questions and comments related to the content of this course. Discussions will always close Tuesday, 11:59 P.M. of that week.
A successful student in online education is one who takes an active role in the learning process. You are therefore encouraged to participate in the discussion areas to enhance your learning experience throughout each week.
The discussions will be graded for:
- Frequency — and regularity of your contributions. Students are expected to log into the course and post (respond) in each graded discussion topics on a minimum of two separate days per week. The first post must be done by day 4 (Sunday 11:59 PM EST). The second post may be a response to any of your classmate’s thoughts and must be done by day 7 11:59 PM EST. Two posts are the minimum. Definitely, you can do more because your response may trigger other subsequent response. The goal here is active learning.
- Quality — Content of your contributions. A quality post includes the following:
- Providing additional information to the discussion.
- Elaborating on previous comments from others.
- Presenting explanations of concepts or methods to help fellow students.
- Presenting reasons for or against a topic in a persuasive fashion.
- Sharing your own personal experiences that relate to the topic.
- Providing a URL and explanation for an area you researched on the Internet
- Quality Measurement Breakdown:
Requirement 2: Assignments (39% of Final Grade Calculation)
There will be 12 assignments during the term of 14 weeks. All 12 assignments have equal value of 3% each of the total grade. Sometimes an assignment may have many parts. In such cases, each part has equal value. For example, if module 3 has 5 parts, each part will be 20% of 3%.
The assignment details will be listed in the assignment section of the respective modules.
All assignments are due according to the dates in the Course Outline and Calendar.
Late submissions will be reduced by one letter grade for each week late (no exceptions without prior coordination with the instructors).
Please refer the Assignments Grading Rubric for the grade breakdown for each of the assignments.
Requirement 3: Quizzes (26% of Final Grade Calculation)
There will be 13 quizzes during the term of 14 weeks. The quizzes may be a combination of True/False, multiple choices, fills in the blanks etc. Check the course outline to see the due dates for these quizzes. All quizzes are of equal value. Every quiz will comprise of 20 questions of equal value.
Requirement 4: Class Project (20 % of Final Grade Calculation)
There will be two class projects. Each class project is worth 10% each of the total grade.
Grading Policy
Provide a detailed explanation of your grading policies and outline the scale used for letter grades.
EP uses a +/- grading system, so this will be the scaling system for the class.
| Score Range | Letter Grade |
|---|---|
| 100-97 | = A+ |
| 96-93 | = A |
| 92-90 | = A− |
| 89-87 | = B+ |
| 86-83 | = B |
| 82-80 | = B− |
| 79-77 | = C+ |
| 76-73 | = C |
| 72-70 | = C− |
| 69-67 | = D+ |
| 66-63 | = D |
| <63 | = F |
Course Policies
All assignments are due within one week. Late assignments will lose 10% per week.
Students are expected to submit the following to receive a grade for the course:
- 1 Discussion Questions per week
- 12 Exercise Lab Assignments
- 13 Quizzes
- 2 Class Projects
Not submitting a deliverable will receive a grade of 0 for that activity be it quiz, discussion, assignment, project.
Academic Policies
Deadlines for Adding, Dropping and Withdrawing from Courses
Students may add a course up to one week after the start of the term for that particular course. Students may drop courses according to the drop deadlines outlined in the EP academic calendar (https://ep.jhu.edu/student-services/academic-calendar/). Between the 6th week of the class and prior to the final withdrawal deadline, a student may withdraw from a course with a W on their academic record. A record of the course will remain on the academic record with a W appearing in the grade column to indicate that the student registered and withdrew from the course.
Academic Misconduct Policy
All students are required to read, know, and comply with the Johns Hopkins University Krieger School of Arts and Sciences (KSAS) / Whiting School of Engineering (WSE) Procedures for Handling Allegations of Misconduct by Full-Time and Part-Time Graduate Students.
This policy prohibits academic misconduct, including but not limited to the following: cheating or facilitating cheating; plagiarism; reuse of assignments; unauthorized collaboration; alteration of graded assignments; and unfair competition. Course materials (old assignments, texts, or examinations, etc.) should not be shared unless authorized by the course instructor. Any questions related to this policy should be directed to EP’s academic integrity officer at ep-academic-integrity@jhu.edu.
Students with Disabilities - Accommodations and Accessibility
Johns Hopkins University values diversity and inclusion. We are committed to providing welcoming, equitable, and accessible educational experiences for all students. Students with disabilities (including those with psychological conditions, medical conditions and temporary disabilities) can request accommodations for this course by providing an Accommodation Letter issued by Student Disability Services (SDS). Please request accommodations for this course as early as possible to provide time for effective communication and arrangements.
For further information or to start the process of requesting accommodations, please contact Student Disability Services at Engineering for Professionals, ep-disability-svcs@jhu.edu.
Student Conduct Code
The fundamental purpose of the JHU regulation of student conduct is to promote and to protect the health, safety, welfare, property, and rights of all members of the University community as well as to promote the orderly operation of the University and to safeguard its property and facilities. As members of the University community, students accept certain responsibilities which support the educational mission and create an environment in which all students are afforded the same opportunity to succeed academically.
For a full description of the code please visit the following website: https://studentaffairs.jhu.edu/policies-guidelines/student-code/
Classroom Climate
JHU is committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone has the right to be treated with dignity and respect. Fostering an inclusive climate is important. Research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. At no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity.
If you have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to the course instructor directly. Reporting will never impact your course grade. You may also share concerns with your program chair, the Assistant Dean for Diversity and Inclusion, or the Office of Institutional Equity. In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g. sexual harassment).
Course Auditing
When a student enrolls in an EP course with “audit” status, the student must reach an understanding with the instructor as to what is required to earn the “audit.” If the student does not meet those expectations, the instructor must notify the EP Registration Team [EP-Registration@exchange.johnshopkins.edu] in order for the student to be retroactively dropped or withdrawn from the course (depending on when the "audit" was requested and in accordance with EP registration deadlines). All lecture content will remain accessible to auditing students, but access to all other course material is left to the discretion of the instructor.