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
- 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.
- 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
- 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.
- 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!