Course Information (Spring 2020)¶
Tejas Parikh is a Principal 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.
|Name||Office Hours||GitHub Id|
|Tejas Parikhemail@example.com||By Appointment Only||tejasparikh|
|Name||GitHub Id||Calendly (Grading Slots)|
|Rajat Acharyafirstname.lastname@example.org||ACHAR003||Book Appointment|
TA Office Hours¶
|CRN||Section #||Building & Room #||Campus||Time||Days|
|36346||01||Behrakis Health Sciences Cntr 220||Boston||1:00 pm - 4:30 pm||Saturday|
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 Pre Requisites¶
Microservices, containers and container orchestration has fundamentally changed how distributed systems are developed. This course covers a collection of repeatable, generic software design patterns such as Sidecar pattern, Ambassador pattern, Adapter pattern, Event Driven, Stream & Batch Processing, Containers & Container Orchestration, Replication, Partitioning, Transactions, Consistency and Consensus to help make the development of reliable distributed systems more approachable and efficient. You will learn the common language and framework these patterns provide. We will try to find useful ways of thinking about distributed system – not just how they work, but also why they work, and what questions we need to ask. After the course, you will be in great position to decide which kind of technology is appropriate of which purpose and understand how these patterns can be combined to form the foundation of a good application architecture. The lectures and assignments aim to help you build skills to develop applications for hybrid cloud, run existing monolithic applications side by side with microservices without complete re-write.
Textbooks & Required Readings¶
Required Tools & Software¶
Students will be assigned 8-10 assignment this semester. Assignment due date will be posted with each assignment. Each assignment will build up on work done in previous assignments so it is important to complete assignment on time.
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, 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.
Late Assignment Policy¶
Assignments are expected to be completed by due date. Assignments submitted two days after the due date will not be accepted. For every day the assignment is late after the assignment is due points will be deducted as follows:
|One day (24 hrs)||20%|
|Two days (48 hrs)||50%|
|More than two days||100%|
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.
|Presentation / Demo||20%|
Individual Assignment Weightage on Course Grade¶
For this course we will use following grading scheme to determine your final letter grade.
Students will be automatically enrolled to Piazza at the beginning 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 me, I encourage you to post your questions on Piazza.
Both email and Piazza provide asynchronous forms of communication so don’t expect instant reply. I will do my best to reply to you in 24 hours. 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.
Post your question about assignments, course material and exams on Piazza. For matters that concern your individual academic performance, please contact me directly via email or in person after lecture.
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 stackoverflow.com. 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.