Syllabus

Schedule

See the schedule for the schedule of lectures, labs, and exams. We may adjust the lecture and lab topics, but the exam dates are finalized.

Grading

Your grade is based on homeworks, exams, and labs, with the following breakdown:

Homework 30%
Labs 10%
Exam 1 20%
Exam 2 20%
Exam 3 20%

Exam Improvement Policy

All exams are cumulative, and so if you do better on a later exam, this can improve your earlier score. Specifically, your final Exam 1 score will be the greater of the score you got when you took it and the average of all your exam scores. Your final Exam 2 score will be the greater of the score you got when you took it and the average of your Exam 2 and Exam 3 score. Since no exams occur after Exam 3, this policy will not affect Exam 3.

Final Grades

Final grades will be assigned on the following scale:

A 93 -
A- 90 - 92
B+ 87 - 89
B 83 - 86
B- 80 - 82
C+ 77 - 79
C 73 - 76
C- 70 - 72
D+ 67 - 69
D 63 - 66
D- 60 - 62
F - 59

Due Dates and Late Policy

  • Homework is usually due at 9PM on Wednesdays and released by 8AM on Thursdays. There is homework every week.

  • Falling behind on work is never a good idea: the course presents new material every day, making catching up harder and harder.

  • Any assignment can be turned in up to 24 hours late, provided you request an extension before the original deadline. You must request the extension via the following form: CS2500 24hr Homework Extension Request

  • If you realize you’re going to be late, go to sleep. Programming when sleepy is impossibly hard.

  • Labs must be turned in by the end of your lab period (no late work accepted), but two lab grades will be dropped, in case you are unable to attend lab for any reason. Each lab grade will be half what the autograder reports, half based on attendance/participation.

Accommodations

Students who need to receive academic services or accommodations should visit Disability Access Services (DAS) at 20 Dodge Hall or call (617) 373-2675. Send your letter from DAS to your instructor.

Working With Your Partner

You will complete all lab work with a partner. We will assign you partners and you will practice pair programming. Pair programming means that you and your partner work 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. 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 things that do not make sense. After a problem is solved to the satisfaction of both, you must switch roles.

Academic Integrity

We encourage you to discuss course materials. However, the following rules apply:

  • You may not copy anyone else’s code under any circumstances. This includes code posted on the web. You may use code from class, the textbook, lectures, and code posted by instructors and TAs on Discord.

  • You may not use code or techniques that are outside of the scope of what we have covered in class, including but not limited to Racket libraries (other than 2htdp/image and 2htdp/universe), or features or techniques that we have not reached yet: doing so on assignments may result in deductions.

  • You may not use Generative AI technology in this course, including but not limited to Copilot, ChatGPT, and similar technologies.

  • You may not permit any other student to see any part of your program and you may not permit yourself to see any part of another student’s program.

  • You may not post a public question that contains any part of your code. If you have a question about what is considered a violation of this policy, please ask! The university’s academic integrity policy discusses actions regarded as violations and consequences for students.

The first time you are found in violation of this policy on an assignment, you will receive a 0 for the associated work. A second violation, or a violation during an exam, will result in failing the course.

Why ban Generative AI? Why can’t we look up answers on the web? After all, many professional programmers use them for work.

  • You will soon discover that interviews for technical positions often involve writing code on the spot without the ability to use the web or Generative AI. If you rely on these technologies for fundamental programming, you will lock yourself out of the most prestigious and lucrative jobs.

  • Generative AI is exceptionally good at solving in basic programming problems, but is less helpful on advanced problems. If you rely on it this course, you will not develop the skills you need for later courses.

  • There is a growing body of research that shows that Generative AI can be misleading to beginner programmers. Here is one paper on the topic.

Classroom Environment

To create an 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 respectfully disagree with other students and the staff. The professor and TAs will terminate conversations that deviate from these instructions. 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.

Title IX

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 prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including male, female, transgender students, faculty and staff.

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 Gender 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 https://www.northeastern.edu/titleix for a complete list of reporting options and resources both on- and off-campus.