Java Basics


Annotated Table of Contents



Lesson 1 Background

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.


Lesson 2 First Java Programs

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.


Lesson 3 Syntax, Errors, and Debugging

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.


Lesson 4 Introduction to Control Statements

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.


Lesson 5 Introduction to User-Defined Classes

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.


Lesson 6 More Operators and Control Statements

Provides an overview of other useful operators and control statements, including the logical operators and nested loops.


Lesson 7 Improving the User Interface

Introduces graphical user interfaces and contrasts them with terminal-based interfaces.  The use of GUIs provides many new opportunities to send messages to objects.


Lesson 8 Introduction to HTML and Applets

Presents an overview of HTML and applets using BreezySwing.