I may add to this list during the term.

How can I best learn the material of this course?

Do lots of problems. The homework assignments are just the beginning. Do all problems associated with the parts of the textbook that we read. The textbook's website has answers to selected exercises. Other books mentioned on the course web site (especially the ones by Edmonds and Parberry) are good sources of additional problems. The programming contests are another good source of algorithmic problems. (The contest web page has links to vast archives of problems you can practice on.)

What should I do if I get stuck on a homework problem?

Come see me to discuss the problem. I can help you determine which of the approaches you are trying is the most promising. Before you come see me, you should spend some time thinking about the problem yourself, so that we can have a useful conversation about it.

If you are unable to come to my office, send me email, but email is better for quick questions (e.g., clarifying the meaning of some part of the question) rather than a detailed discussion of how to solve it.

Do I have to type my solutions to homework assignments?

It is a good idea, but not required. It is easier for the TA to read, and it makes it easier for you to edit and revise your solutions before handing them in.

If you choose to submit handwritten solutions, your handwriting should be beautifully legible: it should make the teacher who taught you penmanship in grade 2 blush with pride. Also, you should do your rough work first, and then hand in a pristine, polished, rewritten final version.

If I want to type my solutions, what software should I use?

LaTeX produces elegantly typeset documents, is available for free, and was built to handle even the most complicated mathematical notation. It can take quite a long time to learn how to use it, but once you do, you probably will not want to type documents any other way. If you do not want to use LaTeX, pick a word processor that can handle the mathematical notation you want to use. (You should not have to restrict the notation you use because your software cannot handle it.)

How long should my answers be?

You should make every effort to make your answers as brief as possible, while still being thorough. Brevity requires careful thought and editing. (Pascal once excused himself for writing a long letter, saying that he did not have enough time to write a shorter one.) Students who write copious amounts usually do not know what they want to say, or are saying it in a very disorganized way.

Usually an answer to a homework question should fit on one sheet of paper. If you are writing much more than that, you probably have not found the best way to solve it.

On tests, your answer should usually fit into the space provided for it.

How detailed should my proofs or answers be?

I handed out sample solutions for a previous year's homework assignments. They give you a good idea of the level of detail I would like to see in your homework submissions.

If the deadline arrives and I cannot solve a problem, what should I do?

Hand in any partial result that you have.

Should I cheat?


As time runs out, some students are tempted to get help from other students in a way that would violate the course policy on Academic Honesty. DO NOT DO THIS. If I catch you doing this, I will send you to the Dean. This happens almost every time I teach a course, and in every single case I have had over the past 10 years, the student has been found guilty and punished. The assignments are worth very little, so it is not worth risking a sizable punishment. (Furthermore, I have noticed that the students who cheat on homework assignments almost always fail the tests and exams, so even if I do not catch you cheating, you will likely fail the course if you do not do your own work on the homework assignments.)

Is it okay to try to find the answer to a homework assignment on the web, put it in my own words and submit it?

No. The solutions you submit should be your own work. (See the course policy on Academic Honesty.) You may learn a little by finding someone else's solution, but you will learn much, much more by working on the problem yourself. Furthermore, the web will not be available during your exam, so you should learn to solve problems yourself, instead of relying on others to do your thinking for you.