Annotated Table of Contents
Presents a concise overview of the history of computing, computer hardware and software, binary representation of information, programming languages, the software development process, and an intuitive overview of OOP.
Presents an overview of the JVM and byte code, the edit/compile/execute cycle, a hello world program, a temperature conversion program, and a simple turtle graphics program. Students learn to send messages to objects in each program, thus becoming familiar with the use of objects, methods, actual parameters and returned values.
Presents an overview of the syntax and semantics of basic language elements such as imports, variables, object instantiation, expressions, random numbers. Presents an introduction to strings and their operations. Illustrates syntax, run-time, and logic errors and debugging. Presents the first two case studies.
Presents selection and iteration using the if-else statement, the while and for statements, and nested if statements. Includes coverage of relational operators, increment and decrement operators, and the math and random methods. Provides an overview of testing and debugging loops.
Presents an overview of interfaces and a template for defining classes, instance variables and methods, constructors, accessors, and mutators. Primary focus is on encapsulation, object state and identity. Secondary focus is on methods, scope and lifetime of variables, and parameter passing. At least two case studies illustrate the development of cooperating classes by modifying existing classes.
Provides an overview of other useful operators and control statements, including the logical operators and nested loops.
Introduces graphical user interfaces and contrasts them with terminal-based interfaces. The use of GUIs provides many new opportunities to send messages to objects.
Presents an overview of HTML and applets using BreezySwing.