Mr. Meinzen - Advanced Placement Computer Science - A

"Success is the ability to go from one failure to another with no loss of enthusiasm." Winston Churchill

Advice from previous students to current students

  • Answers to: If you could start AP Computer Science A over again, what advice would you give yourself?

    1. If you don't know programming (or didn't learn it very well), let Mr. M know...he CAN help you catch up but only if you ask.
    2. When copying code from TextPad or BlueJ to MS Word, always set the font to "Courier New" BEFORE pasting your code into an MS Word document.
    3. DON'T : leads to stress, stealing of code, and lack of understanding...what seems simple is NOT.
    4. DON'T : be shy about asking questions. Mr. M might be a bit goofy but he knows what he is talking about.
    5. DO : get name & number of classmate.
    6. DO : use stackoverflow website...tons of tips and tricks.
    7. Confusing Topics : memory maps, inheritance, pointers.
    8. Watch out for "Bad Boss" have to learn to ask good questions.
  • Answers to: What was your favorite part of the course?


      Mr. M's sense of humor (or lack of humor).

  • Answers to: What was the hardest/least favorite part of the course?

    • Avoiding too much "help" from fellow is very tempting to just "get the answers" from other without actually learning the material through my own efforts.

    • Mr. M's "bad professor" assignment.

1st Quarter - Introduction & Syntax


Dates & Progression

Assignment / Assessment

Syllabus & Content Topics




15-16Aug : Teacher Institutes

17Aug : 1/2 day Teacher Institute

Competitions & Practice


[Note: Bold are Summative Assessments]

Summer Assignment (not required) - download [or access on G: drive] Eclipse IDE and Exemplar Labs (3)


Introduction to Course & AP Exam - Rules & Policies


Introduction of Exemplar Labs


Program Lab Assignment 1 - Swing Template

Course Rules and Policies



Review of Object Oriented Programming (OOP) & using Java as a computer language


Eclipse IDE (see Resources)


Optional : Summer Assignment is to become familiar with Exemplar Labs and Eclipse


Optional : Aptitude Questions



Quiz 1 [formerly summer assignment]


Program 1 due: [verify Eclipse + printer + any working program + comments on student laptop]

JavaDoc & IDE usage


Program Lab Assignment 2 Phase 1 - Point and curve classes introducing arrays of Points

Content : Java Syntax


Computing in Context

  • Social Issues: examples of reliability, privacy, and ethics
  • Digital Hardware - CPU, memory, peripherals
  • Software Overview
    • Data and Applications
    • Compilers & Interpreters
    • Operating Systems, Virtual machines, Networks
  • Terminology & Principles of OOP & Documentation



Program 2 Phase 1 (Point class only) due :


  • packages
  • commenting
  • data types (primitives & objects/reference)
  • variables
  • expression


5Sep : Labor Day



Program 2 Phase 1 (array Curve classes) due :


Test 1 : Part 1 :

Test 1 : Part 2 :

Economics Project

  • Purpose & Goal Phase
  • Planning Phase:
    - Points (data structures)
    - Curves (functional decomposition)

Test 1 - Day/Part 1 (Syntax) [MC on Schoology, in-class, 60min]

Test 1 - Day/Part 2 (Syntax) [FR question on Schoology but turn in printed or hand-written solution in-class, 60min]

Project: Economics and the Supply and Demand Curve

  • Point class
  • Curve class(es)

Object Oriented Program Design & Program Implementation

  • Encapsulation, Information Hiding, Abstraction, Top-down design
  • Assertions & Testing



Program 2 Phase 1 (ArrayList Curve classes) due :

Program Lab Assignment 3 Phase 2 - Abstract Curves, ArrayLists, and Sorting

Content : Java Syntax -

  • Class declaration
  • Field declaration



Program 3 Phase 2 due:

Economics Project Implementation: class hierarchy and interaction ("has-a" & "is-a")

  • ConsumerCurve
  • ProducerCurve

Content : Java Syntax -

  • Constructor declaration
  • Method & parameter declaration



Program 4a due: (before class begins)


Test 2 : Day 1 :

Test 2 : Day 2 :

AbstractCurve Class
Handout: Abstract class worksheet


Test 2 : Day/Part 1 : Syntax, MC : 65pts
Test 2 : Day/Part 2 : Syntax, FR : 40pts

Java Syntax -

  • abstract methods & inheritance
  • pre- and post- conditions




7Oct : Teacher Institute

Program 4b due:

Program Lab Assignment 4 Phase 3 - Consumer & Producer ("has a" versus "is a")

Introduction to Model - View - Controller (MVC) Pattern with Input/Output

Introduction to Java Library Methods and Foundation Classes (JFC) - reusibility

  • Math, Comparable, String, ArrayList classes and methods
  • Wrapper classes & Generic




10Oct : Columbus Day

14Oct : 1/2 day Teacher Institute

Program 4c due:

Program Assignment 5 - String manipulation


Option : GridWorld - Ch 2 Bug Variations

Program Lab Assignment 5 Phase 4 - Market


Program Lab Assignment 6 Phase 5 - View of Curves (if sufficient time)


Content : String Manipulation


GridWorld Ch2 - Extending the Bug Class & making a runner application


MVC Pattern for Consumer & Producer Curves

2nd Quarter - Algorithms & Time Analysis


Dates & Progression

Assignment / Assessment

Syllabus & Topics



Competitions & Practice

Example: Console & File I/O [last tab]


Program Lab Assignment 5 - divisibility


Program Lab Assignment 6- Intro to Analysis - Linear & Binary Search, GCF, LCM (Handout)

Content : Java Syntax -

  • interface declaration and design
  • statements & program flow control
    • sequential
    • method
    • conditional
    • iteration (for, while, iterator, for-each)
    • recursion
  • exception handling
  • event handling
  • graphics
  • class hierarchy & inheritance
  • console output
  • threads

Program Analysis of Algorithms - Big-Oh (1,logN, N, NlogN, N^2,etc)



Program 5 due:

Worksheet - Modelling & Coding

Program Lab Assignment 7 - Swap (Handout)

Content : Standard Algorithms - basic

  • Counter & Accumulator
  • Swap

Modeling and Code Evaluation




31Oct : 8am-3:30pm Parent-Teacher Conferences

1Nov : 1pm-7:30pm Parent-Teacher Conferences

Program 6 due:

Program Lab Assignment 8 - Sorting: O(n^2) with InsertionSort, SelectionSort, BubbleSort

Content : Standard Algorithms - Searching

  • Linear Search
  • Binary Search

Content : Standard Algorithms - Divisibility (modulus)

  • GCF
  • LCM

Debugging in Eclipse - miniLecture




8Nov : Election Day

11Nov : Veteran's Day

Quantum Computing via Paired Gaming


Test 3 : Day 1 :

Test 3 : Day 2 :


Program 7 due:

Quantum Computing - research into learning about QC


Test 3 - Day/Part 1
Test 3 - Day/Part 2


Program Lab Assignment 9 - Quick and/or Merge Sorting, O(NlogN)

Content : Standard Algorithms - Introduction to Sorting

  • Bubble Sort - O(n^2)
  • Selection Sort - O(n^2)
  • Insertion Sort - O(n^2)
  • QuickSort - recursion - O(nlogn)
  • MergeSort - recursion - O(nlogn)

Visualizations of Algorithms and Data Structures




Handout on selecting appropriate Algorithm for given scenarious

Content : Standard Algorithms - Sorting & Trees

Optional Case Study Ch 3 - GridWorld

Content : Recursion, Iteration & Boolean Logic




23-25Nov Thanksgiving Break

Program 8 due:

Schoology : Sorting Scenario Quiz/Worksheet


Handout: Sample Test Questions

Program Analysis - Time-Space Analysis (Big-Oh and "N") for sorting algorithms

  • Testing
    • class & libraries in isolation
    • boundary cases
    • integration



Exemplar UML Diagrams

Program Lab Assignment 10 - Exemplar Picture Lab : write the following in PictureTester :

  1. testZeroBlue()
  2. testKeepOnlyGreen()
  3. testNegate()
  4. testGreyscale()
  5. testMirrorHorizontal()

Read Student Handout on Steganography Lab [Schoology]

Content : Standard Algorithms - Sorting & Trees

  • Big-Oh
    • average case
    • worst case
    • exact runtime calculations
  • Debugging
    • Error Types: compile, runtime, logic
    • Error Correction
    • Error Tools: debugger, output, hand tracing



Program 9 due:

Program Lab Assignment 10 - Exemplar Steganography Lab : modify the following in Steganography :

  1. use 3 bits as the bit-mask rather than 2 bits.
  2. use n bits as the bit-mask and determine how many bits can be masked before you can identify the hidden image (i.e. gorge.jpg)

Content : Standard Algorithms - Sorting Advanced (HeapSort, Radix)

Content : Standard Data Structures - Introduction

Handout: Free Response question on the Exemplar Labs to be tested 1st day of 2nd semester



Program 10 due:


Test 4 : Day 1 :

Test 4 : Day 2 :

Test 4 - Day/Part 1
Test 4 - Day/Part 2


If you finish early, you can start completing problems,

If you complete a 5,10, or 25-star badge, you may receive bonus points for the course but only if you share & save in your Account Settings fields:

  1. in the Teacher Share field
  2. "classHour, LastName, firstName, " in the Memo field.

Review of Syntax and Algorithms




22Dec-2Jan : Christmas Break

End of Semester

3rd Quarter - Data Structures & Space Analysis


Dates & Specifications

Assignment / Assessment

Syllabus & Topics




2Jan: Christmas Break

3Jan : Teacher Institute Day


Competitions & Practice


Program 10/11 already completed 1st Semester

1st Day back -

DONE : Program Lab Assignment 11 - Exemplar Lab


Handout: Interfaces for LinkedLists (Stack, Queue, ListQueue)


Program 12 - Linked Lists (Stack & Queue)

see handout from week 17 of 1st Semester regarding CaseStudy, Exemplar Labs, and/or Free Response Questions from previous years.

Visualizations of Algorithms and Data Structures

Content : Lecture: Standard Data Structures

  • Primitives: int, boolean, double
  • Classes & objects
  • Arrays (1D, 2D & multi-D), ArrayLists, Matrices
  • Linked Lists
    • Single
    • Double
    • Circular




Practice Quiz (Completion) on AP Classroom (i.e.

Program 13 - Stack & Queue Problems & Testing

Content : Lecture: Standard Data Structures -Linked Lists & Trees

  • Stacks & Queues
  • Priority Queues (Ordered Linked Lists)
  • Definition of Tree
  • Binary Trees
  • Binary Search Trees (BSTree)




16Jan, Mon : MLK Day


Program 12 due:


Quiz 1: on Schoology


Program 13 due:


Quiz 1 (MC & FR) - String Manipulation (similar to Magpie Exemplar Lab)


Program 14 - Map and Word Frequency application

Content : Lecture: Standard Data Structures - BSTrees

  • Traverse (BSTree)
  • Insert (BSTree)




Program 14 due:

Program 15 - Searching, Iteration, Inserting in BSTrees

Content : Lecture: Standard Data Structures - Operations on Trees

  • Search
  • Interator
  • Intro to Hashing




Test 5 :

Test 5a (Linked List)
Test 5b (Linked List)


Handout: selecting Data Structure & JFC for Models


Handout: selecting Maps & Sets for Models

Content : Lecture: Standard Data Structures - Operations on Trees

  • Delete

Content : Lecture: Standard Data Structures - Other, Java Collections Framework (JFC)

  • Sets
  • Maps
  • Heap




Program 15 due:


Program 16 [handwritten prior to programming] due:

Program 16 - Deleting in a BSTree


Handout: selecting Maps & Sets for Models


Worksheet : Data Storage and Binary Representations

Practice for University of Evansville Computer Science Competition (if needed)


Program Analysis

  • Numeric representation
    • different bases (2, 8, 10, 16)
    • representational errors w/ floating point
    • accumulation errors

Content : Lecture: Data Storage - binary representations




RED text is from AP Classroom


Program 16 due:

Program 17 Sets & Maps


AP Classroom : Question Bank Quizzes (2)

  1. ModPrac1Perfect-Public : 17 Questions
  2. ModPrac1-public : 15 Questions
  3. ModPrac1 : 9 Questions




20Feb: President's Day


Test 6 :

AP Classroom : Question Bank Quizzes (5)

  1. ConPrac2-PublicSummative : 9 Questions
  2. ConPrac4-public : 21 Questions
  3. ModPrac4,5perfect-public : 21 Questions
  4. VarPrac1-public : 17 Questions
  5. VarPrac2Pefect-public : 25 Questions


Test 6 - Day 1 (Trees)
Test 6 - Day 2 (Trees)




Program 17 due:

Program 18 - Small Challenge Program

Mini-Lecture Series





End of 3rd Qtr

Program 18 alternate - Gridworld Extreme (paired) Programming in class

4th Quarter - Exam Preparation & Summary (Labs)


Dates & Specifications

Assignment / Assessment

Syllabus & Topics

MOCK Exams should be scheduled during IL State Testing (SAT)



Competitions & Practice


Program 18 due:

Program 19 - Heaps


Content : Lecture: Data Storage - binary representations

Worksheet : Data Storage and Binary Representations


Types of Numeric Errors

  • Accumulation and/or Loss of Significance : small errors leading to larger errors due to possible multiple operations and/or other errors (i.e. representational). Ex: Divisions by many small numbers with errors leads to increasingly larger errors.
  • Accuracy and/or Truncation : calculated values differ from a known correct value. Ex. 22/7 = 3.1429... while pi=3.1415... which differ in the fourth digit. 22/7 is accurate to 3 digits or 3.14.
  • Measurement : limitations due to using instruments in the physical world. Ex: Using a yardstick to measure distances at the atomic level would lead to errors in measurement.
  • Overflow/Underflow : a number is beyond the range which is defined by a combination of limited memory capacity and the representation used to store the number. Ex: A Java "int" cannot store a value more than about ± 2 billion (overflow) or a decimal between 0 and 1 (underflow) due to using only 32 bits of memory for "int" values using the 2's complement representation for positive and negative values.
  • Precision : calculations with equivalent values lead to different results. Ex: 2.0/3.0 results in a decimal different than 20.0/30.0. Often a result of measurement or representational errors.
  • Representational and/or Round-off : A number that cannot be converted and stored exactly in binary format when using a finite amount of memory. Ex. 0.1 may be stored in binary format approximately as 0.1000000015. See IEEE754 representation and Patriot missile failure.




Program 19 due:

:Handout: Exam Preparation Scoring Sheet using the Workbook


Quiz - Binary Data Storage [Schoology]




Advanced Placement Exam Preparation

  • AP Classroom : Question Bank Quizzes

AP Classroom : Question Bank Quizzes (5)

  1. ConPrac1-public : 23 Questions
  2. ConPrac5-public : 21 Questions
  3. VarPrac4-public : 10 Questions
  4. VarPrac5-public : 5 Questions



No school - Spring Break





10Apr : Spring Break


Advanced Placement Exam Preparation

  • AP Classroom : Progress Checks

  • : Java AP questions

AP Classroom : Progress Checks : Units 1-3

Unit 1 Progress Check: MCQ Part A (15 problems)

Unit 1 Progress Check: MCQ Part B (12 problems)


Unit 2 Progress Check: MCQ Part A (15 problems)

Unit 2 Progress Check: MCQ Part B (12 problems)


Unit 3 Progress Check: MCQ (21 problems)

AP Classroom : Progress Checks : Units 4-6 & CodingBat

The online free response questions on should be:

  1. handwritten first on paper and then
  2. checked in the website for correctness.

Unit 4 Progress Check: MCQ (18 problems)

CodingBat : AP-1 > scoresClump


Unit 5 Progress Check: MCQ Part A (15 problems)

Unit 5 Progress Check: MCQ Part B (12 problems)

CodingBat : AP-1 > scoresAverage


Unit 6 Progress Check: MCQ (14 problems)

CodingBat : AP-1 > wordsFront




Advanced Placement Exam Preparation

  • AP Classroom : Progress Checks

  • : Java AP questions

AP Classroom : Progress Checks : Units 7-8 & CodingBat

The online free response questions on should be:

  1. handwritten first on paper and then
  2. checked in the website for correctness.

Unit 7 Progress Check: MCQ (18 problems)

Unit 8 Progress Check: MCQ (10 problems)


CodingBat : AP-1 > hasOne

CodingBat : AP-1 > dividesSelf

AP Classroom : Progress Checks : Units 9-10

The online free response questions on should be:

  1. handwritten first on paper and then
  2. checked in the website for correctness.

Unit 9 Progress Check: MCQ (18 problems)

CodingBat : AP-1 > copyEvens


Unit 10 Progress Check: MCQ (12 problems)

CodingBat : AP-1 > scoreUp


CodingBat : AP-1 > mergeTwo

CodingBat : AP-1 > commonTwo




Advanced Placement Exam Preparation

  • In-class Practice Exam Questions

  • Mock Exam : JDWF : 7:45am-10:30am

In-class Practice Exam


Mon: Test 7 - Day 1 Released Exam : MC 1-20

Tue: Test 7 - Day 2 Released Exam : MC 21-40

Wed: Test 7 - Day 3 Released Exam : FR 1-2

Thur: Test 7 - Day 4 Released Exam : FR 3-4

Test 7 - Day 5 Scoring & Rubrics

Mock AP Exam




Advanced Placement Exam Preparation

  • : Java AP questions

CodingBat Summary

  • submit pictures of student handwritten code for CodingBat AP-1 assignments:
  1. scoresClump
  2. scoresAverage
  3. wordsFront
  4. hasOne
  5. dividesSelf
  6. copyEvens
  7. scoreUp
  8. mergeTwo
  9. commonTwo
  • Note: total 9 CodingBat assignments


2023 AP Exams (Weeks 1 & 2):

  • Thur, 4May: noon-3PM: AP Statistics Exam

    Wed, 3May: noon-3PM: AP Computer Science A Exam

    Mon, 8May: 8-11AM: AP Calculus Exams (AB & BC)

    Mon, 8May: noon-2PM: AP Computer Science Principles Written Exam

Advanced MVC Application Program Assignment




May : Yearbook Signing Day

Final Exams for Seniors




Special Topics in Computer Science


May : last day for seniors




24May : 1/2 day teacher Institute



Final Exams for non-Seniors

May : last day for non-Seniors




29May, Mon : Memorial Day


Thur, 1June : last day if all 5 snow days used



AP CSA Course Overview : Syllabus, Curricular Alignment, Policies, & Practices

Schedules : Day-based & Week-based

  • Day-based schedule : 56-minute class periods but subject to change by administration

    1. 7:15 - 8:15am : Java & Honors Java Programming / AP CSP [5 minutes for announcements if in-school]

    2. 8:21 - 9:15am : Trigonometry / PreCalculus

    3. 9:21 - 10:15am : AP CSA

    4. 10:15 - 10:45am : A Lunch

      10:51 - 11:45am : AP Statistics

    5. 11:51 - 12:45pm : Prep

    6. 12:51 - 1:45pm : Trigonometry / PreCalculus

    • 1:50 - 2:40pm : Office Hours in A314

  • Week-based schedule :

    • Option 2: Hybrid Learning : 2-3 days per week : one (or two) in-person meetings (i.e. "A" and "B" Days) and

      1 day remote.

    • Option 3 : Remote Learning : 3-5 days per week from home

TextBook & Resources :

  • Data Structures & Problem Solving using Java, 2nd Ed., Mark Alan Weiss CR1

  • The classroom has desktop computers for each student and internet access. In addtion, students have the ability to "bring-you-own-device" (BYOD) to school.

  • Critical Student Skills for success in AP CSA :

    • Student integrity and honesty is a must. Understanding the consequences--both short-term and long-terrm--of student choices has impacts both on the student themself as well as society as a whole.

    • While a book may be assigned, excellent note-taking is expected.

    • The ability to ask "clarifying" questions is a critical skill in this class. The teacher's "answer" depends greatly on how you phrase your question. Two students who ask similar questions may receive completely different responses due to the precise nature of computer languages.

    • Another critical skill is the ability to work and communicate ideas/concepts with other students and your teacher. Many assignments will require teamwork in order to accomplish an assignment.

Policy : Grading

  • Assessments : scores & grades

    • 2 types of assessments will be given in this course : non-graded formative scores (i.e. completion points, pass/fail points) and graded summative (i.e. test) scores.

    1. Formative or "completion" scores are NOT graded and are designed to help students and parents keep track of progress and "effort" by the student within the targeted time period. These scores are either all-or-nothing scores and include homework assignments, completion points of an online quiz, or turning in a program by the due date. Students will be provided the answers (after the due date or completion of formative assessment) to help identify any mistakes by the student for future summative assessments (i.e. tests). While formative scores may be used for Pass/Fail (i.e. all or nothing points) of a course, they are explicitely not useful for determining a student's level of understanding of course content or mastery as students may be given help/answers prior to completing (i.e. they are not for grades that are useful for "levels" of understanding).

    2. Summative (i.e. test) scores are designed to identify what skills and content knowledge have been mastered up to that point in the students progression through the course. Solutions to the summative assesments are usually NOT provided as the scores are NOT designed for student improvement of content understanding. These scores will be the primary determination of grades beyond pass/fail or "D" and are appropriate for comparision between peer groups (peer groups may be in the same class, course, school, state, country, or world-wide).

  • Grades will be calculated on a total point basis.
    Grades will primarily be based on individual ability, understanding, and accomplishment.

    Percentage Scale Grade Letter
    100% - 88% A
    87.99% - 76% B
    75.99% - 64% C
    63.99% - 52% D
    51.99% - 1% F
    0.99% - 0% Incomplete
  • Assessment Categories Approximate Weights
    Lab Assignments (i.e. Programs) 50%
    Tests (& Quizzes) 50%
    1 Day Late: (doubles every day thereafter) -5%
  • Grading of programs will consist of two parts:
    1. Program Logic -- does the program work?
    2. Program Style -- does the program follow the "Program Expectations"?
    Program Expectations:
    1. Before writing your programs, create and show Mr. M your design.
    2. Comment appropriately.
      1. All comments must be complete, grammatically correct sentences.
      2. see the JavaDoc Conventions for details.
    3. All non-local identifiers (i.e. fields variable, classes, and methods) must be meaningful and may NOT be abbreviated.
      1. Examples: side, hypotenuse, Deck, getName()
      2. Not: sd, hyp, Dck or getN().
    4. Indent the program consistently.
    5. There may be other Program Expectations at various times throughout the course.

Policy & Practices : Student & Teacher Responsibilities

  • In Seat & Ready to Go when bell stops (i.e. books, sharpened pencils, paper)
  • Respectful of Teacher and Each Other (i.e. raise your hand, don't talk while teacher is talking, no rudeness or bad language, etc.)
  • The two most important ingredients for success in this class are practice and attendance.
  • No eating or drinking in class, 2 bathroom/drinking trips per Semester.
  • Maintain at least 3 backup copies of all work. A "lost" or "destroyed" program will receive zero credit.
  • Remember that, for every hour spent in class, 2 hours of outside class work (homework/projects) are typical for an AP course (i.e. 5 hours in class per week + 10 hours at home)

Responsibilities while absent:

Notes and Homework

Test and Quizzes

  • Get notes from a peer or online.

  • Read the section and look at examples.

  • Get the assignment from the calendar, web page or a peer in class.

  • Do the assignment, even if you need help come in before or after school for assistance!

  • As per school policy you have the same amount of days as you were absent to make up missing test/quizzes.

  • Any test/quiz not made up in the appropriate amount of time will be a zero.

  • You may need to schedule time with Mr. Meinzen either before or after school to meet or receive appropriate help on a timely basis...plan accordingly!

  • Policy : BYOD

    • A computer lab is available for students for this course. The computers in the lab run the following software (see Resources tab for details):
      • Microsoft Windows 7 (Pro)
      • Java SDK (any version above 6.0)
      • Eclipse (Oxygen)
    • While students may bring in their own computer to complete classroom assignments, there are specific devices that may not be compatible with the Java software.
      • A general rule of thumb is to see if the device comes with a keyboard and mouse...if not, then usually the device cannot be used in the course. For example: MacBooks will work but iPads will not. Please see your teacher if you have specific questions about your device.
    • Phones and/or uncovered cameras are NOT allowed in the classroom.
      • Students who intentionally or unintentionally compromise the privacy of any other student or compromise academic integrity or validity of a test or quiz by their behavior will receive a zero and, possibly, a referal for further consequences. This includes having a camera (i.e. smartphone/BYOD device) out while ANY assessment is in the classroom.
      • For example, a student who turns in their test and then takes out their smartphone (i.e. camera) to listen to music while other students are still working on their tests will receive a zero on their test. As well, a student taking pictures of teacher's notes on the board will not retain/learn of concepts and may be invading the privacy of other students (white boards are highly reflective). Generally, if the teacher is taking the time to hand-write notes on the board, then students should put in the effort to copy the notes.

    Practices : Tardies and Absences

    • Attendance is the responsibility of the student and their parents/guardian.
    • Parents/Guardian may be contacted the next day via phone or email to inform them of any absences or student issues.
    • First two tardies result in warnings, 3rd tardy is after school detention, 4th is Saturday detention, subsequent are suspensions.
    • If you have an excused absence, you will be allowed to make up your work for full credit by the same number of days you were consecutively absent.
    • Unexcused absences follow the same procedure as excused absence; however, you will only receive 50% of the grade you earn.
    • Refer to the school attendance policy for complete details on excused and unexcused absences and make-up work.
    • There will be ONE in-school field trip in April to complete an AP "Mock Exam" in preparation for the actual AP Exam as well as the 2nd Semester Final Exam. This field trip is required and the "Mock Exam" will be scored as part of the course grade regardless of the student actually taking the AP Exam or not.

    Practices : Teacher Discipline

    • I expect students to be respectful to each other and their teacher. Refer to the student handbook if you have questions.
    • Students are expected to take notes, ask questions, and work consistently and continuously the entire class period.
    • If problems occur in the class the discipline plan, in general, is:
      • Verbal warning (may include "1 minute after class delayed dismissal" or "15 minute after school mini-detention")
      • After school detention
      • Referral to the dean
      • Parents called or e-mailed
      • any student caught downloading and installing a program on the computers without Mr. Meinzen's consent will receive a referral to the administration and possible 5-day suspension

    Curricular Alignment with College Board's Course and Exam Description (CED) for AP CSP

    Student Practice

    • Students in the course will exceed the 20 hour in-class programming requirement before the end of the first semester CR9. in addtion to writing dozens of programs throughout the year, students will complete a larger programming project by the end of each semester.

    • Besides programming practice within the classroom, students will have access to Topic Questions and Personal Progress checks via the AP Classroom to identify the content and skills mastered or that need additional practice. These formative assessments may be used by the student to track their own progress thorughout the course prior to summative assessments given throughout the course or at the end of the course as a final review prior to summative assessments in class (i.e. Final Exams) or the AP Exam.

    Course Outline

    • In this outline CR2, the CED Unit and Skills designations are aligned with my assignments that are organized in two ways: 1) labs completed in a sequence that spiral to make up parts of a larger project within each quarter; and 2) individual assignments that included smaller programms & worksheets that emphasize specific topics or skills that need to be emphasized, scaffolded, or differentiated.



    Suggested Skills 


    Assignments & Programming Labs

    1.1 Why Programming? Why Java?

    2.B, 4.B


    1.2 Variables and Data Types

    1.A, 1.B

    *Program Lab Assignment 2 Phase 1 - Point class and curve classes - introducing arrays of Points

    1.3 Expressions and

    Assignment Statements

    1.B, 2.A


    1.4 Compound Assignment Operators

    2.B, 5.A


    1.5 Casting and Ranges of Variables

    2.B, 5.B


    2.1 Objects–Instances of Classes



    2.2 Creating and Storing

    Objects (Instantiation)

    1.C, 3.A


    2.3 Calling a Void Method

    1.C, 3.A


    2.4 Calling a Void Method with Parameters

    2.C, 3.A


    2.5 Calling a Non-void Method

    1.C, 3.A


    2.6 String Objects: Concatenation, Literals, and More


    Program Lab Assignment 5 - String manipulation

    2.7 String Methods

    2.C, 3.A


    2.8 Wrapper Classes: Integer and Double



    2.9 Using the Math Class

    1.B, 3.A

    *Program Lab Assignment 6 - Intro to Analysis - Linear & Binary Search, GCF, LCM

    3.1 Boolean Expressions



    3.2 if Statements and Control Flow

    2.B, 3.C


    3.3 if-else Statements

    3.C, 4.A


    3.4 else if Statements 

    3.C, 4.C


    3.5 Compound Boolean Expressions 

    2.B, 3.C


    3.6 Equivalent Boolean Expressions 



    3.7 Comparing Objects

    2.C, 3.A


    4.1 while Loops

    1.B, 2.B, 3.C


    4.2 for Loops

    3.C, 4.C, 5.C 


    4.3 Developing Algorithms Using Strings

    2.C, 3.C


    4.4 Nested Iteration

    1.B, 3.C, 5.C 


    4.5 Informal Code Analysis


    Program Lab Assignment 8 - Sorting: O(n^2) with InsertionSort, SelectionSort, BubbleSort

    5.1 Anatomy of a Class

    1.A, 1.B


    5.2 Constructors

    1.C, 3.B


    5.3 Documentation with Comments



    5.4 Accessor Methods

    3.B, 5.B


    5.5 Mutator Methods

    3.B, 4.B


    5.6 Writing Methods

    1.B, 3.B


    5.7 Static Variables and Methods

    3.B, 5.A


    5.8 Scope and Access

    3.B, 5.B


    5.9 this Keyword



    5.10 Ethical and Social Implications of Computing Systems



    6.1 Array Creation and Access

    1.C, 3.D

    *Program Lab Assignment 3 Phase 2 - Abstract Curves, ArrayLists, and Sorting

    6.2 Traversing Arrays

    2.B, 3.D, 4.B


    6.3 Enhanced for Loop for Arrays

    3.D, 4.C


    6.4 Developing Algorithms

    Using Arrays


    1.B, 3.D, 5.D


    7.1 Introduction to ArrayList 

    1.B, 3.D


    7.2 ArrayList Methods

    2.C, 3.D


    7.3 Traversing ArrayLists

    2.C, 3.D


    7.4 Developing Algorithms

    Using ArrayLists


    3.D, 4.A


    7.5 Searching

    3.D, 5.C


    7.6 Sorting



    7.7 Ethical Issues Around Data Collection



    8.1 2D Arrays

    1.B, 1.C, 3.E

    *Program Lab Assignment 10 - College Board's Exemplar Lab : Picture Lab

    8.2 Traversing 2D Arrays

    2.B, 2.D, 3.E, 4.A


    9.1 Creating Superclasses and Subclasses

    1.A, 3.B

    Program Lab Assignment 4 Phase 3 - Consumer & Producer ("has a" versus "is a")

    9.2 Writing Constructors for Subclasses

    3.B, 5.A


    9.3 Overriding Methods

    3.B, 5.D


    9.4 super Keyword

    1.C, 3.B


    9.5 Creating References Using Inheritance Hierarchies

    3.A, 5.B


    9.6 Polymorphism

    3.A, 5.B


    9.7 Object Superclass

    1.C, 3.B


    10.1 Recursion

    1.B, 5.A

    Program Lab Assignment 9 - Quick and/or Merge Sorting, O(NlogN)

    10.2 Recursive Searching and Sorting

    2.C, 2.D


    Select Assignment Descriptions


    1. [CTP1] [CTP5] Lab Assignments 2 (Point & Curve classes) and 3 (Abstracts & Sorting) listed below are 2 parts of a 4-part sequentially phased project based on Economics. The project takes students through the development process CR4 [Skill 1.A, 1.B, 1.C] of a simulation of the negotiations of a Consumer and Producer in order to illustrate how an Equilibrium Point can achieved in a Market environment. Explicit comments are required for every class written by students to describe and explain the behavior of each class and method in terms of the overall simulation project. JavaDoc comments are required to include pre- and post-conditions and any limitations on domains (ex. quantities must be positive) CR8 [Skills 5.A, 5.B, 5.C, 5.D].
    2. [VAR and MOD] [CTP1] [CTP3] [CTP4] CR3 In *Program Lab Assignment 2 Phase 1 - Point class CR9, students write and implement code in order to create a new Type (i.e. Point class) that has 2 fields (int quantity, double price) and corresponding accessor and mutator methods along with overloaded constructors and overridden equals() methods to test for boolean equality of 2 Point objects CR6 [Skills 3.A, 3.B]. A separate TestPoint class is designed and written to instantiate several Point objects and to use test-cases to validate (or identify errors of) each of the methods in the Point class CR4  [Skill 1.C] CR7 [Skills 4.A, 4.B, 4.C].
    3. [VAR and CON] [CTP1] [CTP2] [CTP3] [CTP4] CR3 In *Program Lab Assignment 2 Phase 1 - Two Curve classes CR9, students write, implement, and test code in order to create two classes, one with an array of Points and one with an ArrayList of Points CR4 [Skill 1.C]. Students will use various loop types (i.e. for, while, for each) to construct each curve of Points CR6 [Skills 3.A, 3.B, 3.C, 3.D] . Each Curve object requires a corresponding TestCurve class CR7 [Skills 4.A, 4.C] to be planned (prior to writing the Curve classes) and implemented to validate all code logic including out-of-bound conditions in loops and dealing with Exceptions CR5 [Skills 2.A, 2.B, 2.D] .
    4. [MOD and IOC] [CTP4] CR3 *Program Lab Assignment 3 Phase 2 - Abstract Curves, ArrayLists, and Sorting CR9 students re-design their Curve classes from Phase 1 to use more flexible designs including inheritance and applying more efficient coding practices and algorithms. Students will test other student's solutions without permission to see code implementations (i.e. using API's and interfaces). CR7 [Skill 4.A]. Discussions on safe and responsible computing include programmers/students maintaining privacy & security. Ethical issues are addressed including (but not limited to) "sharing" of code without authorization (i.e. by teacher) and permission (by fellow classmates) as well as consequences of programmer's misuse or mistakes (intentional or otherwise). Students will explain how they tested and varified classmate's code correctness or identified errors.
    5. [VAR and CON] [CTP2] CR3 *Program Lab Assignment 6 - Intro to Analysis - Linear & Binary Search, GCF, LCMCR9. After discussing arithmetic operations & corresponding Java operators, static variables, & methods, and prototyping of code, students will design and implement programs to do linear and binary searches on arrays of integers as well as finding the Least Common Multiple and Greatest Common Factors of 2 numbers. CR5 [Skills 2.A, 2.B, 2.C, 2.D]
    6. [VAR and CON] [CTP3] CR3 *Program Lab Assignment 10 - College Board's Exemplar Lab : Picture Lab CR9. In this assignment, students analyze a given coding project that illustrates the use of 2D arrays of Objects (i.e. Pixels in an image). Students design and implement additional methods to create, traverse, and manipulate the 2D arrays to have an intended effect (ex. flipp the image) CR6 [Skills 3.C, 3.E] .

    Advice & Expectations

    • Use mechanical pencils (have at least 2).
    • Keep an organized notebook and a folder with all your assignments. Get two classmates’ phone numbers in case you need help.
    • You will need to purchase a flash drive or other storage device for this class.
    • Students must keep multiple backup copies of all work. It is the student's responsibility to be aware that technology is NOT perfect.
    • If purchasing a disk/flashdrive is a problem, let me know
    • WEBSITE for Assignments is
    • This class is a COLLEGE COURSE, it requires a great deal of self-discipline. It is easy to be social and not get work done. This is especially true in the first quarter when things seem easiest WARNING! If you do not keep up, you will fall behind and NEVER catch up.

    What can I expect from the teacher ?

    • You can expect the teacher to maintain a classroom atmosphere that is safe and conducive to the education of ALL students. Any student or group of students prevent or disrupt this will be discipline as outlined above.
    • I will try to be available before and after school either in the classroom or in my office in Room 310 for extra help [unless a meeting is scheduled].
    • I can be reached at EHS: or 656-7100.
    • As well, I strongly encourage students and parents to contact me as soon as possible if there are any questions or difficulties.
    • In general, I provide daily information on this website and I contact parents/guardians/students via the email address that is registered with the district. However, please let me know if you wish to be contacted by other means on this form. After you have read over this classroom policy, please sign below, and return to me to be put on file. This is your first assignment.

    Survey Assignment

    • What is your best learning environment (given the classroom we have)?
    • What do you not want your teacher to do that would make you not want to learn this material?
    • What learning/teaching style do you think is most effective for you?
    • What resources do you use to best understand the concepts? (examples: textbook, teacher, family, after-school tutoring, specific website, etc.)?
    • If you could start a realistic classroom tradition, what would it be? (example: every odd-numbered Friday is popcorn-during-lecture day)


    • I prefer to be contacted via (circle preference): EMAIL, or PHONE, or OTHER (specify)
      Print Parent/Guardian Name   Print Student Name  
      Parent / Guardian Signature Date Student Signature Date
      email address home phone work/cell phone

    Resources : Required for student use at remote site (i.e. home or laptop)

    1. Internet for submission of assignments and/or downloading of content (i.e. pdf files, online textbook, video recordings, etc.)

    2. Computer : laptop or desktop running MS Windows, Apple OSX, or Linux. Chromebooks or other browser-based operating systems will NOT be sufficient.

    3. Java : Eclipse Integrated Development Kit (IDK) at

    4. Private Websites with login credentials including username and password :

      1. Schoology : : access to scheduled assignments specific to online scoring and/or grades

      2. AP Classroom : : access to AP course (need "join-code" from teacher) and assignments specific to online scoring

    5. Public Websites that contain "free" content :

      1. Teacher website : : access to course syllabus, classroom policies, lecture notes & assignments for planning purposes.

      2. School / District website : : access to school policies and general information

      3. College Board : : access to information specific to AP courses

      4. Other websites as needed (posted either on teacher website or Schoology) for viewing supplemental videos, lectures, examples, etc.


    General APCS Information

    IDE's (editors)

    Practice and Problem-solving