Continues CS 2500. Examines object-oriented programming and associated algorithms using more complex data structures as the focus. Discusses nested structures and nonlinear structures including hash tables, trees, and graphs. Emphasizes abstraction, encapsulation, inheritance, polymorphism, recursion, and object-oriented design patterns. Applies these ideas to sample applications that illustrate the breadth of computer science.
By the end of the course, students should be able to:
These skills will:
There is no required textbook. There is an optional online book, How to Design Classes (draft) by Felleisen, Findler, Flatt, Gray, Krishnamurthi, and Proulx, 2012.
All recommended readings and required tools will be available for free online.
The semester grade for this course will be weighted as follows:
Numeric grades will be converted to letter grades as shown:
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F
At the time of semester grade determination, numeric grades will be rounded to the nearest integer (e.g., 94.4 is a 94). In the unlikely case that a score is exactly between two integers, it will be rounded up.
The purpose of homework is to give you hands-on experience with the course material presented in lecture and lab, since the only way to learn is by doing. Unless otherwise stated, homework assignments are due every Friday night at 11:59 PM Pacific Time.
The lowest homework grade will generally be dropped when computing the semester grade. See the Academic Integrity section for an exception.
There will be four quizzes during the semester:
Quizzes will initially take place during Friday lab times but may be moved to Thursday class times if warranted.
Because students did not have enough time on Quiz 1, it will be dropped for students if that improves their semester grade.
The final exam will be in GSB 117 on these dates:
Lab assignments enable students to practice the concepts presented in class and prepare for homework assignments. They are due at the end of each lab session and are graded on demonstrated effort. The lowest two lab grades are dropped, although it is in students' interest to complete all of them.
We consider fair, prompt, and clear grading to be important, and students are encouraged to contact the appropriate instructor (Ellen for homeworks and quizzes, Rasika for labs) if they do not understand feedback or point removal. Per the communication policy, you should contact Ellen through piazza.
Students should make regrade requests if they do not understand why they lost points or think they may have been misgraded according to the instructor's rubric. They should not make regrade requests to argue that a mistake or omission of theirs should not have been penalized.
Any requests for regrading must be submitted no more than 7 days after the feedback was released unless Ellen independently decides to extend the period. Please make sure, for your and the graders' sake, that you provide all needed information. Do not send a regrade request asking if you can submit a file that you neglected to submit. All information must be provided first through Dropbox in a file whose name contains all relevent information (the assignment name, the student name, and the original file name). Similarly, do not expect an assignment to be regraded just because you upload a file to Dropbox. You must also make a regrade request through Gradescope.
Students are expected to promptly read feedback on graded assignments. If the feedback includes a request to meet with the instructor, students may be penalized (or referred to OSCCR if there was an academic integrity issue) for not doing so.
Students are expected to attend all lecture and lab sessions unless they are unwell, in which case they should stay home and rest, for the safety of themselves and others. Students are advised to have "study buddies" who will share notes with them after absences. Please contact the instructors if you would like help finding a study buddy.
We will try to make recorded lectures available for students who have to miss class due to illness, quarantine, or emergencies. Requests can be made privately (but not anonymously) in the logistics folder on Piazza.
Please be in your seat ready to learn when class starts, as arriving late interferes with your and your classmates' learning; however, it is better to arrive late (or leave early) than not to attend class at all.
Students are expected to pay attention and participate in class. Participation benefits both the individual student and their classmates and will enable the instructors to better get to know students so they can more strongly recommend them for co-op and TA positions.
That said, we understand that students have bad days. Students may say "pass" when called on, and the instructor will immediately move onto someone else and not call on the student again that day. The student is, however, expected to later volunteer to answer questions in class when they feel better.
PDFs of slides will be provided for students to annotate. They are intentionally incomplete. Students should use software such as Notability (iOS, Mac OS), which Northeastern provided to you, or UPDF (Windows), which has a free version. To get the full benefit of class and be prepared to answer questions when called on, take notes.
Both individual and group office hours will be offered, some of which will be held in person on campus and some online over Teams or Zoom. Because hours may change in response to student need and TA availability, up-to-date information can be found on Canvas.
Students should expect to work a minimum of 2 hours outside of class for every hour of class. Because CS 2510/2511 is a 5-hour class, you should expect to spend a minimum of 10 hours per week on it. Experienced students may not need as much time early in the semester. Students are encouraged to attend office hours and ask for help on Piazza in order to use their time effectively.
Falling behind on work is never a good idea: new material is presented every day, making catching up harder and harder. However, we know that your time is not always easily scheduled, and some weeks, "stuff happens." We will therefore allow you to turn in homework up to 48 hours after the deadline, with a penalty of 15% per full or partial day. Each student gets two free late days, so there is no penalty for the first assignment that is up to two days later or the first two assignments that are up to one day late. These late days will be applied automatically, so you do not need to contact the instructor. Additionally, there is a one-hour grace period for homework assignments. That means there is no penalty for being up to one hour late, but you will be docked a day if you are more than one hour late.
Because we do not provide extensions for computer problems, most illnesses, or difficulty understanding instructions, students are encouraged to start assignments early.
There are tools and resources that help programmers learn and use their time more effectively. We encourage you to make use of:
Because it would reduce your learning, you are not allowed to use certain tools (described in the next section) to create code.
You will receive guidance on assignments as to what types of searches are permitted (even encouraged) and what types are disallowed. We also encourage you to ask when unsure.
While students are encouraged to discuss course materials, no plagiarism/copying is allowed. In particular:
Additionally, it is never acceptable to share an access code (such as for a Canvas quiz) with another student.
The minimum penalty for a first offense is a zero on the assignment. It will be up to the instructor whether to allow the zero to be dropped when computing the semester grade. Second offenses (including offenses from CS 2500) or severe first offenses will lead to failing the course. All offenses will be reported to the Office of Student Conduct and Conflict Resolution (OSCCR) for their records and possible further penalties.
The university's academic integrity policy discusses actions regarded as violations and consequences for students.
If you have a question about what is considered a violation of this policy, please ask an instructor.
If you ever feel that cheating is your best option, please reach out to an instructor for help.
We know there are websites like Chegg and Course Hero that encourage students to upload course materials. Do not upload ours. (Do not upload anybody's course materials without their permission.) Doing so would be considered a violation of the academic integrity policy, as would be making use of information that other students have uploaded.
Further information on assignments and resources can be found on Canvas. Students are responsible for completing all work assigned on Canvas and promptly reading announcements posted through Canvas, which is how any changes to this syllabus, due dates, or quiz dates will be announced.
Debugging help will no longer be given by email or through Piazza, although it is still appropriate to post to Piazza if there are general technical problems with an assignment, such as it not building properly.
In the past, we encouraged students to email files that they forgot to include with their assignments. Henceforth, added files may be submitted only through Dropbox. Penalties will apply.
Student should email Ellen only about matters that are too personal for other staff to see or are extremely urgent, such as requesting to take a quiz remotely due to quarantine. Although we try to answer student questions promptly, students should not expect immediate responses, and they should allow a week for regrade requests to be processed.
Changes to the syllabus will be announced through Canvas and can be tracked on github.
The rest of the syllabus consists of standard language provided by the administration.
To create and preserve a classroom atmosphere that optimizes teaching and learning, all participants share a responsibility in creating a civil and non-disruptive forum for the discussion of ideas. Students are expected to conduct themselves at all times in a manner that does not disrupt teaching or learning. Your comments to others should be constructive and free from harassing statements. You are encouraged to disagree with other students and the instructor, but such disagreements need to respectful and be based upon facts and documentation (rather than prejudices and personalities). The instructor reserves the right to interrupt conversations that deviate from these expectations. Repeated unprofessional or disrespectful conduct may result in a lower grade or more severe consequences. Part of the learning process in this course is respectful engagement of ideas with others.
Students who have disabilities or other conditions that entitle them to academic services and accommodations are encouraged to reach out to the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675, whether or not they plan to take advantage of such services, in case it later becomes useful. We want all students to succeed and are happy to provide accommodations. Please request a Professor Notification Letter and testing accommodations as described by the Disability Resource Center.
Student Access Support Services (SASS), located in Cowell, provides:
For access needs and accomodations, contact Courtney Gutierrez (c.gutierrez@northeastern.edu). For crisis support, contact Mayra Arevalo-Agyapong (m.arevalo-agyapong@northeastern.edu).
Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance.
Northeastern’s Title IX Policy outlines Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to all students, faculty, and staff, regardless of gender.
If you or someone you know has been a survivor of a Prohibited Offense, confidential support and guidance can be found through University Health and Counseling Services and the Center for Spiritual Dialogue and Service clergy members. By law, those employees are not required to report allegations of sex or gender-based discrimination to the University.
Alleged violations can be reported non-confidentially to the Title IX Coordinator within The Office for Equity and Compliance at titleix@northeastern.edu and/or through NUPD (Emergency 617.373.3333; Non-Emergency 617.373.2121). Reporting Prohibited Offenses to NUPD does NOT commit the victim/affected party to future legal action.
Faculty members are considered "responsible employees" at Northeastern University, meaning they are required to report all allegations of sex or gender-based discrimination to the Title IX Coordinator.
In case of an emergency, please call 911.
Please visit The Office for University Equity and Compliance for a complete list of reporting options and resources both on- and off-campus.