2010 September 25 / j|d|a|v|i|s|@|c|a|r|l|e|t|o|n|.|e|d|u

How to Study

Carleton College CS 201, Fall 2010, Prof. Joshua R. Davis

Introduction

You've been in school for a long time and you probably have a good idea of which studying strategy works best for you. But I've been in school even longer — especially at the post-secondary level, especially in computer science and mathematics — and I'm writing and grading your exam. So you might consider integrating my study advice with your personal style.

The first task is to know exactly what the exam covers — which assignments, which class meetings, which parts of the textbook. This is on the syllabus.

Read the Textbook and Class Notes?

I do not recommend reading the textbook or class notes in detail while studying. You might give them a skim, to remind yourself which topics have given you trouble, so that you know where to focus your attention. If you never read a section, or if you missed a day of class and had to get notes from a classmate, then definitely skim that stuff. If you've never looked at the class program files such as callstack.py or recursive.py, then maybe you should. But reading is often a passive activity, and your studying should be active. Instead of reading, you should be solving problems.

Wait — if you never read your class notes, then is there any value in taking notes in class? Yes; writing the notes is valuable.

Wait — if reading the textbook is passive, then should you ever read the textbook? Yes; before class, to get ready for learning actively.

Read the Assignments?

The assignments are really important to me, because they represent my best attempt to get you to learn the most important aspects of the material. Sometimes on exams I ask assignment questions verbatim. More frequently I ask variations, sometimes pushing the assignment questions to the next level of difficulty. If you didn't master the assignments in the first place, then you'll have trouble solving the exam questions.

Make sure you still know how to solve all of the assignments. Make sure that you have all of your old solutions and their grading results, especially if your partner handed things in for you. Read the grading results and figure out how to fix all of the defects in your solutions.

Now you're caught up in the course and ready to begin studying. Fortunately it won't take very long.

Do All Problems Available

Our course web site has exams from previous terms. Do them. Note well that the schedule of exams and topics varies somewhat from term to term. If you're studying for the first exam, you might want to look at the old second exams as well, to make sure not to miss any relevant questions. Determining what is relevant and what isn't is itself good studying — it forces you to think about what you know and what you don't. Some of these old exam questions we've already done in class or in assignments.

At the end of each chapter in our textbook there are Key Terms. You should know these, although I won't ask you to define terms on an exam. At the end of each chapter there are also Discussion Questions and Programming Exercises. Do as many of these as you have time for. In our course we don't go through the book in order; we jump around. So again you'll have to determine which questions you should be able to answer, and which you shouldn't. That's good.

Make Up Problems

It is more difficult to make up a good exam problem than to solve one. Making up a problem forces you to think hard about the material and about your knowledge of the material. On a more practical level, making up problems helps you predict what I'm going to ask, and hence is good for your grade.

There are many ways to invent your own problem. Here are a few ideas.

Trade problems with a studying partner. The problem you get from your studying partner might be extremely easy or wickedly difficult; it may not even be well-posed. While you're trying to solve the problem you may also have to figure out what it's about and whether it's solvable. Write a solution or critique for your partner. Meanwhile your partner is also giving you a solution/critique. You may find that your carefully constructed problem has a trivial solution that you didn't notice, or that it doesn't make any sense and reveals that you have a major misconception. That's good to know.