CS 160-01: Introduction to Algorithms (Spring 2026)
Go to CS 160 schedule
General Information
- Instructor: Karen Edwards
- Lectures: TuTh 9:00-10:15am (T+ block) in JCC 270
- Attendance: There will be a lecture feedback sheet approximately once a week in lecture to measure understanding and participation.
- Office Hours: See Piazza.
- Exams: Dates can also be found on the schedule page.
- Exam 1 and Exam 2: Tue Feb 10 and Thu Mar 26. 75 minutes during regular class.
- Final Exam: Wed May 6 from 12-2pm
- Homework: The homework, typically covering the Tuesday and Thursday lecture and the Thursday recitation is due by 11:59pm on the following Tuesday.
- Canvas: Canvas is being used only to share video recordings of lectures. There are no guarantees about these videos. If you have to miss a class, a better approach is to rely upon friends with good note-taking skills.
Quick Links:
Prerequisites
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?
Prerequisites
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.
This class also assumes familiarity with a few math topics such as logarithms, manipulation of summation notation, and summation of various geometric series. Be prepared to brush up on such topics as needed. There is a "Math for 160" document on Piazza you may find helpful.
Course Logistics
Syllabus
Textbook
- The course is heavily based on the following book:
[CLRS] T. H. Cormen, C. L. Leiserson, R. L. Rivest, and C. Stein.
Introduction to Algorithms (4th edition).
MIT Press, 2022.
- We will also provide section numbers from the 3rd edition, if the topic is in there. (If there is something covered in the new edition that is not there in the older one, or is presented in a different way, be aware that we will be using that newest edition, and your experience is likely to be better if you can gain access to that one.)
- More info at MIT press. Many students find they can learn more easily when they have access to a hard copy (even if it is an older edition).
- You may also use this link to access a digital copy of the 3rd edition from Tufts.
- Two copies of the 3rd edition have been permanently reserved on reserve in the Tisch library for students to access.
- Note: The book is a comprehensive introduction to algorithms and contains many wonderful topics beyond what will be covered in this course.
- For further reading, any of these additional texts is recommended as an extra reference (all of them should also be available in the Tisch library, please alert us if not).
Several students in the past have found the Skiena text particularly readable and have enjoyed his particular perspective, and yet each of these supplemental texts has had fans!
- [KT] J. Kleinberg, E. Tardos. Algorithm Design, Addison-Wesley, 2005.
- [DPV] S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani.
Algorithms, McGraw-Hill, 2006.
- [S] S. Skiena, The Algorithm Design Manual, (2nd edition) Springer, 2010.
- Use this link for an online version from Tufts of the second edition. See here for errata.
- [BVG] S. Baase and A. Van Gelder,
Computer Algorithms, 3rd edition,
Addison-Wesley, Reading, MA, 2000.
Course Tools
- We will use Piazza for class discussions, announcements, polls, handouts, assignments, and so on.
- Homework will be submitted and graded using Gradescope.
- Video recordings of lectures (if successful, no guarantees) will be available on Canvas.
Instructional Team:
Instructors:
- Karen Edwards
- Hari Sundar
Grad TAs:
Teaching Fellows:
- Saška Barancikova
- Eli Morton
CAs:
- Alexis Lee
- Corey Title
- Dan Glorioso
- Jeffrey Li
- Jennifer Luo
- Kai Faris
- Keiji Numata
- Kevin Yu
- Merwan Malakapalli
- Shayne Sidman
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 lecture feedback sheets 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.
Homework:
- Most weeks, you will be given an assignment to practice the material presented in class and discussed in recitation. Due 11:59pm on Tuesday.
- Individual completion and regular timely submission of the homework with full attribution of sources is a prerequisite for passing this course.
- To obtain full credit, you must justify your answers. When describing an algorithm, do not forget to analyse its running time and justify why the algorithm is correct.
Collaboration and Integrity on Homework Submissions
Although you may discuss these problems in the preliminary stages with others, submitted work should be done individually and written in your own words. If you have any discussions with others, whether students, friends, TAs or faculty, relative to a homework problem or if you gain information from a written source (e.g., website) other than your own notes from lecture or the textbook for the course, you must identify your collaborator(s)/source(s) in writing on your homework submission. Failure to cite your sources constitutes an academic integrity violation and may be reported to the Dean.
How to write proofs:
On Piazza there is a short summary containing the key points on how to write proofs. In addition to our guide, there are various materials on the web to check out. We encourage you to look around for those resources whenever you have time in the beginning of the semester.
How to submit homework
-
Homework assignments will be available on Piazza. Homeworks are turned in via Gradescope.
- Homeworks must be typeset using LaTeX. In general, you may handwrite or draw diagrams, trees, and graphs, which you must include/embed in the PDF. Any associated math, analysis, or descriptions of the diagrams should be typeset.
Late homework policy:
- You are allowed
four (4) now six (6) "tokens" to be used at your discretion. Each token accounts for a 24-hour automatic extension on the homework.
- Up to two (2) tokens can be used on the same assignment (for a 48-hour maximum extension). After that, if you want to use more than 2 tokens for a longer extension, you need to ask either in Piazza (to "instructors") or in office hours.
- Tokens will be applied automatically based on the Gradescope timestamp of your last submission. You do not need to notify staff that you are using tokens.
- Make sure to keep track of how many tokens you have used. (You can see late submissions on Gradescope).
- Our calculations have a small grace period (of roughly 10 minutes) to account for last minute changes and/or differences in clocks. This grace period is automatically applied to all submissions.
- If you run out of tokens (or submit homework more than 48 hours late), late homework will be counted as 0. However ....
- At the end of the semester we will calculate how many tokens are used by each student. If a student missed the deadline once by a couple of minutes (even after taking into account the tokens and the grace period), then we will be lenient. Any other case will count as 0, which will be applied to the lowest late homework(s) to minimize impact. So it is always worth turning in homeworks even if you are late and already used all your tokens.
- In short, be punctual and you will save all of us from troubles! If you have a valid reason for not submitting homework or need to request a longer extension, you should notify your Dean (and, if applicable, Health Services). Decisions on any extension requests will be made in consultation with your Dean.
Exams:
- The 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.
- Exam dates and times are listed under General Information and on the schedule page.
- There are no make-up exams, so check the exam schedule before making travel arrangements.
Grading
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)
OR
Overall grade = 25%(Homework) + 5%(Participation) + 2x15%(per midterm exam) + 40%(Final exam)
Clarifications:
- No homeworks will be dropped.
- Participation is half recitation attendance, half lecture attendance (as measured by turning in lecture feedback sheets.) Two recitations and two feedback sheets 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.
- 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
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.
Exam Accommodations
You will be able to take the exam with John or through StAAR. John will typically book a room with 50%
extra time, and will send an email with details about a week before each exam. Please respond to him with your plan.
StAAR
Note that StAAR generally asks for a 10-day notice for bookings. Past that date you can still send
an email to request a booking with them. See their policies here.
Academic Integrity
- It is not acceptable to copy solutions from any source for any work submitted in this course.
- If you cheat on an exam by consulting any source other than the allowed page of notes, the most likely penalty is a grade of F in the course.
- On a homework or project assignment, students may consult a variety of sources at the outset and groups of people may work together, discussing and strategizing how to solve the problems, subject to the following conditions: each person must write and submit their solutions in their OWN words; every person and/or text and/or website consulted in the process of completing the assignment must be accurately cited on the homework paper submitted.
- If, for whatever reason, your homework solutions end up matching solutions from any other source in a non-coincidental way, this constitutes cheating and will incur consequences.
- In case of doubt, we encourage you to reach out to the instructor.
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! If the question needs to be private, please post to "Instructors" (this will reach Karen and all the TAs).
- 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: You can contact the course instructor(s) using the syntax first.last@tufts.edu. However, other methods may be better than emailing in order to get the fastest response.