CS 160: Introduction to Algorithms (Fall 2021)

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
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
Having Questions?


The prerequisites for this class are CS 15 and (CS/MATH 61 or MATH 65).
If you have not successfully completed both courses and are enrolled in CS 160, you must contact the instructor. 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

Instructional Team:

Lead Instructors: Grad TA: Teaching Fellows: TAs:

Office Hours:

  • We have a large pool of very motivated and brilliant TAs. Please don't be afraid to call upon them 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


    • Students are expected to attend class, watch the recordings if applicable, and to complete related reading assignments.
    • We also expect students to participate in recitation sessions, which are a valuable opportunity to practice the material.
    • Quizzes will be given unscheduled during some lectures (for section 01) or available on Canvas (for section M1). We will drop the two lowest quizzes.
    • Part of your grade will be based on your participation above.



    There will be a short project partway through the semester to code an algorithm.


    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 is not allowed on examinations!


    Your final grade will be based on the assignments, midterm and final exams.

    Overall grade = 30%(Homework) + 5%(Participation/Quizzes) + 5%(Project) + 2x20%(per midterm exam) + 20%(Final exam)


    • No homeworks will be dropped.
    • Exam grades will not be explicitly curved, but the final overall grades of the course will be assigned so that anyone above the median is guaranteed at least a B+, and this may be raised based on actual work shown.
    • For students that are slightly under a cutoff we take into consideration if there are external circumstance affecting their grade. This includes students that do noticeably better on the final, those that got deduction for too many late submissions, grad students under the B- cutoff, students that got sick during an exam, etc. However in all cases the grade must reasonably represent the student's understanding of the course.
    • 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 have any grade concerns on Gradescope, we encourage you to send a regrade request. The person who grades your submission will respond to the request. If you still do not agree with the response, please contact the Course Coordinator.

    Tips on doing well in this course:

    • Come to class (or watch the recordings if applicable)! However, simply showing up will not suffice for information retention. Lectures should only serve as an introduction to the material, which you should further study on your own later.
    • If you think the pace of the lecture is too fast, consider reading some basic material beforehand.
    • When studying, try to re-prove things. Derive on your own, rather than verifying what is written. When you simply verify what's there, it is easy to overestimate what you've understood.
    • Please don't cram. The most common reason students don't do well on the exams in this course is that they think they can learn the material for an exam in two days.
    • Spend time on this course regularly. It is one of the core courses in the CS department. You would be spending as much time on this course as with other critical courses, such as COMP 40. Rather than programming, you should spend an equivalent amount of time on exploring and mastering the theoretical concepts you are presented with. Many students underestimate how much time is required to truly understand some of these topics.
    • Use all resources available: class notes, recitation, office hours, the book, the web. Try to solve practice problems from the book by starting from the basic ones. In many cases you can make your own practice problems (e.g. draw an arbitrary graph and find shortest paths).
    • Read all the grading feedback on your homework. The TAs are devoting many hours to grading and giving useful feedback on your work.
    • Do not memorize as much as possible. Instead, try to understand.
    • One of the most helpful stategies is to imagine that you are teaching this material to a group of 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

    Having 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 instructors 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!
    • E-mail If none of those methods work, you can contact the Course Coordinator using the syntax first.last@tufts.edu. However, other methods may be better than emailing in order to get the fastest response.