COMP 160: Introduction to Algorithms (Fall 2019)

Welcome to Comp 160's official Webpage. In here you will find lots of information related to the course.

General information (on this page):

When and where is class?
Who is teaching?
Who are your TAs?
Office hours
Whom should you contact?
One-page Syllabus
How to write proofs
Textbook, prerequisites, topics
Course tools
Tips on doing well
Expected work
Grading (and an important note)
How to submit homework
Tufts policies, and the consequences of academic dishonesty

Schedule: Detailed schedule of all events related to the course.

Reading: Organized by topic; class notes, links, videos and textbook references.


COMP 15 and COMP/MATH 61 (in other words, basic data structures and discrete math)
If you have not successfully completed both courses and are enrolled in comp160, you must contact the instructor.

When and Where is class:

  • Lecture:
    Tue & Thu, 16:30 - 17:45 am (L+ block). Barnum Hall, room 104
    Tue & Thu, 18:00 - 19:15 am (N+ block). Barnum Hall, room 104
  • Recitation:
    Wed 13:30-14:45. Location: Barnum Hall, room 104 // Led by Lauren Labell, Naoki Okada, and William Scott
    Wed 16:30-17:45. Location: Anderson Wing SEC 112// Led by Rosanna Vitiello, Leon Wang and Emmerson Wenzel
    Thu 13:30-14:45. Location: Anderson SEC 206 // Led by Mert Erden, Long Tran, and Joshua Tso

Instructional Team:

Lead instructor
  • Matias Korman
Course Coordinator
  • Karen Edwards
Grad TAs:
  • Leon Wang
  • Mert Erden
  • Anthony Goss
  • Maria Kim
  • Aditi Kocherlakota
  • Lauren Labell
  • Naoki Okada
  • William Scott
  • Ranjit Thomas
  • Long Tran
  • Trung Truong
  • Joshua Tso
  • Rosanna Vitiello
  • Emerson Wenzel
  • Ashley Wicks
  • Liuzhen Yi
  • Hannah Yin
  • Shi Zhang
  • Lulu Zheng

Office Hours:

We have office hours From Monday to Friday and Sundays (full breakdown of office hours is available in the schedule page).
Any cancellations, one-time location changes or additional hours will be posted in Piazza. Whenever possible, a note will also be written on the whiteboards in the collaboration room.

Whom to contact, and when:

A great source of information is this website. First make sure the answer to your question isn't already in here (e.g., when is the exam, when are office hours, etc)
If you still have questions, we can be reached in the following ways:
  • In class Just come chat with the instructor before/after lectures.
  • Office hours we have a large pool of TAs to cover most work hours. The further away you are from a deadline, the less waiting time you will have
  • Piazza The main advantage of posting on Piazza is that TAs and/or fellow students will also see the questions and can answer them much faster. Make sure to use the search button before posting!
  • E-mail If all of the above methods fail, you can reach me via mail (instructor's This e-mail address is loosely monitored and should NOT be used for urgent issues. Any of the above methods are better methods are a much to get a faster response.

One page syllabus

We summarized the most important information of this webpage into a 1 page PDF. You can download it in this link. Make sure to print it and carry it around with you.

How to write proofs

We also did a short summary containing the key points on how to write proofs. You can download it in this link. In addition to our guide, there are tons of similar guides in the web. We encourage you to look around for those resources whenever you have some time.


Course tools:

Tips for doing well in this course:

  • Come to class! Don't expect that all you need to do is show up and simply soak in information. Lectures should serve as an introduction to material, which you should further study on your own later. If you find that the in-class pace is too fast, consider reading some basic material beforehand.
  • Taking extensive notes in class works well for some people, but keep in mind that all class notes displayed are already available to you. Consider bringing a printout of the condensed notes to class. Then you can mark your own observations, clarifications and questions quickly, and spend more time paying attention.
  • 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.
  • 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 a core course in the CS department. You would be spending as much time on this course as with other critical courses (such as comp40). Rather than programming, you should spend an equivalent amount of time exploring and mastering the theoretical concepts you're presented with. Many students underestimate how much time is required to truly understand some of these topics.
  • Use all resources available: class notes, the summary PDF document at the top of the Reading page, the videos, the book, the web. Practice problems from the book, starting with the more basic ones. In many cases you can make your own practice problems (e.g. draw an arbitrary graph and find shortest paths).
  • As much as possible, don't memorize. Instead, understand.
  • Pretend that you will have to teach the material that you're reading, to 100 people.

Expected Work:

Students are expected to attend class and recitation regularly and to complete regular reading assignments. we will not check for attendance nor it will have any direct influence your grade. You are welcome to use the slides and lecture recording of the previous instructor (Prof. Greg Aloupis), but please note that this material is for reference only. Students are responsible for knowing what was taught during this semester, which will include the instructors variations. The course will have topics that have not been recorded and those topics will come in the exam. In other words, please come to class. Graded course work will include regular homework sets, three partial exams, and one final examination.


Each week you will be given an assignment to practice the material discussed in class. Individual completion and regular submission of the homework with full attribution of sources is a prerequisite for passing this course.
NOTE: Groups of people may work together at the outset, discussing and strategizing how to solve problems, and various other sources may be consulted, subject to the following conditions:
  • each person must write up and submit his/her solutions in his/her OWN words;
  • every person and/or text and/or web site consulted in the process of completing the assignment must be accurately cited on the homework paper submitted.
Violations of the above may earn a grade of 0 and be reported to your dean. See below for
how to submit homework.


The in-class exams and the final exam will include questions similar to those included on homework assignments and will draw on material covered in lecture and/or in the reading. No collaboration or devices are allowed on examinations.


Your final grade will be based on: If you have any grade concerns we encourage you to send a regrade request. The person who graded you will respond to the request. If you still do not agree with the TA make a post on Piazza and we will further look into it. If you have a serious reason for not submitting homework or not taking an exam, you should notify your Dean and/or Health Services, and of course you may copy us as well.
Final grade = 20%(Homework) + 3x20%(each of the three midterms) + 20%(Final exam)
Note: do not assume that the numerical score you receive on homework or exams directly corresponds to a particular letter grade. Your score is just a number that lets us figure out who is doing better or worse than the median, so don't panic if you think you scored low. An evaluation of your performance will be given after the first exam. As an example, homework scores have often averaged around 85% where exam scores have often had a median between 60% and 65%, and an 85% is excellent.

How to submit homework and receive grades

On academic integrity

Don't cheat: