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



9-10Aug : Teacher Institutes

11Aug : 1/2 day Teacher In-Service


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: Fri, 20Aug [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 : Mon, 23Aug


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



Program 2 Phase 1 (array Curve classes) due : Wed, 1Sep


Test 1 : Part 1 : Thur, 2Sep

Test 1 : Part 2 : Fri, 3Sep

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



6Sep : Labor Day


Program 2 Phase 1 (ArrayList Curve classes) due : Fri, 10Sep

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: Thur, 23Sep (before class begins)


Test 2 : Day 1 : Thur, 23Sep

Test 2 : Day 2 : Fri, 23Sep

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



Program 4b due: Thur, 30Sep

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



Program 4c due: Wed, 6Oct


8Oct : 1/2 day Teacher In-Service

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


11Oct : Columbus Day

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: Mon, 18Oct

Worksheet - Modelling & Coding

Program Lab Assignment 7 - Swap (Handout)

Content : Standard Algorithms - basic

  • Counter & Accumulator
  • Swap

Modeling and Code Evaluation



Program 6 due: Mon, 25Oct


28-29Oct : No Student Attendance: Parent-Teacher Conferences

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



Quantum Computing via Paired Gaming: Mon, 1Nov


Test 3 : Day 1 : Wed, 3Nov

Test 3 : Day 2 : Thur, 4Nov


Program 7 due: Fri, 5Nov

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



Program 8 due: Wed, 10Nov


11Nov Veteran's Day

12Nov No School

Handout on selecting appropriate Algorithm for given scenarious

Content : Standard Algorithms - Sorting & Trees

Optional Case Study Ch 3 - GridWorld

Content : Recursion, Iteration & Boolean Logic




Handout: Sorting Scenario 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



Program 9 due: Tue, 23Nov

Exemplar UML Diagrams


24-26Nov Thanksgiving

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 10 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



Test 4 :


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



End of Semester

3rd Quarter - Data Structures & Space Analysis


Dates & Specifications

Assignment / Assessment

Syllabus & Topics



3Jan Teacher Institute


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)



17Jan 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: 8Feb, Mon


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
  2. ModPrac1-public



21Jan Presidents Day


Test 6 :


25Jan Teacher Institute

AP Classroom : Question Bank Quizzes (5)

  1. ConPrac2-PublicSummative : 9 Questions
  2. ConPrac4-public : 9 Questions : 21 Questions
  3. ModPrac4,5perfect-public : 9 Questions : 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 : 11Mar

4th Quarter - Exam Preparation & Summary (Labs)


Dates & Specifications

Assignment / Assessment

Syllabus & Topics

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



Competitions & Practice

16Mar 1/2 Day Teacher Institute


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.


Archived Questions at the University of Evansville CS Competition



Program 19 due:

:Handout: Exam Preparation Scoring Sheet using the Workbook

In-class team placement questions for AP competitions [SWIC & U of Evansville]


Quiz - Binary Data Storage [Schoology]



Advanced Placement Exam Preparation

  • AP Classroom : Question Bank Quizzes

AP Classroom : Question Bank Quizzes (5)

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



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



No school - Spring Break



Mon 18Apr : No school - Spring Break


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

  • Mock Exam - JDWF

  • In-class Practice Exam Questions

Mock AP Exam [Homework Score]

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

Fri: Test 7 - Day 5 Scoring & Rubrics



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


2022 AP Exams (Week 1):

  • : 12-3PM: AP Computer Science A Exam

    : 12-3PM: AP Computer Science Principles Exam

    : 12-3PM: AP Statistics Exam


Yearbook Signing Day


Advanced MVC Application Program Assignment




Final Exams for Seniors



19May 1/2 Day Teacher Institute

(last day for seniors) :


Special Topics in Computer Science




Final Exams for non-Seniors


30May Memorial Day


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

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