Course Information (Fall 2019)


Tejas Parikh is a Senior Service Reliability Engineer at Red Hat and Part-Time Lecturer at Northeastern University. He received a Master of Science in Computer Science from Northeastern University and Bachelor of Science in Computer Science with minor in Mathematics from Eastern Michigan University. He has been working on cloud computing technologies for more than 5 years. He led the Operational Visibility team when he was working on IBM Watson Developer Cloud Platform focusing on centralized logging, monitoring, metrics, health check, alerting, and billing services. The past few years he has been focused on containers, container orchestration, and hybrid cloud architecture and design. He is passionate about all things open source, Linux, automation, cloud, containers, Kubernetes and OpenShift.

Contact Details

Name Email Office Hours GitHub Id
Tejas Parikh By Appointment Only tejasparikh

Teaching Assistant(s)

Name Email GitHub Id Calendly (Grading Slots)
Vrushali Shah vrushali-shah Book Appointment
Zheng Liu FlyFlyZheng Book Appointment
Rahul Zore rahulzore Book Appointment

TA Office Hours

  • TBD



CRN Section # Building & Room # Campus Time Days
16826 1 West Village F 020 Boston 6:00pm - 9:30pm Thursday
16927 5 - Online - -


You are expected to regularly attend lectures. Lecture attendance will be taken using Qwickly Attendance.


Lecture slides will be posted on the course website before the lecture. To view slides, students must login to Office 365 with their Microsoft Student Advantage account. Office 365 (Microsoft Student Advantage) access details can be found here.

Course Prerequisites

CSYE 6200 or INFO 5100

Course Description

This graduate-level course covers topics and technologies related to cloud computing and their practical implementations. You will gain hands on experience with various feature of popular cloud platforms such as Google Cloud Platform, Amazon Web Services, Microsoft Azure, etc. We will explore different models, techniques and architecture of cloud computing and prepare you to meet current market demands. The lectures and assignments aim to help you develop skills to build, maintain and operate highly available, highly reliable, cloud native applications deployed using continuous deployment pipeline. You will also learn Linux system administration, networking fundamentals, polyglot programming, polyglot persistence with RDBMS and NoSQL databases, source control management using git, microservices architecture and serverless computing.

Course Goals

  1. Understand basic concepts related to cloud computing.
  2. Understand cloud architecture and different cloud models such as IaaS, PaaS & SaaS.
  3. Obtain hands on knowledge about Linux system administration and networking fundamentals.
  4. Compare different cloud platform providers such as Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform.
  5. Understand cloud storage options such a file storage, CDNs, Relational Databases, NoSQL databases, etc.
  6. Learn to develop scalable applications using various AWS features such as auto scaling and load balancing.
  7. Learn to secure application using SSL and protect user data against attacks such as XSS, CSRF and SQL injection.
  8. Hands on experience with microservices & APIs.
  9. Have understanding of Agile development, Git version control system, Continuous Integration and Deployment using tool like TravisCI.
  10. High level understanding of DevOps and Site Reliability Engineer (SRE) role.

Textbooks & Required Readings

Check here for more details.

Required Tools & Software

Check here for more details.


Students will be assigned lab assignment at the end of each lecture. Assignment due date will be posted with each assignment.


Given that an assignment is due every week and part of your group project, if you fall behind on an assignment, it will be extremely difficult to catch up as the next assignment depends on it.

Term Project

Term project will be cumulation of assignments assigned throughout the course. Students will work in team and will present the project in class at the end of the semester.


To learn the material of the course you are expected to attend class and actively participate in group exercises and help your peers by answering their questions on group discussion. Course grades will be based on participation, assignments, exams, and presentation of your group project.


Given that an assignment is due every week and part of your group project, if you fall behind on an assignment, it will be extremely difficult to catch up as the next assignment depends on it.

Midterm and Final exam must be taken at the time and location determined by the schedule and announced in class. Make up exams will be permitted only for exceptional circumstances in accordance with the university and department policy.

Assignment Grading

  • First thing to note for assignment grades is that while the work for assignment is done in groups, students are graded individually based on their demo and thus each team member can end up with a different score for same assignment.
  • Each student will be assigned a TA for assignment grading. Assignment page will provide link to document to find assigned TA.
  • Students will book an appointment with TA via Calendly link provided on course website once they have identified which TA will be grading their assignment.
  • While Calendly will allow you to cancel appointments at any time, cancellations of appointment less than 24 hours away may incur penalty of 5% for the assignment.
  • TAs will time box demos to appointment period (20-30 mins). It may be assumed that student did not meet all assignment objectives if assignment demo cannot be finished in allocated time. I would recommend showing up bit early for grading appointment and getting laptop/VM setup and ready for demo.
  • It is not appropriate use of demo time to debug / diagnose / fix issues in assignment. Deadline has already passed and fixes applied during demo will not help with grading.
  • TA will provide you feedback on the demo and list any assignment objective that you may have missed. You are expected to meet them in next assignment.

Method of Evaluation


Grading will be based on absolute grading system. In this grading system, a range of point value is assigned to a letter grade. The grading is absolute, irrespective of the grade of other students in the class. I do not round scores to the closest percentage.

Activity Percentage
Presentation / Demo 10%
Final Exam 20%
Assignments 70%

Individual Assignment Weightage on Course Grade

Assignment # Percentage
01 0%
02 5%
03 3%
04 10%
05 7%
06 5%
07 20%
08 20%

Grading Scheme

For this course we will use following grading scheme to determine your final letter grade.



Students will be automatically enrolled to Piazza at the begining of the semester.

We will use Piazza for class discussion. The system is highly catered for getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.

Find our class page at:

Email & Piazza SLA

Both email and Piazza provide asynchronous forms of communication so don’t expect instant reply. We will do our best to reply to you in 24 hours from Monday thru Saturday. Piazza posts about assignments posted night before the assignment is due may not get reply until it is too late.

Piazza Class & Email Settings

Announcements will posted on Piazza (and sent out via email) and you will be expected to have read it. For this to function well, it is critical you become aware of new postings to Piazza ASAP. To make sure you get notified in real time, update your class & email setting.


  • If you decide to post a question, be sure to search first incase if it has already have been asked and answered. If you do post a new question, provide as much detail as possible, without sharing code from your solution.
  • You are encouraged to read others questions and answers for your own benefit.

Getting Help

There are several resources to get help outside of class. For questions about assignments, course material, exams, etc. try one of the following:

  1. Visit the TA during office hours.
  2. Post a Question on Piazza

For matters that concern your individual academic performance, please contact the instructor directly via email or in person after lecture.

Academic Integrity

A commitment to the principles of academic integrity is essential to the mission of Northeastern University. The promotion of independent and original scholarship ensures that students derive the most from their educational experience and their pursuit of knowledge. Academic dishonesty violates the most fundamental values of an intellectual community and undermines the achievements of the entire University.

Some specific guidelines for this course:

  • Midterm and Final exams are individual effort and collaboration of any kind would be considered violation.
  • For group activities, such as assignments and in class discussion, you are strongly encouraged to work with the other members of your group. You are also encouraged to discuss with others outside your group provided that the discussion does not result in an exchange of solutions or partial solutions. You can talk about the course material, the problem, general approaches to the problem, but not specific details of the solution. You cannot share your code in any form with other teams.
  • All code delivered as part of assignments must be “original” i.e. authored by members of your team. You cannot use code found on sites such as You are however permitted to use code snippets that may be used during lectures or 3rd party open source libraries. If you use 3rd party library, it must be listed in the README for your assignment.

You can review NEU’s Academic Integrity policy here.

Last update: 2019-11-07