Course Information

Course Title Computer Systems
Course Number CS 5500
Semester Spring Session, 2021
Location San Francisco Bay Area Campuses
Hybrid NUFlex Online
Lectures Wednesday 1.00pm - 4:15pm
Online via Zoom
Prerequisites Admission to MS program or completion of transition courses
Instructor Philip Gust
Teaching Assistants Sabarinathan Kulasekran
Mbongeni "Ndabe" Mahluza
Abinashi "Abi" Singh
Rohan Subramaniam
Luna Szymanski
Xuanyu Zhu

Office Hours

Instructor Office Hours

Philip Gust
p.gust@northeastern.edu
Day Time Location
Monday 9.00am–12.00pm PST Online via Zoom
Tuesday 9.00am–12.00pm PST
Wednesday 9.00am–12.00pm PST

TA Office Hours

Sabarinathan Kulasekran
kulasekaran.s@northeastern.edu
Day Time Location
Tuesday 10:00am-1:00pm PST Online via Zoom
Wednesday 10:00am-1:00pm PST
Mbongeni "Ndabe" Mahluza
mahluza.m@northeastern.edu
Day Time Location
Thursday 10:00am-12:00pm PST Online via Zoom
Saturday 10:00am-12:00pm PST
Abinashi "Abi" Singh
singh.abi@northeastern.edu
Day Time Location
Thursday 9:00am-1:00pm PST Online via Zoom
Friday 12:00pm-4:00pm PST
Rohan Subramaniam
subramaniam.r@northeastern.edu
Day Time Location
Monday 7:00pm-9:00pm PST Online via Zoom
Friday 7:00pm-9:00pm PST
Luna Szymanski
szymanski.l@northeastern.edu
Day Time Location
Wednesday 6:00pm-9:00PM PST Online via Zoom
Xuanyu Zhu
zhu.xuan@northeastern.edu
Day Time Location
Monday 1:00pm-3:00pm PST Online via Zoom
Friday 4:00pm-6:00pm PST

Course Description

This course covers the foundations of software engineering, including software development life cycle models (e.g., waterfall, spiral, agile); requirements analysis; user-centered design; software design principles and patterns; testing (functional testing, structural testing, testing strategies); code refactoring and debugging; software architecture and design; and integration and deployment. Includes a course project where some of the software engineering methods (from requirements analysis to testing) are applied in a team-based setting. Requires admission to MS program or completion of all transition courses


Grading Policy

Individual Assignments 40%
Team Project 40%
Quizzes 15%
Instructor's discretion 5%

The final grade for a student is calculated as the weighted average of the preceding list and rounded up to the nearest integer.

The 5% listed as "Discretionary" is a technical factor that enables the instructor to shift the curve for the entire class upward if necessary to more accurately reflect class performance. The value is the same for all students and does not depend on individual performance.

NOTE:  We reserve the right to alter the grade composition if deemed necessary during the semester. In such a case the class will be notified.

The mapping to a letter grade uses the following scale

A [95, 100]
A- [90, 94]
B+ [85, 89]
B [80, 84]
B- [75, 79]
C+ [70, 74]
C [65, 69]
C- [60, 64]
D [0, 59]

Lectures, Assignments, Quizzes, and Project

The last lecture is on Wed., April 21. Projects and project presentations are due Tue, April 27 and Wed, April 28. Please make travel plans accordingly.

Missing Lectures

If you miss a lecture, please consult the course staff and others in the class. Materials covered for each lecture, readings, tutorials, assignments, are available on the course website. You are solely responsible for all material covered during class sessions.

Assignment Extensions

Assignment extensions are not available individually. In rare cases, an assigment may be extended for the entire class. If you find that you are at risk of missing an assignment due date, contact the instructor as far in advance as possible to discuss your situation. Starting late, underestimating the amount of effort required, or preparing for interviews are not reasons to miss turning in an assignment on time. Turning in an incomplete assignment on time for partial credit is much better than missing a due date and receiving no credit. If there is a medical or family emergency that prevents you from turning in an assignment on time, please notify the instructor immediately to discuss your situation.

Missed Quizzes

Quizzes will be administered near the end of selected lectures and you will generally have a time beyond the end of class to finish. Every effort will be made to announce quizzes at least 24 hours in advance. You are solely responsible for attendance during these lecture periods, so be sure that outside activities such as interviews, conferences, workshops, or other events do not conflict with these lecture periods and up to one hour afterwards.

Since everyone has an off-day and circumstances sometimes make absence unavoidable, your lowest quiz score will automatcally be dropped when computing the quiz component of your grade.

Project extensions are not available since the project is due. at the end of the course and no additional time is available. Your team will be assigned a presentation time slot. Due to the number of students in the class, the assigned time cannot be changed. However, your team may exchange time slots with another team if they are willing to do that.


Academic Integrity

You are expected to read, understand and follow the University’s policies on Academic Integrity

During assignments you are encouraged to discuss the problem with classmates on piazza or other forums. You are however not allowed to share solutions or refer to solutions of students from previous semesters. The graders and the instructor can readily spot copied work no matter how you attempt to disguise it.

Working Individually

All individual work submitted for assignments expected to be completed individual must be your own work. You are not allowed to share code. Code that is identical or similar will be penalized and reported to the appropriate University authorities.

Working in Teams

All team work submitted for assignments expected to be completed as a team must be the team’s work. You are not allowed to share code with people outside your team or with another team. Code that is identical or similar will be penalized and reported to the appropriate University authorities.


Tips for Success

You cannot learn everything you need to know in lectures and/or assignments. You must:

  1. Read the assigned material.

    Try to stay ahead of the game and read material before it is covered in class. If you have questions, write them down. If these questions don't get covered, ask in class and/or meet with the tutors, lab coordinator, or professor.

  2. Attempt to solve additional problems.

    Try to solve as many exercises as possible as you read. Discuss your approach/solution with the course staff or your classmates.

  3. Attend lectures.

    Lectures accentuate the material you should have already read. Take advantage of the extra explanations and examples during the lectures to ensure you comprehend the material. Prepare questions to ask but also listen to questions asked by your classmates. You are responsible for all material presented during lectures.

  4. Talk to the course staff.

    If the lecture and the notes leave you with questions on the material, see your teacher(s) during office hours or make an appointment. Mark the the material that you have not understood and prepare questions that express what you haven't understood.

  5. Keep up.

    Experience proves that students who fall behind quickly drop out. So, keep up with the readings, tutorials, and the homeworks. Ask for additional problems, if the homeworks failed to make a point.


Diversity/Disability Statements

If you require support during the course due to disability please ensure that you are already registered with the University’s Disability Center and contact your course instructors in order to coordinate any support needed during the course.


Helpful Links