Frequently Asked Questions

Here are some answers to the commonly asked questions. Please have a read through these, you may find the answer to your question here.

Enrollment and Waitlists


  1. I am on the waitlist. What can I do to get in? What are my chances of getting in?
    There is a cap on the number of students we can allow in, usually dictated by the size of the lecture room, and the number and size of the recitation sections. However, we will let in all the students we can. And in past years, we've managed to clear the waitlists a couple of weeks into the course, as undecided students slowly make their choices. So our best recommendation is: sit tight, come to lectures and recitations, solve the quizzes, and wait for the waitlists to be cleared (or for more information from the course staff).
    Other common reasons why you cannot get into the course: you have a scheduling conflict, or you are enrolled for too many units. In this case we cannot help, you will have to resolve these issues yourself.

  2. Can I go to a recitation section other than the one I've registered for?
    Ideally, you should be registered for the section you attend. This makes sure no one section is overloaded, and the TAs can keep track of attendance and other logistical issues (like how many handouts to bring along).

Performance in the Course


  1. I am struggling in the course: what can I do to catch up?
    We're sorry to hear that. A little struggle is natural while you learn new ideas, of course, and students usually get better as the course progresses and you get more used to the ideas and to the problem-solving process. Here are some approaches that students have found useful. (Several of these are the obvious solutions, but still worth repeating.)
    • Attend lectures and recitations. If it helps, read over the lecture notes before you come in. We'll provide printed copies of the lecture notes: annotate them! In the margins, write down your questions, answers, thoughts, clarifications, whatever helps.
    • Read over the lecture notes and recitation handouts at the end of the day, and make sure you still remember and understand the ideas. If you don't, or are unsure about some concepts, discuss them with your friends, your TAs, or the instructors.
    • Solve the quizzes. They'll give you quick feedback on how well you're getting the basic concepts. We allow multiple attempts, so if you feel unsure about some questions, think about them and revisit the lecture notes, and then come back to them. And when the answers are revealed, go over it to check where you erred, and why.
    • Form a study group. It's more fun to learn with (and from) friends. Of course, some of the HWs are to be done individually, but you can use your study group to discuss the lectures and recitations, and solve other problems. Or just to clarify your understanding.
    • Start the HW early. Read the problems, think about them. Try small examples. They are usually related to ideas we've covered in lecture and recitation, so think about how those ideas apply. See here for other HW tips. If the problem seems incorrect or ambiguous, check Piazza for clarifications from the staff or other students.
    • Come to office hours. Please be prepared to answer the question: "What did you try? Where did you get stuck?". Just articulating the answer may help you pinpoint the hurdle, and hence get unstuck ASAP.
    • Practice solving problems. E.g., the problems in the recitation handouts. The homework problems, of course. And solve more: the textbooks we recommend all have problems sets (and the library has copies of these texts). The internet has many many problems.
    • If you're still feel out of your depth, talk to us, and also your academic advisor. They may be able to suggest ways to help, and offer solutions that are tailored to you.

  2. I am enjoying the course: what can I do to learn more?
    That's great! You may enjoy solving problems from the books we've recommended, or from other sources on the Internet. You may want to check out Professor Sleator's Competition Programming and Problem Solving course. Or take graduate courses like A Theorist's Toolkit or Advanced Algorithms. You may also want to try your hand at research, maybe over the summer break!