Table of Contents

These lessons and assignments are designed to go along with the book Java: An Eventful Approach. They make use of an improved version of the ObjectDraw Library used by the book. It would be helpful for students to read ahead in the book so that they know what is going on by the time they see it in class.

Each lesson here represents two or three new ideas to be mastered. Although it would be possible to go through them at a rate of one per day, it might be more reasonable for an introductory class to take more time for some of the lessons, or to have a day's lesson followed by a day to work on the assignments connected to it.

One of the challenges of teaching an APCS class is that some students understand new concepts almost instantly, while others need to work much harder. This syllabus provides a large number of assignments at a range of difficulties so that those who wish can seek out the fun and challenge of doing the harder assignments, while those who are struggling more can practice the same techniques in an assignment that is more structured or less mathematically complex.

1. Object Creation

Reading: Chapter 1

Lesson 1.1: Getting Started with Java
Lesson 1.2: Creating Objects
Lesson 1.3: Compound Objects
Lesson 1.4: Responding to Events
Lesson 1.5: Understanding Classes

2. Object Variables

Lesson 2.1: Using Variables
Lesson 2.2: Declaring Variables
Lesson 2.3: Variable Type and Value
Lesson 2.4: Calling Methods
Lesson 2.5: Using Return Values
Lesson 2.6: Tracking References
Lesson 2.7: Method Signatures
Lesson 2.8: Rules for Object References

3. Numbers

Lesson 3.1: Numbers and Math
Lesson 3.2: Int Variables
Lesson 3.3: Math Expressions
Lesson 3.4: Changing Variable Values
Lesson 3.5: Random Numbers and Constants
Lesson 3.6: Quick-Assignment Operators

4. Conditionals

5. Other Numerical Types

6. Methods and Classes

7. Control Structures

8. Access and Scope

9. Active Objects and GUI

10. Recursion

11. Arrays

12. Strings

13. Inheritance

14. Searching and Sorting