On this page:
Office Hours
Computing Environment
Collaboration and academic integrity
Submitting by email
Submission troubles
Late days & late work




Vidoje Mihajlovikj

Leena Razzaq

TAs and Tutors:

Alfaro, Juan

Nadkarni, Akash

Wilson, Joseph

Zhang, Zefan

Cunningham, Lunden (Tutor)

TAs help run the labs and code walkthroughs, grade assignments, and hold office hours. They are your peers who have taken similar courses, and can see your problems from your perspective.


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

You can also post questions and look for answers to similar questions on Piazza. Here is a link to the Piazza site for this course. Please join this page if you have not already.

Do not post answers to assignments to Piazza. Also refrain from using Piazza as a “crowdsourcing” tool for all your assignments. Think about your problem well before posting it.

Office Hours

Office hours are spread among several rooms; please check this calendar carefully to know where and when staff will hold their office hours.

Computing Environment

You will complete your assignments using the IntelliJ IDEA IDE. This is a free, open source IDE that is used in many universities and companies. The Free Community Edition will suffice for all the requirements of this course. However the Ultimate Edition is available to you for free, as a Northeastern student. Please follow the Piazza post on getting access to this.

We will be using the Google Styling convention to impose style on our Java code. You can read about this styling convention in the style guide. In order to enforce this style within IntelliJ, we will use intellij-java-google-style.xml. See the instructions in Lab 1 for this.

Lastly you will use Bottlenose to submit your assignments, keep track of revisions and view grades. You will need to log in using your CCIS username and password and register for this class (CS 5004) as a student to use the server. Please do so as soon as possible.

Collaboration and academic integrity

You may not collaborate with anyone on any of the exams. You may not use any electronic tools, including phones, tablets, netbooks, laptops, desktop computers, etc. If in doubt, ask a member of the course staff.

Some but not all homework assignments will be completed with an assigned partner, and some may involve a larger team (TBD). You must collaborate with your assigned partner or team, as specified, on homework assignments. You may request help from any staff member on homework. (When you are working with a partner, we strongly recommend that you request help with your partner.) You may use the Piazza bulletin board to ask questions regarding assignments, so long as your questions (and answers) do not reveal information regarding solutions. You may not get any help from anyone else on a homework assignment; all material submitted must be your own. If in doubt, ask a member of the course staff.

Providing illicit help to another student is also cheating, and will be punished the same as receiving illicit help. It is your responsibility to safeguard your own work.

Students who cheat will be reported to the university’s office on academic integrity and penalized by the course staff, at our discretion, up to and including failing the course. You will also be reported to the CCIS academic integrity committee, which imposes harsher penalties than the University does (including loss of co-op).

If you are unclear on any of these policies, please ask a member of the course staff.


In general, you should submit your homework according to the instructions on the web page for the individual assignments.

Submitting by email

Homework will ordinarily be submitted to the Bottlenose server at https://handins.ccs.neu.edu. However, sometimes (detailed below) it may be necessary to submit by email. In this case, email your instructor with the subject line “HW N submission” (where N is the appropriate homework number). Attach to the email the same zip file that you would otherwise submit to the server.

Submission troubles

If you have trouble submitting to the server and you have time before the deadline, please wait few minutes and try again; it may also be worth checking on Piazza to find out whether other students are experiencing similar difficulties. If upon retrying you still cannot submit, email your professor. Or if you don’t have time to try again then you should submit by email.

Late days & late work

Each student gets four free, no-questions-asked late days for the term. The purpose of late days is make the extension process fair and transparent by getting the instructors out of the extension-granting business entirely. Instead, when you need an extension, you can take one—provided you have a late day remaining.

To use a late day, log on to the submission server after the deadline has passed. When you try to submit, the server will warn you that the submission will cost you one late day. The server will keep track of the number of used late days. Conserve your late days carefully.

No more than one late day may be used on any one assignment. You may not look at and must avoid gaining knowledge of the self-evaluation questions until you have submitted your late assignment. Late days cannot be divided fractionally, but must be used whole. Late days cannot be transferred to or shared with a partner, so in order to take an extension both you and your partner must have sufficient late days remaining. Choose your partners carefully.

Only applicable for assignments with self-evaluations: Using a late day to submit your files does not automatically grant you a late day for the self-eval: it will remain due at the normal time.


Your grade will be based on your performance on the assignments (60%), labs (10%) and the exams (30%). Material for examinations will be cumulative.

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.



Letter grade

93% and above




























Lectures policy:

You are required to read the lecture material for the given lecture before coming to class. During the lectures we will discuss the material covered in the required reading, answer questions, provide additional examples and applications.

It is OK if you do not understand everything when you first read it, but reading about the new concept ahead of the time will give you a chance to anticipate the questions you may have and allow you to follow better the details of explanation during the lectures.


Labs policy

The goal of the labs is to see in practice problems that illustrate the concepts covered in the lectures, and to prepare you for the next programming assignment.

There is a lot of technical detail related to running Java programs that will be covered in the early labs. Later labs will focus more on design questions and on good Java programming practice.

We will ask you to submit some of the lab problems at the end of each lab.


You may bring one sheet of notes to exams (may be typed or hand-written, one-sided or double-sided).