On this page:
Office hours:
People
Communications
General Policies
Lectures
Labs
Computing Environment
Assignments
Pair Programming
Academic Integrity
Exams
Grades
8.5

General

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 and 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.

We will use the Khoury Office Hours tool. Take these steps to join office hours:
  • Log in with your Khoury account credentials.

  • Go to CS 2510 on the top left.

  • Add your name to the queue. Enter the question you wish to ask. Be as detailed as possible.

  • Log in to Microsoft Teams using your Northeastern credentials. When it is your turn, we will get in touch with you via Teams.

People

Instructors:


Ben Lerner
be.lerner@northeastern


John Park
john.park@northeastern


Leena Razzaq
l.razzaq@northeastern


Amy Gately
a.gately@northeastern

TAs:


David Alade
alade.a@northeastern


Frank Anderson
anderson.f@northeastern


Alex Angione
angione.a@northeastern


Antonio Caceres
caceres.an@northeastern


Edward Chan
chan.ed@northeastern


Marvin Chong Han Tao
chong.mar@northeastern


Gina Davis
davis.gi@northeastern


Noam Greenstein
greenstein.n@northeastern


Neo Isak
isak.d@northeastern


Duncan Mayer
mayer.du@northeastern


Carson Musser
musser.ca@northeastern


Danny Rollo
rollo.l@northeastern


Jay Sella
sella.j@northeastern


Skye Toral
toral.l@northeastern


Ben Weiss
weiss.b@northeastern


Karen Xu
xu.kar@northeastern


Kobe Zheng
zheng.ko@northeastern

Your TAs help run the labs, help grade the exams, and hold office hours. In general, they are apprentice teachers and are here to learn how to run a course. At the same time, though, they are your peers who have taken the course, and can see your problems from your perspective.

Tutors:


Danna Amitai
amitai.d@northeastern


Dallon Archibald
archibald.d@northeastern


Jylah Bah
bah.jy@northeastern


Elliot Bangerter
bangerter.e@northeastern


Linwood Blaisdell
blaisdell.l@northeastern


Nicole Buckley
buckley.ni@northeastern


Dave Budhram
budhram.d@northeastern


Ryan Cheung
cheung.ry@northeasterm


Luca Demian
demian.l@northeasterm


Mihir Dontamsetti
dontamsetti.m@northeastern


Mallory Gilligan
gilligan.mal@northeastern


Thomas Grbic
grbic.t@northeastern


Diego Hernandez
hernandez.die@northeastern


Alexis Hooks
hooks.a@northeastern


Jun Huang
huang.junw@northeastern


Emery Jacobowitz
jacobowitz.e@northeastern


Pallavi Kamsani
kamsani.p@northeastern


Namleen Kohli
kohli.na@northeastern


John Kraunelis
kraunelis.j@northeastern


Jiya Lakhani
lakhani.anj@northeastern


Manasa M
m.m@northeastern


Lucy Marnell
marnell.l@northeastern


Tabby Mastrangelo
mastrangelo.t@northeastern


Thomas McBride
mcbride.t@northeastern


Khoi Quoc Ngo
ngo.kho@northeastern


Ha Ngo
ngo.v@northeastern


Sydney Nguyen
nguyen.linh4@northeastern


Elizabeth Peters
peters.el@northeastern


Steph Rongone
rongone.s@northeastern


Kyle Sawicki
sawicki.k@northeastern


Alex Schad
schad.a@northeastern


Omar Shair
shair.o@northeastern


Narayan Sharma
sharma.na@northeastern


Jon Shih
shih.jo@northeastern


Maggie Tong
tong.m@northeastern


Mackenzie Veazey
veazey.m@northeastern


Malia Wanderer
wanderer.m@northeastern


Jeffrey Wang
wang.jef@northeastern


Anushka Wani
wani.an@northeastern


Emily Xu
xu.emi@northeastern


Sama Zaki
zaki.s@northeastern


Bambi Zhuang
zhuang.ba@northeastern

Your tutors help run the labs, grade the homework sets, 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.

Communications

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

Use Northeastern 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

Lectures

Sec 2: Mon, Wed and Thurs at 9:15am–10:20am
        Shillman 105        Lerner

Sec 3: Mon, Wed and Thurs at 9:15am–10:20am
        Shillman 135        Razzaq

Sec 4: Mon, Wed and Thurs at 10:30am–11:35am
        Room change to Shillman 135        Razzaq

Sec 5: Mon, Wed and Thurs at 10:30am–11:35am
        DG 050        Park

Sec 6: Mon, Wed and Thurs at 1:35pm–2:40pm
        Shillman 135        Park

Sec 7: Mon, Wed and Thurs at 1:35pm–2:40pm
        Shillman 305        Razzaq

Sec 8: Mon, Wed and Thurs at 4:35pm–5:40pm
        Shillman 135        Park

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

All labs meet once a week on Tuesdays.
  • Section 4: 8:00am-9:40am in WVH 210A
         TAs: Ben Weiss (lead), Thomas McBride, Emery Jacobowitz

  • Section 5: 8:00am-9:40am in WVH 210B
         TAs: Marvin Chong (lead), Dave Budhram, Khoi Ngo

  • Section 6: 8:00am-9:40am in WVH 212
         TAs: Frank Anderson (lead), Mackenzie Veazey, Alex Schad

  • Section 7: 8:00am-9:40am in SL 123
         TAs: Eddie Chan (lead), Margaret Tong, Elizabeth Peters

  • Section 8: 9:50am-11:30am in WVH 210A
         TAs: Danny Rollo (lead), Namleen Kohli, Jonathan Shi

  • Section 9: 9:50am-11:30am in WVH 210B
         TAs: Carson Musser (lead), Tabby Mastrangelo, Elliot Bangerter

  • Section 10: 9:50am-11:30am in WVH 212
         TAs: Antonio Caceres (lead), Thomas Grbic, Ha Ngo

  • Section 11: 11:45am-1:25pm in WVH 210A
         TAs: Duncan Mayer (lead), Jylah Bah, Alexis Hooks

  • Section 12: 11:45am-1:25pm in WVH 210B
         TAs: Neo Isak (lead), Mihir Dontamsetti, Lucy Marnell

  • Section 13: 11:45am-1:25pm in WVH 212
         TAs: Gina Davis (lead), Danna Amitai, Linh Nguyen

  • Section 14: 1:35pm-3:15pm in WVH 210A
         TAs: Kobe Zheng (lead), Mallory Gilligan, Jiya Lakhani

  • Section 15: 1:35pm-3:15pm in WVH 210B
         TAs: Karen Xu (lead), Anushka Wani, Linwood Blaisdell

  • Section 16: 1:35pm-3:15pm in WVH 212
         TAs: Jay Sella (lead), Kyle Sawicki

  • Section 17: 3:25pm-5:05pm in WVH 210A
         TAs: Skye Toral (lead), Jun Wei Huang, Narayan Sharma

  • Section 18: 3:25pm-5:05pm in WVH 210B
         TAs: Alexander Angione (lead), Dallon Archibald, Stephanie Rongone

  • Section 19: 3:25pm-5:05pm in WVH 212
         TAs: Eddie Chan (lead), Bambi Zhuang, Malia Wanderer

  • Section 20: 5:15pm-6:55pm in WVH 210A
         TAs: David Alade (lead), Luca Demain, Emily Xu

  • Section 21: 5:15pm-6:55pm in WVH 210B
         TAs: Noam Greenstein (lead), Jeffrey Wang, Pallavi Kamsani

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. Attendance is required.

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.

Lab work

Lab attendance is required. We will be assigning some lab work to be submitted which will be graded. The goal of lab work is to see that you are familiar with the most basic concepts covered during the recent lectures, labs, and assignments.

If you have trouble completing lab work, it would be a good idea to meet with the instructor within the next week, to identify the problems you may have and to help you get back on track.

We may also be conducting code reviews in labs, of either the material from that lab or from the prior week’s homework. As presenters, be prepared to explain your design choices to your classmates. As reviewers, pay attention both to how the presenters organize their explanations and how they organize their code, and feel free to ask clarifying questions about either.

Computing Environment

You will complete your assignments (other than the first one) 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.

Assignments

There will be one or two problem sets each week. The problem sets 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.

Assignments may not be resubmitted after their deadlines (and the grace period with penalties) have passed.

Due Dates: Thursdays at 9:00pm, unless otherwise specified. See the late policy above.

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.

Pair Programming

Although the homework problems can be solved individually, you must work on some of the problem sets in pairs. We will assign a partner for you from your lab section and you will work on labs together as well.

Important Pair programming means that you and your partner work on the problem sets jointly. You read them together and you work on the solutions together. One of the lab’s purposes is to teach you how to work in pairs effectively; indeed, pairs are provably more effective than individuals in programming. The rough idea is this: One of you plays pilot, the other co-pilot. The pilot works on the keyboard and explains aloud what is going on; it is the co-pilot’s responsibility to question everything. After a problem is solved to the satisfaction of both, you must switch roles.

Every partner must be able to solve every homework problem in the end. It is an academic integrity violation to submit work under your name that you have not worked on. Doing so may result in earning a 0 on the work and a report to OSCCR. You may also lose the privelege of working with a partner. Therefore both partners must make the effort to meet regularly and work together on every part of the assignments/labs.

If you are having difficulties working with your partner, please inform your lab TA or your instructor quickly: we cannot help if we don’t know there’s a problem.

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 (see above as well about working with a partner).

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 38 of the 2022-2023 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.

Exams

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

Grades

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 heavily.

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

  • 5% lab work and quizzes

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 may change during the semester, depending on exactly how many of each we have. We will try to keep weight changes 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