0: Introduction, Welcome to Java!#

The main topic of this textbook is data structures and algorithms. Data structures are ways in which we, humans, conceptualize how non-simplistic information is stored in memory. Algorithms are the steps by which we manipulate the data. Both of these concepts will be defined more formally as we learn more.

What fun to learn a new programming language, to go along with this main topic! If you come into Java from a scripting language such as Python, you will see that Java is a language that is a tiny bit closer to the machine. Learning a second language moves us closer to the real essence of Computing, versus the principles of one particular language. The more languages we learn, the easier it is to move between languages as the need arises. Learning Java allows us to become ready to learn the C programming language, which is still a critical language to know when fuller control of run-time speed and memory management is necessary.