Next: Language and design recipes
Up: Subject Matter
Previous: ``Good'' Programs
A first programming course is in some sense an almost impossible
task. In one semester, you'll be asked to learn several different kinds
of knowledge:
- How to use the computers and the software on them
- The grammar, punctuation, and vocabulary of a programming
language
- How to analyze a problem and design a program to solve it, so that
the program is both correct and easy to write, read, modify, and repair
- How to plan your time, and what sequence of steps to go through,
in designing, writing, testing and debugging a program
- Application-specific knowledge (e.g. to write a program
that draws geometric shapes on the screen, you have to know something
about geometry.)
It is easy for a student (or a professor or a textbook author, for that
matter) to get caught up in the details of the first two at the expense
of the rest. I urge you not to fall into this trap, because the
specific kinds of computers and software, and to some extent the
language, you learn this semester will almost certainly be obsolete by
the time you leave Adelphi. The much more interesting and lasting
knowledge is at levels 3, 4, and 5 (and I'll try to minimize the time we
spend on level 5 because it's not specific to computer science).
In short, although all five kinds of knowledge are necessary in order to
write a good program, I'll try to concentrate on levels 3 and 4.
Next: Language and design recipes
Up: Subject Matter
Previous: ``Good'' Programs
2002-01-24