DRAFT: CS 160-01: Introduction to Algorithms (Spring 2024)

algorithms word cloud

Go to CS 160 schedule

General Information

Quick Links:

Course Logistics: Syllabus, Textbook, Tools
Textbook, other materials
Instructional Team 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 your instructor. We will be glad to help with references for you to study, but please understand that learning the prerequisite topics is mainly your responsibility.

Course Logistics



Course Tools

Instructional Team:

Lead Instructors: Grad TAs: Teaching Fellows: CAs:

Office Hours:

  • Office hours are a great place to hang out and get work done, whether or not you have any questions yet. We have a large pool of motivated and talented TAs. Please don't be afraid to join them in office hours as needed to help you further understand the material.
  • List 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:

    • Students are expected to attend class and complete the related reading assignments.
    • Students are expected to attend and participate actively in recitation sessions (attendance will be taken; we will drop two). These sessions provide an invaluable opportunity to practice the material and solidify learning.
    • There will be short gradescope quizzes approximately once a week in lecture to measure attendance and understanding. We will drop two. Part of your grade will be based on this participation.




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

    Overall grade = 25%(Homework) + 5%(Participation) + 2x20%(per midterm exam) + 30%(Final exam)


    Overall grade = 25%(Homework) + 5%(Participation) + 2x15%(per midterm exam) + 40%(Final exam)


    • No homeworks will be dropped.
    • Participation is half recitation attendance, half lecture attendance (as measured by turning in class gradescope quizzes.) Two recitations and two class gradescope quizzes will be dropped, i.e., you can miss up to 2 of each for any reason. We do not distinguish between "excused absences" and other absences; all such requests are covered by dropping 2 for everyone. If you have valid reasons for missing 3 or more recitations, or 3 or more class gradescope quizzes, please email the instructors.
    • Exam grades will not be curved individually, but the final overall letter grades of the course will be adjusted as needed. In particular, anyone in this class whose overall average is at or above the median will earn at least a B+.

    Regrade requests:

    If you believe any part of your work on Gradescope was graded incorrectly, we want you to let us know via a regrade request on Gradescope. 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 within one week of release of the grades, unless stated otherwise.

    Tips on getting the most out of this course:

    • Come to every class prepared. At a minimum, you should review the previous lecture, and you may also benefit from looking over the reading beforehand. 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, perhaps with a small study group including 2-3 other students, informally gathering ideas and without taking notes. Then remember to go off by yourself and work independently at writing up the solutions. Make sure to cite the other members of your study group.
    • Use all of the course resources. Actively participate in recitation. Attend office hours when you have questions. If additional questions arise, post them to Piazza. Solve extra practice problems from the book (these may vary in difficulty). 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 any published solutions (e.g., recitation). 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!) This is another reason we encourage you to collaborate in small groups, to be active at recitations and to attend office hours, since these are good opportunities to discuss the course materials with other people.

    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 a large pool of TAs to cover most work 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 instructors using the syntax first.last@tufts.edu. However, other methods may be better than emailing in order to get the fastest response.