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 in,
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 course 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, come talk with me
in my office, send me email, or ask your classmates (but make sure to read the
Collaboration Policy
first).
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 the deadline), there will be
time to ask for help; (2) if you get stuck, 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 is to consistently do the homework. Finish all of the assigned
programs (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.