Textbook and Resources

Recommended Textbook Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (CLRS). (The 4th edition has just come out, but it’s fine to get an older/used edition!) Relevant chapters will be listed alongside lecture topics on the course website. You do not need to read the textbooks ahead of lecture; they are most useful as reference materials or for looking up new examples
LaTex Resources We'll ask you to typeset all of your homeworks, preferably in LaTeX. Start with the links below, and we recommend using overleaf.com to create your files.

Gradescope

Sign up for our Gradescope page: https://www.gradescope.com/courses/1268301.

We'll use Gradescope for all homeworks and the project. You should be automatically signed up, but make sure you're all set before the first deadline! Any questions about gradescope, post on Piazza and let us know how we can help.

Piazza

Sign up for our Piazza page: https://piazza.com/northeastern/summer2026/cs3000.

Piazza is here for you to ask clarifying questions on homework assignments, which the course staff is happy to answer. You should also feel free to jump into questions from others and engage in conversation.

Because this is a theory course, and solutions sometimes rely on one particular, specific insight, we have a few rules governing our CS3000 Piazza page:

  • You may not post solutions to problems.
  • You may not post a single, simple insight that enabled you to solve a problem (e.g., “Use Cantor’s diagonalization”), but you may post general approaches (e.g., “I thought this homework problem related to the class discussion on infinite binary sequences”).
  • You must be respectful of and courteous towards your fellow students and the teaching staff.
Violations of these rules will result in our closing the Piazza page.

We'll also use Piazza to post course announcements, so make sure your email settings are turned on!

Tutoring

(Update 5/13/26): To request to join a tutoring group, please fill out this form!

We will make small-group tutoring available throughout the semester. Early in the summer, we will send out a form you can use to request a tutoring group. We cannot promise that a tutoring group will be available for every student in cs3000, but we will do our best to prioritize it.

CS3000 instructors will organize tutoring groups with one TA and 3-4 students. Group members will work with their TA to find a mutually agreeable time to meet twice per week. This tutoring time will be used to prepare for homework, review material from lecture, and go over recitation problems and recent quizzes.

If you miss the initial call for tutoring groups, you may still be able to join one later in the semester. Once groups have been formed and meeting times agreed, we’ll have an option available to join an existing group if one has a meeting time that works for you. Reach out to Profs. Varma and Strange at any time to ask about tutoring options.

Office Hours

Office hours are a great place to get clarification on concepts and have conversations with TAs and professors. Instructor office hours are listed on the home page, and TA office hours are listed on the TA page.

It’ll be important that you come to office hours having already made an attempt on the homework. We will be happy to help guide you on concepts and provide clarification. We do not provide you with answers to problems, and we do not confirm that your solution is correct.

We do not answer questions about AI-generated content during office hours or on Piazza.

Inclusive Classroom

We believe that diversity and inclusiveness are essential to excellence in academic discourse and innovation. In this class, the perspective of people of all races, ethnicities, gender expressions and gender identities, religions, sexual orientations, disabilities, socioeconomic backgrounds, and nationalities will be respected and viewed as a resource and benefit throughout the semester. Suggestions to further diversify class materials and assignments are encouraged.

If any course meetings conflict with your religious events, please do not hesitate to reach out to Laney and Akshar to make alternative arrangements.

Lecture Questions

We invite everyone to raise their hands to ask and answer questions during class, and to engage in discussion with classmates. However, we know it’s not always the easiest thing to speak up in a big classroom, or to clarify your thoughts in real time.

Therefore, you can also ask Profs. Strange and Varma questions directly via the Lecture Question form. We will review these questions during the break and after lecture, and respond during lecture or on Piazza, keeping you anonymous.

Name and Pronoun Usage

As this course includes some discussion, it is vitally important for us to create an educational environment of inclusion and mutual respect. This includes the ability for all students to have their chosen gender pronoun(s) and chosen name affirmed. If the class roster does not align with your name and/or pronouns, please inform Laney of the necessary changes.

Late/Attendance Policy

CS3000 is an in-person class, and attendance is expected. However, we don’t take attendance and we don't want or expect anyone to come to class when they're sick. We'll post the lecture notes from each day, along with short-take videos, that you can use to catch up on any missed material.

These short-take videos were pre-recorded. We do not record lectures in CS3000. If you need to miss class/recitation, then you should:

  • Watch the videos and read the notes posted from the missed lecture.
  • Work on the recitation problems on your own and review the solutions.
  • Stop by office hours to make sure you're caught up and feeling confident on the material.
  • There is no need to notify us about missing class.
These short-take videos, plus the notes from class, are meant to be helpful for days when you need to miss class, but they will definitely NOT be an identical experience! They should suffice when you miss a class or two due to illness or emergency, but we do not recommend using them as a substitute for regular participation in the in-person lecture.

You must be present in-person for scheduled quizzes. Make sure you familiarize yourself with the schedule so that you don’t miss a quiz.

Evaluation

  • Homework (5): 30%
  • Project (1): 25%
  • Quizzes (3): 45%

All homeworks are equally weighted, regardless of the specific number of points allocated. For example, if you got a 45/50 = 90% on HW1 and a 24/30=80% HW2, then your homework average would be 85%. The same is true of quizzes.

Letter Grades

Your final grade for CS3000 will use the following breakpoints when we convert from letter to number grades. We use natural rounding to get these whole numbers, e.g., 96.5 becomes a 97 but 96.4 becomes 96.
A
94 - 100
A-
90 - 93
B+
87 - 89
B
83 - 86
B-
80 - 82
C+
77 - 79
C
73 - 76
C-
70 - 72
D
60 - 69
F
59 and below

Homework

Homeworks are assigned on Mondays. They are due at 9pm eastern on Friday, unless otherwise noted.

All homework solutions must be typed (preferably in LaTeX). We will provide the source files for the HW assignments to help you get started. Our first recitation will include a tutorial on LaTeX, and there are some useful links at the top of this page. It is encouraged that you work with your classmates on the homework problems. If you do collaborate, you must write all solutions by yourself, in your own words; you are also strictly forbidden from sharing any written solutions. You must list all of your collaborators on your submission.

You'll have an opportunity to resubmit one homework for a new grade at the end of the semester (details below).

Homeworks will be scored and returned to you, on Gradescope. After getting your homework back, you have the option to file a regrade request. under one of the following categories:

  • Clarity -- you’re not sure why points were taken off, even though you’ve read the rubric and your grader’s comments.
  • Mistake -- your grader mistakenly took points off.
When filing a regrade request, specify which category the request belongs in. You’ll receive a response, and possibly an updated score, from your grader. After that, if you still have concerns or questions about your grade, email your instructor.

Late Policy - Homework

You may submit homeworks up to 48 hours late with no penalty. This policy exists for those weeks when you have an issue like illness, busy-ness, family issues, etc. There is no need to reach out and ask for additional time; everyone gets the 48-hour grace period automatically.

It’s better to submit something than nothing! Even if your homework is incomplete, if that late deadline is approaching, submit whatever you have. We give partial credit, and it’s better to have that than a zero.

We want to know if something is affecting your ability to participate in the course. If you are experiencing a significant situation (serious illness, family emergency, housing instability, etc.), to the extent that both the grace period and the second-chance homework are insufficient accommodations, please email your instructor. While the late policy itself will not change, there may be other ways we can help (connecting you to resources, thinking about workload planning, etc.). You do not need to share details of your situation when you reach out.

Second-Chance Homework

There is also one second-chance deadline this semester, which you can use to resubmit ONE previous homework (HWs 1-4 are eligible). Homework solutions will not be released because of this policy, but we will answer specific questions about homeworks you've already submitted.

  • Second-Chance Deadline: June 17th, 2026 at 9pm eastern.
  • You can use this second-chance homework to resubmit one of homeworks 1-4 for a new grade.
  • HW5 is not eligibile to be resubmitted.

Recitations

The recitation for this class, CS3001, has two meetings per week. Each recitation will be labelled on the course schedule with its purpose:
  • Quiz prep: prepare for upcoming quiz.
  • Practice problems: review recent lecture material and compete practice problems together in preparation for current/upcoming homework.
  • Project work: recitation set aside for project teams to work on their proposal or Algorithm Design Memo.
  • Project meeting: recitation set aside for project teams to meet with profs and TAs to go over your progress so far.
No recitation work will be submitted or graded.

Project (Algorithm Design Memo)

Our final project in CS3000 this summer will be an Algorithm Design Memo. This is an end-to-end project on a meaningful algorithm, using the concepts and techniques we have covered in CS3000 this semester. You will choose a problem domain, specify a problem within that domain, and design and develop an algorithm to solve it.

You may work alone or with one teammate.

Project Requirements are specified here.

The project will not be accepted late. Submit whatever you have by the deadline, even if it’s incomplete.

Project Milestones

  • Project Proposal -- Every team will submit a project proposal early in the semester. Your proposal will be scored on completeness and substance; the proposal is 10% of your project grade.
  • Project Meeting -- Every team will meet with a professor to review their project close to the deadline. Your project meeting will be scored on your ability to explain your algorithm and analysis, and answer questions about it. In advance of the meeting, submit a short, resume-ready summary of your project. The project meeting is 10% of your project grade.
  • (Optional) Project Presentation -- During our final week of classes, you can present your project for extra credit during recitation or lecture (up to 2 points). The presentation sign-up sheet will become available during the third week of class.

Milestone Dates

Milestone Deadline Notes
Proposal May 21, 2026 Submit your proposal PDF on Gradescope
Project Summary & Meeting June 11, 2026 Submit a short summary of your progress and meet with a professor to check in.
Final Project Submission June 19, 2026 Submit your ADM writeup, 5-8 pages PDF on Gradescope.
(Optional) Extra credit presentation June 16, 17, or 18 Formally present your project in lecture or recitation. This is optional and is worth up to 2 points of extra credit added on to your class average.

Quizzes and Final Exam

There are three quizzes during the semester, and they will be administered in-person, during class. Each quiz comprises one or two questions, but you will have the entire lecture period to complete it. Take your time, review your solutions, and make sure you feel confident about what you are submitting. You may bring one 8.5x11-inch paper as a cheat sheet, with anything written or typed on it (one side only). You will submit this cheat sheet along with your quiz. No other notes, books, materials, phones, calculators, ear phones, or other devices are permitted during the quiz.

If you have a DAS accommodation, arrange to take the quizzes in the DAS office. Make sure you set this time up at least a week ahead of the scheduled exams to guarantee the time and space you need.

We want to know if something is affecting your ability to participate in the course. If you are experiencing a significant situation (serious illness, family emergency, housing instability, etc.), to the extent that the second-chance optional final exam is insufficient, please email your instructor. While the quiz policy itself will not change, there may be other ways we can help (connecting you to resources, thinking about workload planning, etc.). You do not need to share details of your situation when you reach out.

All quizzes are equally weighted, regardless of the specific number of points allocated. For example, if you get a 8/10 = 80% on Quiz 1 and a 9/12=75% on Quiz 2, then your quiz average would be 77.5%. (And those averages could be improved by taking the final exam.)

Quiz & Exam Topics

Assessment Date Number of
Questions
Topic(s)
Quiz 1 Monday, May 18th 2
  • Algorithmic run-time
  • Divide & Conquer
Quiz 2 Monday, June 1st 2
  • Data structures
  • Dynamic Programming
Quiz 3 Monday, June 15th 1
  • Graphs
Final Exam Thursday, June 18th 5
  • Algorithmic run-time
  • Divide & Conquer
  • Data Structures
  • Dynamic Programming
  • Graphs

Late Policy - Quizzes

We expect everyone to be present for scheduled quizzes. In the case of an unforeseeable, unavoidable emergency that causes you to miss a quiz, reach out to Profs. Strange and Varma before the quiz date. we can’t guarantee we’ll be able to reschedule, but the earlier you reach out the better. If you reach out after the quiz date, we won’t be able to reschedule.

(Optional) Final Exam

The final exam is optional and is an opportunity to improve your quiz averages. There will be 5 total questions on the final, each corresponding to one quiz question and on the same topic. For each question, we will keep the score from the quiz or from the final, whichever is higher. You can complete as many questions during the final as you would like; if you are happy with your quiz score on a give topic/question, skip the corresponding one on the final.

If you are happy with all of your quiz scores, then there is no need to take the final exam. You must be present in-person for the scheduled final exam if you choose to take it; final exams cannot be rescheduled.

If you have a relevant DAS accommodation, arrange to take the final exam in the DAS office. Make sure you set this time up at least a week ahead of the scheduled time to guarantee the time and space you need.

Academic Integrity

Exams are solo endeavours; no books, notes, phones, or other devices are permitted other than the 8.5x11-inch cheat sheet.

Projects can be completed in teams of two, or solo. Either way, you are free to discuss your project ideas with classmates as long as every team chooses and develops their own algorithm and writes up their own Algorithm Design Memo without input from others.

Here are some concrete project guidelines:

  • Every team must choose and develop their own algorithm, produce their own pseudocode, and write their own Algorithm Design Memo.
  • Do not co-design an algorithm with another team.
  • Do not share pseudocode or written drafts across teams.
  • Do not reuse another team’s structure, proof strategy, or analysis framing.
  • Do not use AI tools to generate algorithm designs, pseudocode, proofs of correctness, or complexity analyses .

Homeworks can be collaborative. We expect that you will study with friends and work out solutions to problems together, but you must write up your own solutions, in your own words. Copying solutions from a classmate or online source is a violation of our academic integrity policy.

Here are some concrete homework guidelines:

  • Do not submit any work you don’t understand.
  • Never look at someone else's homework solutions.
  • If you produce a solution with a classmate or by consulting an online source, don't simply copy it down afterwards. You must, on your own, write your own solution in your own words.
  • If someone or something explains an answer to you, do not write down their exact words; instead, on your own write up your solution afterwards.
  • If you collaborate with (or get help from) any other student or outside source, then provide a citation on the first page of your assignment at the top.

Artificial Intelligence Usage

You may also consult sources, including generative AI, for your homework and project. However, you must follow the guidelines above, list all outside sources you referenced and how you used them, and never copy anything directly from AI-generated content.

You are also responsible for all work you submit; AI sometimes makes mistakes. We will not answer questions about AI-generated solutions during office hours or on Piazza.

You may use AI to typeset your solutions, including using it to generate LaTeX code and to debug errors you encounter when typesetting your homework.

Academic Integrity Violations

Violation of the academic integrity policy has consequences both within the course and through the university’s OSCCR office. For a first violation, you will receive a zero on the assignment. For a second violation, you will receive a failing grading in CS3000. All violations will be reported to OSCCR: http://www.northeastern.edu/osccr/academic-integrity

Student Services

If you require support during the course due to a disability please ensure that you are already registered with the University’s Disability Access Services, and contact course staff to coordinate any support needed during the course.

Title IX makes it clear that violence and harassment based on sex and gender are Civil Rights offenses subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, etc. If you or someone you know has been harassed or assaulted, you can find the appropriate resources here: Northeastern OUEC.