How to Succeed in CS 50
- Read the material before you come to class.
Don't worry about
total comprehension, but at least get a feel for what we will be covering
that day. If you have some understanding of the material coming into class,
it will be easier for you to ask questions during class, rather than later,
when I might not be around. Additionally, we will often do computer
exercises during class. These are an important part of the learning process,
as they give you immediate experience with the material we are covering. If
you read the book before you come to class, the exercises will be much
easier.
- Ask questions if you don't understand.
This means both during
class and while doing your homework. This class continually builds on
previous material, so if you don't understand something one week, it will
continue to be a problem the next week, and the week after that, and so
on...until you finally do understand it. If you need help, ask the student
mentors or your classmates (but make sure you have read the Collaboration Policy
first), try going to the mentor sessions, send me email, or come talk with me
in my office.
- Start the homework assignments early.
I realize this one is
not always easy to do, but if you can get into the habit of doing this, you
will be much, much better off. Here are two reasons to start early: (1) if
you get stuck early (i.e., not two hours before it is due), there will
be time to look for help (again, mentors, classmates, email me); (2) if you
get stuck early, you can always walk away, go do something else (like sleep),
and come back later. I find I always have at least a few new ideas when I
come back to something like this. If you wait until the last minute, you
can't do this.
- Practice, practice, practice.
The only effective way to learn
this material and pass the exams is to consistently do the homework. Finish
all of the programs we assign (and do some extra ones, for fun!). Even if
you don't get them done on time, they will still help you learn the material.
As for the exams, if you are able to complete the programming assignments,
you should have no trouble with the exams.