creation: 6/24/1999; revised 08/28/2008, 10/25/2017
These Notes are an experiment in applying the programmed learning method to web-based computer aided instruction. The subject is Java Programming for beginning programmers. The content is intended to:
These notes started as a supplement to a freshman-level university course in computer science. Their purpose was to provide additional discussion and many examples of fundamental topics. Typical university texts cover the beginning material at a fast pace (perhaps because the book must fit all its topics into 1000 pages). Typical mass market Java books also are light on these topics (often the book assumes that the reader is already a programmer). These notes try to fill the gap. They don't cover all topics, but go at a slower pace for the fundamentals. The material is kept interesting (maybe) by using programmed learning.
Programmed learning is a technique of organizing instruction so that after each new concept the reader is asked a question that reinforces the concept. Instruction proceeds by
lesson → question → (student thought) → answer → lesson → question → (student thought) → answer → . . . . .
The lessons are short; the questions are easily answered. The constant feedback results in active learning on the part of the reader and better comprehension and retention. Many studies have shown that the technique is very effective, especially for beginning lessons in technical subjects. When a student keeps mentally active by answering each question and checking the answer, learning is much faster.
Programmed learning was especially popular in the 1960s and 1970s. Usually it was implemented using printed books (with the lesson, question, and answer separated by thick printed bars or each printed on a separate page.) This was awkward.
At major universities it was implemented on main frame computers with special (and very expensive) terminals for the students. Only privileged students got machine time, and only by signing up in advance to use the special teaching laboratories. A staff of technicians and educational programmers was needed to make it all work.
Now with the web, programmed learning technique is cheap and easy. Oddly, nobody does it anymore.
These notes are "classroom tested" — which means that they have been used in actual classes and have been written and adjusted based on those experiences. Some entire chapters were written in response to student questions in class or in response to common problems and misunderstandings students seem to have. Some chapters were written to address problems students had with the AP Computer Science test.
No formal testing of these notes has been done. However, many students have said good things about them (especially near the end of the semester when grades are due).
Yes, but they provide a different type of instruction than a traditional text. Many readers like to read a printed text as they go through these notes. The combination of
is especially effective. The Web sites for many high school and university courses in Java link to this site as a supplement to the regular text book. Of course, if you are taking a course in school, your text book is your primary source and it might be a fatal mistake to try to get by without it.
There are two types of books on Java:
Many mass market books (such as sold at Barnes and Noble) are written to sell to the widest audience possible, and skip much of the foundations of computer programming. Even text books are sometimes weak on this, assuming (I suppose) that the more subjects the book covers in 800 pages the better it will sell.
The holes in the chapter numbering are for chapters yet to be written or for chapters that have been replaced. The holes are there so future chapters can easily be inserted without renumbering everything. Some holes are where old chapters were eliminated when they became obsolete. To avoid confusing search engines and bookmarks, the surrounding chapters were not renumbered.
That's the question I ask most frequently...