A note about this course:
This course is not about Java. It is
about the principles of program design that apply to
any class-based language. Java is used only to provide
a concrete platform for the practice of the program
design. We introduce Java-specific techniques when
appropriate. We also highlight the situations when
Java programming language does not provide a proper
support for the design principles we wish to apply -
and show how to adjust the program design to fit the
language constraints.
General advice -- modified from advice of
Matthias Felleisen
You cannot learn everything
you need to know in lectures and/or homeworks. You
must:
- Read all available material. This includes the
text, the lab notes, old course materials, and a
review of the HtDP text.
Try to stay ahead of the game and read material
before it is covered in class. If you have
questions, write them down. If these questions
don't get covered, ask in class and/or meet with
the tutors, lab coordinator, or professor.
- Attempt to solve additional problems.
Try to solve as many exercises as you can. If
you can't do them, read the material again.
- Attend the lecture and labs.
Every professor has a personal understanding of
a course and teaches the material according to a
personal style. It is important to get used to
and to exploit this "personalization of
courses"; otherwise, you're wasting your money.
The labs cover the practical know-how (how to
edit, how to evaluate, how to print, etc.) and
illustrate the material from a different angle.
- Talk to the teacher.
If the lecture and the notes leave you with
questions on the material, see your teacher(s)
during office hours or make an appointment. Mark
the passages in the book(s) that you haven't
understood and prepare questions that express
what you haven't understood.
- Keep up.
Experience proves that students who fall behind
quickly drop out. So, keep up with the readings,
labs, and the homeworks. Ask for additional
problems, if the homeworks failed to make a
point.
- Ask for help if you need it.
If you feel you do not follow the material
despite your best efforts, talk to your
instructor to determine the source of the
problem and to find a way to help you make
progress. Only you know when this is needed -
so, be pro-active.
- If you already know Java.
If you are confused why this course does not
look like a Java course you may have seen
already, talk to the instructor. Hint: This
is not a Java course.
|