- In this course we will use NetBeans IDE (Integrated Development Environment)
- To work on assignments and projects outside of the classroom, install the Java Development Toolkit (JDK) with NetBeans
Choose the correct version for your operating system.
- Creating a Zip file : click here
**Note: The following curriculum outline is subject to change.**
Visit the Google Classroom for the current Lessons, Assignments, & Projects.
Visit the Google Site for this course for the updated curriculum: https://sites.google.com/newutrechthighschoolnyc.com/apjava/
Semester 1
Back to top
Weeks 1 to 3
- Bits and Bytes (1.2.2)
- Memory (1.2.3)
- Programming Languages (1.3)
- Machine Language
- Assembly Language
- High-Level Language
- What is Java? (pages 10 - 11)
- 1.5 Java, the World Wide Web, and Beyond
- 1.6 The Java Language Specification, API, JDK, JRE, and IDE
- Creating a Simple Java Program (Welcome to Java Application)
- What are the parts of a Java Program?
- Creating, Compiling, and Executing a Java Program
- Programming Style and Documentation
- Adding comments to your program
- Proper Indentation and Spacing
- Programming Errors (syntax, runtime, and logic)
- Printing Strings
- Identifiers and Variables
- Numeric Operators
- Concatenating strings with other strings/characters and variables
- Data Input: Obtaining input from the console by using the Scanner Class
Assignments
- Assignment 1: Textbook - Page 29 # 1.1, 1.3, 1.4 (due TBA)
- Assignment 2: Textbook - Page 29 # 1.5 - 1.9 (due TBA)
Weeks 3 to 4
- Data Input: Scanner Class (continued)
- dot (
.
) operator
- Identifiers and Variables (Naming Conventions)
- Data Types
- Numeric Operators (continued)
- Constants
- Numeric Literals
- Integer Literals
- Floating-Point Literals
- Scientific Notation
- Write and evaluate numeric expressions
- Augmented Assignment Operators
- Increment and Decrement Operators
- Software Development Process
- Case Study : Chapter 2.17 ( Listing 2.10) ComputeChange.java: Page 58 - 60
- Common Errors and Pitfalls : Chapter 2.18 : Page 60 - 62
Weeks 5 to 6: Selections and Conditional Statements
- Declaring boolean variables and writing boolean expressions
- Implementing selection controls
- One-way
if
statements
- two-way
if-else
statements
- nested and multi-way
if
statements
switch
statements
- Generate random numbers using
Math.random()
method
- Program a variety of samples by using the selection statements. ( 3.7 - 3.9)
- Combining logical operators (
!
, &&
, ||
, and ^
)
- Programming with selection statements and combined conditions ( 3.11 - 3.12)
- Conditional Operators (3.14)
- Rules of operator precedence and associativity (3.15)
- Common techniques to debug errors (3.16)
Weeks 7 to 9: Mathematical Functions, Characters, and Strings
- Solving mathematical problems with methods from the
Math
Class
- Character Data Type and Operations (4.3)
char
type
- Unicode and ASCII code
- Escape Sequences for Special Characters
- Casting between numeric and char types
- Comparing and Testing characters with the Character class
- String type
- getting the string length
- reading characters from a string
- concatenating strings
- Converting Strings
- Reading a String from a Console
- Comparing Strings
- Obtaining and finding characters and substrings
Weeks 10 to 11: LOOPS
while
loops and do-while
Loops
for Loop
- Which Loop to use? (Chapter 5.5)
- Nested Loops
- Keywords:
break
and continue
Weeks 11 - 14: Methods
- Defining and Calling Methods
- Passing Arguments by Values
- Modular Programming
- Converting Hexadecimals to Decimals
- Overloading Methods
- Scope of Variables
- Generating Random Characters
- Concepts of Software Development
- Object- Oriented Programming (OOP)
- Method Abstraction and Stepwise Refinement
- Top-Down Design
- Bottom-Up Implementation
Weeks 15 - 16: Semester Review
Week 17 : Semester Final
Semester 2
Back to top
Weeks 18 - 21: Single-Dimensional Arrays and Multidimensional
Chapter 7
- What is an Array?
- Single Dimensional Array
- Array Basics
- Declaring Array Variables
- Creating Arrays
- Array Size and Default Values
- Accessing Array Elements
- Processing Arrays
- Foreach Loops
- Case Study
- Analyzing Numbers
- Deck of Cards
- Copying Arrays
- Passing Arrays to Methods
- Returning an Array from a Method
- Variable-Length Argument List
- Searching Arrays
- Linear Search
- Binary Search
- Sorting Arrays
- Insertion Sort
- The
Arrays
Class
Chapter 8
- Two-Dimensional Array Basics
- Declaring variables of two-Dimensional Arrays
- Creating Two-Dimensional Arrays
- Ragged Arrays
- Processing Two-Dimensional Arrays
- Passing Two-Dimensional Arrays to Methods
- Multidimensional Arrays
Weeks 22 - 24 (Chapter 9): Objects and Classes
- Object-oriented programming
- Defining Classes for Objects
- state of an object
- behavior of an object
- Constructing Objects Using Constructors
- Accessing Objects via Reference Variables
- dot (
.
) operator
- Reference Variables and Reference Types
- Accessing an Objects Data and Methods
- Reference Data Fields and the null Value
- Difference between Variables of Primitive Types and Reference Types
- Using Classes from the Java Library
Date
Class
Random
Class
Point2D
Class
- Static Variables
- Constants
- Methods
- Visibility Modifiers
- Data Field Encapsulation
- Passing Objects to Methods
- Array of Objects
- Immutable Objects and Classes
- The Scope of Variables
this
Reference
Weeks 25 - 27 (Chapter 10 & 11) Object Oriented Thinking, Inheritance, and Polymorphism
Chapter 10
- Class Abstraction and Encapsulation
- Thinking in Objects
- Class Relationships (10.4)
- Association
- Aggregation and Composition
- Processing Primitive Data Type V
- Values as Objects (10.7)
- Automatic Conversion between Primitive Types and Wrapper Class Types
String
Class (10.10)
- Immutable Strings
- Interned Strings
- Replacing & Splitting Strings
- Matching, Replacing, and Splitting Strings by Patterns
- Conversion between Strings and Arrays
- Converting Characters and Numeric Values to Strings
- Formatting Strings
Chapter 11
- Inheritance
- Superclasses and Subclasses
- Use the
super
keyword to invoke the superclasses's constructors and methods
- Override instance methods in a subclass
- Differences between Overriding and Overloading
- The Object Class
java.lang.Object
toString()
(11.6)
equals
method (11.10)
- Polymorphism and Dynamic Binding (11.7 - 11.8)
- Casting & Downcasting (11.9)
- Construct an Array list from an array
- Sort and shuffle a list
- Find the MAX and MIN element from a list
- Array List
protected
visibility modifier
final
modifier
Weeks 28 - 29 Exception Handing and Text I/O ; Abstract Classes and Interfaces
Week 30 - 31 Recursion and Merge Sort/ Quick Sorts
Weeks 31 - 33 AP Test Practice Exam/ AP Review
Weeks 34 - 37 Post - AP Project