Here are some suggestions for a strategy to pass this class:
DO'S (a recipe for success in this course:)
- Read the textbook. The chapters we will cover
are listed in the course syllabus. The text provides good core
information - if you read over the material before class, you
will get more out of the lectures and be able to ask questions.
Come to lecture with questions.
- Read the entire homework assignment as soon as it is
assigned, even if it's confusing. Do not wait
until the topic is covered in lecture to start working.
Lectures will give you a deeper understanding of concepts and
go through examples. However, if you attempt to use lectures as
your sole source of information, you will be sunk on the
homework.
- Do your own work. You can discuss the
problems with classmates, but then start over and work them out
yourself. Otherwise it is very easy to fool yourself into
thinking that you understand the material well enough to do it
yourself. The exams are worth 70% of your grade. You will be on
your own in the exams, so learn to work on your own. (Also
remember our strict rules about cheating.)
- Go to labs. They give you a head start on
your homework and can save you many hours.
- Ask for help after you have made a sincere
effort to figure something out. When you have an idea for
solving a homework problem feel free to run it by the professor
or GTFs. We will try to give you a thumbs-up or thumbs-down on
your strategy. This can save you enormous amounts of wasted
time. Again, you want to do this early.
- Document your code with comments. Pay
attention to coding style and strive to make your code neat and
easy to read. Write all software as if it will be seen by
experts and be around for a long time.
- Experiment. If you wonder whether or not some
code is legal or does what you want, try it out. Learn from the
compiler by trying small chunks of code to see whether it
compiles and works the way you think it should.
- Use the Java API documentation. Become
familiar with how to read the API. The holy grail of software
development is re-use, so learn how to find and use existing
classes and methods.
- Aim for elegant solutions. Don't be satisfied
with a "quick and dirty" program to produce the correct
results, but refine your work to the best solution
possible.
- Debugging skills we introduce can save you
vast amounts of time and frustration. Watch for them.
DON'T (Each of these, alone or in combination, usually
leads to failing this course.)
- Do not wait to start homework
- Do not spin your wheels for hours before you get help from
210 staff
- Do not work in groups