On this page:
Office hours:
General Policies
Computing Environment
Academic Integrity


Office hours:

Here is a calendar of all the office hours that the course staff offer. If you would like to speak to an instructor and you cannot make it to their office hours, send an email to set up a meeting. If you have a general question or cannot make it to anyone’s office hours, post to Piazza (see below).

For the most part, staff members will have the same office hours every week. Before going to someone’s hours, check where they will be on the calendar below. Should there be a change to someone’s hours, there will be a post on Piazza and the calendar will be updated.



Leena Razzaq


Sophia Akhter

Stephen Alt

Jylah Bah

Henry Barthelemy

Dave Budhram

Antonio Caceres

Julian Flack

Thomas Grbic

Eden Gugsa

Jessica Huang

Mara Hubelbank

Jasmine Lai

Lucy Marnell

Ha Ngo

David O’Brien

Kevin Queally

Kyle Sawicki

Neha Senthil

Dhivas Sugumar

Elijah Thomas

Mackenzie Veazey

Your TAs grade labs and homework assignments, help grade the exams, and hold office hours. In general, they are people who are interested in helping others learn, and they are your peers who have taken the course, and can see your problems from your perspective.


If you need help, you may talk to any of the instructors or the TAs during their office hours.

Use NEU email (@northeastern.edu) to reach any of the course staff; usernames are given above.

Piazza is an on-line forum for class discussions. Anybody can post a question and anybody else can reply. (Please do not post grading questions to Piazza. It’s best to email the grader instead for those kinds of questions.)

Before posting, check whether or not your question has already been asked. If it already has been asked and has not yet been answered, provided the question is not more than a day old, it likely will be answered soon. Do not double post.

Posting any parts of a solution to any parts of a homework assignment is considered cheating. You don’t want to do this. Limit your answers to other students to providing clarity when needed and hints when appropriate. This is good practice should you ever want to be a tutor :)

Note: anonymity on Piazza is implemented to make you anonymous to students but not to staff members.

General Policies

Computing Environment

You will complete your assignments using the Eclipse IDE. Though, if you feel more comfortable, you may choose to use another IDE (e.g. NetBeans) or work directly from the command line, but you and your partner must both be comfortable with the chosen programming environment, and the staff may not be able to assist you with issues encountered in other environments.

You will use the handin server to submit your homework. You may submit as many times as you wish, though submitting too frequently will be detected and rate-limited, to ensure fairness for other students. Be aware that close to the deadline when everyone submits all at once, the server will become less responsive.


There will be one or two problem sets each week. As with CS2500, the problem sets may include finger exercises and practice problems, that you are strongly encouraged to look at and confirm that you can solve. You are welcome to bring solutions to these problems to the course staff during the semester for informal feedback on how you’re doing.

The graded problems are to be solved collaboratively with your partner when you are assigned one. The problems will consist of structured programming assignments that may be based on the work done in previous weeks, and may also include more creative projects where you can practice your design skills.

Note: You will submit each problem separately on the handin server. This is for your benefit: the server will attempt to compile and run your program against automated test cases. Having separate submissions for each problem means that a syntax error in one problem won’t immediately prevent your other problems from compiling also. Be careful to submit the correct answers to the correct problems.

Academic Integrity

Any and all submitted work must be your own. If an assignment/lab is to be completed individually, only you and the course staff are allowed to look at your code. If an assignment/lab is to be completed with a partner, only you, your partner and the course staff are allowed to look at your code.

You are allowed to discuss the problem sets with others, so long as you acknowledge (in comments, in your submitted files) whoever you discussed the problem with. Discussing the "what to solve" is OK, discussing "how to solve" is a slippery slope. Once you start discussing possible solutions, you may not realize when you have crossed the line. Ultimately we will judge you by the work you submit. If you think you are smart enough to use somebody’s code and hide it well enough to deceive us, please channel that intelligence towards completing the assignment yourself!

NOTE: Be aware that while submitting someone else’s code is clearly a violation, so is sharing your code with others, even if you truly just mean to help. You will be doing your friend or peer a disservice by helping them this way. Please direct them to the course staff instead.

Outside an academic environment, sharing code with unauthorized parties can be a criminal offense and have severe and unanticipated consequences.

Submitting code that is not your own or sharing your code to unfairly help another student will be considered a violation of the University’s Academic Integrity Policy (page 40 of the 2016-2017 Undergraduate Student Handbook). Violations of academic integrity will be reported to OSCCR, and will have strong consequences on your grade, from an automatic zero on the assignment to failing the course.

If you are ever unsure of whether sharing is unacceptable or not, or you are struggling in the course, please contact one of the course staff. We are here to help.


There will be two exams:


Your final grade is composed of:
  • 45% homework. Most homeworks will be equally weighted, but larger projects that will take more time will be weighted more.

  • 50% exams, with exact proportions to be determined.

  • 5% labs

As before, you can use the handin server to see the current weights of each assignment, and your approximate grade in the course so far. The exact weights of assignments, quizzes and exams will change during the semester, depending on exactly how many of each we have. We will let you know when we update these weights, and will try to keep it as infrequent as possible.

The grades will computed on an absolute basis: there will be no overall curving. The instructor may choose to curve an individual homework or exam, but please do not bank on such a chance.

The mapping of raw point totals to letter grades is given below. Please note that these grade boundaries may move slightly at the discretion of the instructor, but the grade boundary for A is unlikely to change. Grades are not rounded: for instance, earning a 92.5% does not imply we will round up to a 93% and hence to an A.

Range:          93%   90%   86%   83%   80%   76%   73%   70%   66%   63%   60%   0%
Letter grade:   A     A-    B+    B     B-    C+    C     C-    D+    D     D-    F