1. Primitive Types
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
1.1 Introduction
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
1.2 Why programming? Why Java?
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
1.3 Variables and Data Types
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
1.4 Expressions and Assignment Statements
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
1.5 Compound Assignment Operators
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
1.6 Casting and Range of Variables
2. Using Objects
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.1 Objects: Instances of Classes
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.2 Creating and Storing Objects (Instantiation)
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.3 Calling a Void Method
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.4 Calling a Void Method with Parameters
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.5 Calling a Non-void Method
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.6 String Objects: Concatenation, Literals &
More
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.7 String Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.8 Wrapper Classes: Integers and Doubles
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
2.9 Using the Math Class
3. Boolean Expressions and if Statements
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.1 Boolean Expressions
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.2 if Statements and Control Flow
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.3 if-else Statements
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.4 else if Statements
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.5 Compound Boolean Expressions
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.6 Equivalent Boolean Expressions
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
3.7 Comparing Objects
4. Iteration
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
4.1 while Loops
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
4.2 for Loops
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
4.3 Developing Algorithms Using Strings
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
4.4 Nested Iteration
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
4.5 Informal Code Analysis
5. Writing Classes
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.1 Anatomy of a Class
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.2 Constructors
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.3 Documentation with Comments
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.4 Accessor Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.5 Mutator Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.6 Writing Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.7 Static Variables and Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.8 Scope and Access
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.9 this Keyword
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
5.10 Ethical and Social Implications of Computing
Systems
6. Arrays
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
6.1 Array
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
6.2 Traversing Arrays
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
6.3 Enhanced for Loop for Arrays
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
6.4 Developing Algorithms Using Arrays
7. ArrayLists
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.1 ArrayLists
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.2 ArrayList Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.3 Traversing ArrayLists
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.4 Developing Algorithms using ArrayLists
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.5 Searching
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.6 Sorting
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
7.7 Ethical Issues Around Data Collection
8. 2D Arrays
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
8.1 2D Arrays
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
8.2 Traversing 2D Arrays
9. Inheritance
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.1 Inheritance
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.2 Writing Constructors for Subclasses
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.3 Overriding Methods
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.4 super Keyword
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.5 Creating References Using Inheritance
Hierarchies
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.6 Polymorphism
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
9.7 Object Superclass
10. Recursion
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
10.1 Recursion
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
10.2 Recursive Searching
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
10.3 Recursive Sorting
{# number the lesson by where it sits in this module: a lesson shared
with another module must not link to that other module's number #}
10.4 Conclusion