CS 160: Introduction to Algorithms (Spring 2023)

algorithms word cloud

Go to CS 160 schedule

General Information

There are two sections of 160 for different populations: CS 160-01 CS 160-M1

Quick Links:

Course Logistics: Syllabus, Textbook, Tools
Textbook, other materials
CS 160 Staff and Office Hours
Expected Work: Participation, Quizzes, Homeworks, Project, Exams
Grading Policy and Clarifications
Tips on doing well
Important Tufts Policies and Resources
Have Questions?


The prerequisites for this class are CS 15 and (CS/MATH 61 or MATH 65). If you have not successfully completed both courses either at Tufts or elsewhere and if you are enrolled in CS 160, please contact the instructor for your section. We will be glad to help with references for you to study, but please understand that learning the pre-requisite topics is mainly your responsibility.

Course Logistics



Course Tools

CS 160 Staff:

Lead Instructors: Grad TAs: Teaching Fellows: Course Assistants:

Office Hours:

  • We have a large pool of motivated and talented TAs, TFs, and CAs. Please don't be afraid to join them in office hours as needed to help you further understand the material.
  • Full breakdown of office hours is available on Piazza. Any cancellations, one-time location changes or additional hours will also be noted there.

    Expected Work

    Participation: Classes, Recitations, Quizzes/Feedback Forms:

    • In-person students are expected to attend class, and online students to watch the videos. All students should complete the related reading assignments.
    • In-person students are expected to attend and participate actively in recitation sessions. Online students are expected to attend and participate actively in their dedicated evening class and recitation, as these sessions provide an invaluable opportunity to practice the material and solidify learning. For both in-person and online students, attendance and level of engagement will be noted.
    • Spontaneous feedback forms may periodically be given during in-person class periods while online students will take quizzes on Canvas.
    • We will also obtain quiz data based on your responses during your reading of the online textbook.
    • Part of your grade will be based on your total participation above. Note that we will drop the the two lowest quiz or feedback form scores and thus we will not offer any makeup quizzes.



    The two midterm exams and the final exam will include questions similar to those included on homework assignments or recitation problems and will draw on material covered in lecture and/or in the reading. Collaboration on examinations is expressly forbidden, and any suspected collaboration will be reported to the Dean.

    Exam dates and times are listed above, as well as on the
    schedule page. There are no make-up exams, so check the exam schedule before making travel arrangements.


    Your final grade percentage will be the maximum of the following two formulas:

    Overall grade = 30%(Homework) + 3%(Participation) + 3%(Quizzes) + 4%(Projects) + 2x18%(per midterm exam) + 24%(Final exam)


    Overall grade = 30%(Homework) + 3%(Participation) + 3%(Quizzes) + 4%(Project) + 18%(per stronger midterm exam) + 12%(weaker midterm exam) + 30%(Final exam)


    • No homeworks will be dropped.
    • Exam grades will not be curved explicitly, but the final overall letter grades of the course may be adjusted: Although typically an average of 87% might be necessary for a grade of B+, anyone in this class whose average is at or above the median will earn at least a B+.
    • If your grade in one of the parts is significantly higher than the others, we may choose do an in-person interview and/or revisit the grade.
    • If you fail to submit 3 or more assignments without justification, your final grade will drop by a letter. If you fail to submit 5 or more assignments, you will not pass the course.
    • Failing to submit a question in an assignment with x questions counts as 1/x of assignment towards this rule. Submitting an answer that shows almost no effort will also count towards this rule.

    Regrade requests:

    If you believe any of part of your work on Gradescope was graded incorrectly, and you still believe that 24 hours later, we encourage you to send a regrade request. Regrade requests should be concise, directed, and respectful. You should point out a specific aspect of the assignment that was graded incorrectly, and explain why in your own words. We also reserve the right to deduct points if we notice additional errors during the regrading. The person who regrades your submission will send you a response. If you have further concerns thereafter, you may contact one of the TFs or Graduate TAs at office hours or through a private Piazza post. Regrades must be submitted no earlier than 24 hours and no later than one week after the release of the grades, unless stated otherwise.
    Regrade requests submitted without proper grounds (no grade adjustment/lacking proper explanation) will be penalized. We highly recommend you bring your graded solutions to office hours to review with a TA or professor before submitting to ensure that you are submitting a regrade request for a good reason. Any instance where a student has been advised by a member of our staff to submit a regrade request will not be penalized, regardless of whether any adjustments are made to the grade.

    Tips on doing well in this course:

    • Come to every class prepared by having completed the reading and having reviewed the recordings or your notes, as appropriate. Simply showing up will not suffice for your learning.
    • If the pace of the lecture feels too fast, consider reading some basic material beforehand, perhaps in one of the auxiliary texts.
    • When studying, try to re-derive the solutions on your own, rather than verifying what is written. You would like to "own your knowledge".
    • Please don't cram. This material needs time to sink in. It cannot be learned in a couple of days.
    • Spend regular time on this core course in computer science. It will require as much time as other core courses such as CS40 and CS105 where you may spend significant time programming. In CS160, you should spend an equivalent amount of time developing a deep understanding and mastery of the core theoretical concepts and algorithm paradigms being presented.
    • After doing the reading and attending class, brainstorm about homework problems with a small study group including 2-3 other students, informally gathering ideas without taking notes. Then go off by yourself and work independently at writing up the solutions. Make sure to cite the other members of your study group, as well as any member of the CS 160 staff you may have consulted.
    • Use all of the course resources. Actively participate in recitation. Attend office hours when you have questions. If additional questions arise, you may post them to Piazza. Solve extra practice problems from the book by starting from the basic ones. Make your own practice problems (e.g., draw an arbitrary graph and find shortest paths).
    • Read all the grading feedback on your homework as well as the published homework solutions. The TAs are devoting many hours to grading and giving useful feedback on your work, as well as in supplying succinct and clear sample solutions which can benefit you, even if you earned most or all of the credit with your own solution.
    • Avoid memorization. Instead, focus on understanding and then being able to explain a concept or prove a theorem in your own words.
    • One of the most helpful strategies is to imagine that you are teaching this material to your parent or to a cousin or to a next-door neighbor. If you don't have the details right and don't fully understand the solution yourself, you will confuse them. (Try and actually practice explaining the concepts!)

    Tufts University Policies

    Faculty, students, and staff are jointly responsible for the policies below. Please read carefully and do not hesitate to contact us if you have further questions.

    Equal access

    Tufts University values the diversity of our students, staff, and faculty; recognizing the important contribution each student makes to our unique community. Tufts is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the Tufts Experience.

    If you have a disability that requires reasonable accommodations, please contact the Office of Accessibility Services at The StAAR Center.
    (Note: Academic tutoring is also offered by the StAAR Center for those who need tutoring through Tutor Finder)

    Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.

    Academic Integrity

    Have Questions?

    This website is a great source of information for this class. Before inquiring, please check for the answer here (e.g., when is the exam, how do tokens work, etc).
    If you still have questions, we can be reached as follows:
    • In class: Just come and chat with the instructor before/after the lectures.
    • Office hours: We have many office hours. Please keep in mind that the further away you are from a deadline, the less waiting time you will have.
    • Piazza: The main advantage of posting your question on Piazza is that the TAs and/or your classmates will also see that question and can answer it much faster. Make sure to use the search button before posting because your question might have already been asked!
    • PLEASE NOTE: Your communication with TAs should be at office hours and over Piazza. Please do NOT email TAs directly -- their work for the department as TAs should be conducted at office hours and over Piazza, keeping their personal email addresses for their own use as students.
    • E-mail: If none of those methods work, you can contact the course instructor using the syntax first.last@tufts.edu. However, other methods may be better than emailing in order to get the fastest response.