Second, some of you studied the C++ language last semester and
others studied Scheme. Both groups will learn a new language,
Java, which has some similarities to both C++ and Scheme and is
particularly useful for network and Web programming. As a bonus,
you'll gain perspective from knowing more than one language, and
some of the skill (essential to professional programmers) of
learning a new language quickly. We'll concentrate on the syntax
of the Java language for the first month or so of the semester,
and then spend a few weeks on graphics and applets. Third, we
undertake algorithms and data structures as a topic of study in
themselves. An algorithm is a method of solving a computational
problem, typically embodied in a computer program, but the same
algorithm can form the basis of different programs in different
languages. A data structure is a way of organizing information
(e.g. an array, structure, list, or tree) so that we can find
the parts we want easily and efficiently. Object-oriented
programming is