AP Computer Science 'A' -- Fall 2025 -- Goldsmith

Daily Schedule of Lectures, Assignments, & Assessments

 

This document is subject to change at any time.

 

Quizzes are generally given at the start of the class period.

For all assignments, make sure you follow the Java Coding Guidelines.

 

 

 

Day #1

Wednesday

(8/6)

 

Introduction:  Course Syllabus

Introduction:  Dave's Web Site

 

AP Classroom APCS-A Registration:  Join Code = PQMWEJ

 

Demonstration & Setup:  CodeHS.com Sandbox for Java

Sign-up Link for CodeHS Accounts:  https://codehs.com/go/6699B

 

Lecture & Practice:  Java Output

Lecture & Practice:  Java Variable Types

Lecture & Practice:  Java Comments

 

Homework:  Get Course Syllabus signed

 

 

Day #2

Friday

(8/8)

 

Due:  Homework -- Signed Syllabus

 

Mini Quiz #1:  Display Text to User -- Write a Program Segment (3 points)

 

Lecture & Practice:  Java User Input

Lecture & Practice:  Java String Methods (length, charAt, indexOf)

Lecture & Practice:  Java String Methods (substring, toUpperCase, toLowerCase)

 

Discussion:  Java Coding Guidelines

 

Start:  Java Classwork #1 (Name Info)

 

 

Day #3

Tuesday

(8/12)

 

Due:  Classwork #1 (Name Info) (15 points)

 

Mini Quiz #2:  Define & Display Variables & Text -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Java Global Constants

Lecture & Demonstration:  Java Conditional Statements (if, else, else if, &&, ||)

 

Start:  Java Classwork #2 (School Years)

 

 

Day #4

Thursday

(8/14)

 

 

Mini Quiz #3:  Use Conditional Statements -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Creating and Using Multiple Java Methods

Lecture & Demonstration:  Passing Variables Between Java Methods

 

Work on:  Java Classwork #2 (School Years)

 

 

Day #5

Monday

(8/18)

 

 

Due:  Classwork #2 (School Years) (20 points)

 

Mini Quiz #4:  Get and Store Input from User -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Java  for  Loops

Lecture & Demonstration:  Java Counter Variables

 

Start:  Java Classwork #3 (Letter Count)

 

 

Day #6

Wednesday

(8/20)

 

 

Due:  Classwork #3 (Letter Count) (15 points)

 

Lecture & Demonstration:  Object-Oriented Programming (with "Vehicle" Class)

 

Start:  Java Classwork #4 (Marble Bank)

 

 

Day #7

Friday

(8/22)

 

 

Full Quiz #1:  Input & Integer Math &  if  Statements -- Write a Complete Program (30 points)

 

Lecture & Demonstration:  Primitive Variable Types;  ==  vs  .equals()

Lecture & Demonstration:  Object-Oriented Programming (with "Animal" class)

 

Work on:  Java Classwork #4 (Marble Bank)

 

 

Day #8

Tuesday

(8/26)

 

 

Due:  Classwork #4 (Marble Bank) (15 points)

 

Mini Quiz #5:  Check for Equality & Equivalence -- Write a Program Segment (3 points)

 

Start:  Java Classwork #5 (Word Thing)

 

 

Day #9

Thursday

(8/28)

 

 

Due:  Classwork #5 (Word Thing) (20 points)

 

Mini Quiz #6:  Define Four Terms -- Define Terms (3 points)

 

Lecture & Demonstration:  Random Numbers with Java

 

Start:  Java Classwork #6 (Dice Roll)

 

 

Day #10

Tuesday

(9/2)

 

 

Full Quiz #2:  Input &  if  Statements &  for  Loops -- Write a Complete Program (30 points)

 

Lecture & Demonstration:  Java Math Class and Integer Class Methods

 

Work on:  Java Classwork #6 (Dice Roll)

 

 

Day #11

Thursday

(9/4)

 

 

Due:  Classwork #6 (Dice Roll) (25 points)

 

Mini Quiz #7:  Display Random Numbers -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Java  printf()  Method

 

Start:  Java Classwork #7 (Simple Calculator)

 

 

Day #12

Monday

(9/8)

 

 

Lecture & Demonstration:  Java Arrays

 

Work on:  Java Classwork #7 (Simple Calculator)

 

Optional Homework:  Practice Java Quiz #3

 

 

Day #13

Wednesday

(9/10)

 

 

Due:  Classwork #7 (Simple Calculator) (15 points)

 

Mini Quiz #8:  Create & Access an Array -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Java  while  and  do-while  Loops

 

Start:  Java Classwork #8 (No Repeats)

 

 

Day #14

Friday

(9/12)

 

 

Full Quiz #3:  Creating a Non-Static Class -- Write a Complete Class (30 points)

 

Lecture & Demonstration:  "No Repeats" Starter Code and Associated Coding Concepts

 

Work on:  Java Classwork #8 (No Repeats)

 

 

Day #15

Tuesday

(9/16)

 

 

Mini Quiz #9:  Change Data in an Array -- Write a Program Segment (3 points)

 

Work on:  Java Classwork #8 (No Repeats)

 

Day #16

Thursday

(9/18)

 

 

Due:  Classwork #8 (No Repeats) (25 points)

 

Lecture & Demonstration:  Java ArrayLists

 

Start:  Java Classwork #9 (Mean Median Range)

 

 

Day #17

Monday

(9/22)

 

 

Mini Quiz #10:  Create & Access an ArrayList -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Java Exception Handling

 

Work on:  Java Classwork #9 (Mean Median Range)

 

 

Day #18

Wednesday

(9/24)

 

 

Mini Quiz #11:  Change Data in an ArrayList -- Write a Program Segment (3 points)

 

Work on:  Java Classwork #9 (Mean Median Range)

 

Optional Homework:  Practice Java Quiz #4 (Solutions)

 

 

Day #19

Friday

(9/26)

 

 

Due:  Classwork #9 (Mean Median Range) (25 points)

 

Lecture & Demonstration:  Java Nested  for  Loops

 

Start:  Java Classwork #10 (Nested Loops)

 

 

Day #20

Tuesday

(9/30)

 

 

Full Quiz #4:  ArrayLists & Arrays & Integers & Loops -- Write Two Methods (30 points)

 

Work on:  Java Classwork #10 (Nested Loops)

 

Day #21

Thursday

(10/2)

 

 

Due:  Classwork #10 (Nested Loops) (15 points)

 

Lecture & Demonstration:  Java ArrayList and Array Operations

Lecture & Demonstration:  Swapping Elements

 

Start:  Java Classwork #11 (List Operations)

 

 

Day #22

Monday

(10/6)

 

 

Mini Quiz #12:  Define Four Terms -- Define Terms (3 points)

 

Work on:  Java Classwork #11 (List Operations)

IMPORTANT

 

Day #23

Tuesday

(10/14)

 

 

 

IMPORTANT

 

Due:  Classwork #11 (List Operations) (20 points)

 

Lecture & Demonstration:  Recursion

 

Start:  Java Classwork #12 (Recursion)

 

Optional Homework:  Practice Java Quiz #5 (Solutions)

 

 

Day #24

Thursday

(10/16)

 

 

Mini Quiz #13:  Define/Explain Recursion & Related Terms -- Define Terms (3 points)

 

Work on:  Java Classwork #12 (Recursion)

 

Day #25

Monday

(10/20)

 

 

Full Quiz #5:  ArrayList Operations -- Write Two Methods (30 points)

 

Work on:  Java Classwork #12 (Recursion)

 

Day #26

Wednesday

(10/22)

 

 

Due:  Classwork #12 (Recursion) (20 points)

 

Lecture & Demonstration:  Reading from Disk Text Files

 

Start:  Java Classwork #13 (Word List Examiner)

 

 

Day #27

Friday

(10/24)

 

 

Lecture & Demonstration:  Java Custom  toString()  Method

Lecture & Demonstration:  Java Arrays and ArrayLists of Objects

Lecture & Demonstration:  Java  for-each  Loops

 

Work on:  Java Classwork #13 (Word List Examiner)

 

Optional Homework:  Practice Java Quiz #6 (Solutions)

 

 

Day #28

Wednesday

(10/29)

 

 

Mini Quiz #14:  Read & Display Data from File -- Write a Program Segment (3 points)

 

Lecture & Demonstration:  Java  compareTo()  Method

 

Work on:  Java Classwork #13 (Word List Examiner)

 

 

Day #29

Friday

(10/31)

 

 

Full Quiz #6:  Recursion -- Analyze Two Recursive Methods (30 points)

 

Work on:  Java Classwork #13 (Word List Examiner)

 

Day #30

Tuesday

(11/4)

 

 

Work on:  Java Classwork #13 (Word List Examiner)

IMPORTANT

 

Day #31

Thursday

(11/6)

 

IMPORTANT

 

Lecture & Demonstration:  Sorting Methods (Bubble, Selection, Insertion, Merge)

 

Day #32

Monday

(11/10)

 

 

Due:  Classwork #13 (Word List Examiner) (25 points)

 

Mini Quiz #15:  Compare Sorts -- Define Terms (3 points)

 

Start:  Java Classwork #14 (Number Sorter)

 

Optional Homework:  Practice Java Quiz #7 (Solutions)

 

 

Day #33

Wednesday

(11/12)

 

 

Lecture & Demonstration:  Duplicating and Storing Java ArrayLists

 

Work on:  Java Classwork #14 (Number Sorter)

 

Day #34

Friday

(11/14)

 

 

Full Quiz #7:  Array Operations -- Write Two Methods (30 points)

 

Work on:  Java Classwork #14 (Number Sorter)

 

Day #35

Tuesday

(11/18)

 

 

Mini Quiz #16:  Define Four Terms -- Define Terms (3 points)

 

Work on:  Java Classwork #14 (Number Sorter)

 

Day #36

Thursday

(11/20)

 

 

Mini Quiz #17:  Use Multiple String Methods -- Write a Program Segment (3 points)

 

Work on:  Java Classwork #14 (Number Sorter)

 

Day #37

Friday

(11/21)

 

 

Due:  Classwork #14 (Number Sorter) (30 points)

 

Lecture & Demonstration:  Two-Dimensional Arrays

 

Start:  Java Classwork #15 (Connect Four)

 

 

Day #38

Tuesday

(12/2)

 

 

Mini Quiz #18:  Create & Access a 2D Array -- Write a Program Segment (3 points)

 

Work on:  Java Classwork #15 (Connect Four)

 

Optional Homework:  Practice Java Quiz #8 (Solutions)

 

 

Day #39

Thursday

(12/4)

 

 

Mini Quiz #19:  Change Data in a 2D Array -- Write a Program Segment (3 points)

 

Work on:  Java Classwork #15 (Connect Four)

 

Day #40

Monday

(12/8)

 

 

Full Quiz #8:  Two-Dimensional Arrays -- Write Two Methods (30 points)

 

Work on:  Java Classwork #15 (Connect Four)

 

Day #41

Wednesday

(12/10)

 

 

Mini Quiz #20:  Use Nested Loops -- Write a Program Segment (3 points)

 

Work on:  Java Classwork #15 (Connect Four)

 

Day #42

Friday

(12/12)

 

 

Due:  Classwork #15 (Connect Four) (30 points)

 

Final Exam Review (Start):  Exam Info

 

Day #43

Monday

(12/15)

 

 

Final Exam Review (Finish):  Exam Info

 

Final Exam

Thursday

(12/18)

 

 

Final Exam:  Exam Info (20% of Total Semester Grade)