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




14-15Aug : Teacher Institutes


16Aug, Wed: 1/2 day Teacher Institute

Optional : Competitions & Practice


[Note: Bold are Summative Assessments and can be found in Schoology and/or AP Classroom]

Optional 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 [on Schoology]


Lab Assignment : Program 1 Swing Template with Eclipse

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 : 1st Day/Week [verify AP Classroom access]


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

Quiz : 1st Day/Week [verify AP Classroom access] (formerly summer assignment)


JavaDoc & IDE usage


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

Content : Java Syntax [also on Schoology]


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
  • Review : Terminology, Documentation & Expectations, Principles of OOP, Java Keywords, Groups of 3



Lab : Program 2 : Phase 1 (Point class only) due :


Content : Java Syntax [also on Schoology]

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


4Sep : Labor Day



Lab : 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, 95 pts]

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

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



Lab : Program 2 : Phase 1 (ArrayList Curve classes) due :

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

Content : Java Syntax [also on Schoology]

  • Class declaration
  • Field declaration



Lab : Program 3 : Phase 2 due:

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

  • ConsumerCurve
  • ProducerCurve

Content : Java Syntax : Schoology

  • Math, Comparable, String, ArrayList classes and methods
  • Wrapper classes & Generics
  • Constructor declaration
  • Method & parameter declaration



Lab : Program 4a (Market test with Consumer or Producer) 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 on Schoology, in-class, 60min, 65pts]

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

Content : Java Syntax [also on Schoology]

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



Lab : Program 4b (Market test with Producer or Consumer )due:

Lab Assignment : Program 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




9Oct : Columbus Day


13Oct : 1/2 day Teacher Institute

Lab : Program 5 : String & array minipulation due :


Lab : Program 5 : Phase 4 (full Market with Producer & Consumer) due (if sufficient time):

Lab Assignment : Program 5 : String & array manipulation [See Example & assignment from Lecture Notes for 1st quarter--pages 26-32]


Option : GridWorld - Ch 2 Bug Variations

Lab Assignment : Program 5 : Phase 4 - Market (if sufficient time)


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


Content : Java Syntax [also on Schoology]

  • String manipulation


Option : MVC Pattern for Consumer & Producer Curves


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

2nd Quarter - Algorithms & Time Analysis


Dates & Progression

Assignment / Assessment

Syllabus & Topics



Competitions & Practice

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


Lab Assignment : Program 6 : divisibility


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

Content : Java Syntax [also on Schoology]

  • 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)



Lab : Program 6 : divisibility due:

Worksheet - Modelling & Coding

Lab Assignment : Program 8 : Swap, parameters, & poorly worded Specifications

Content : Standard Algorithms - basic

  • Counter & Accumulator
  • Swap

Modeling and Code Evaluation




31Oct, Mon: 8am-3:30pm Parent-Teacher Conference

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

Lab Program 7 : Intro to Analysis due:

Lab Assignment : Program 9 : 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

10Nov : Veteran's Day

Option : Quantum Computing via Paired Gaming

Option : Quantum Computing - research into learning about QC


Lab Assignment Program 10 : 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



Lab Program 8 : Swap, parameters & poorly-worded Specifications due: Tue, 14Nov

Handout on selecting appropriate Algorithm for given scenarious

Content : Standard Algorithms - Sorting & Trees

Optional Case Study Ch 3 - GridWorld

Content : Recursion, Iteration & Boolean Logic




22-24Nov Thanksgiving Break

Test 3 : Day 1 : Mon 20Nov

Test 3 : Day 2 : Tue, 21Nov


Lab Program 9 : Sorting O(n^2) due: Tue, 21Nov

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


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



Lab Program 10 : Sorting O(NlogN) due:


Exemplar UML Diagrams

Lab Assignment : Program 11 - 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



Lab Program 11 : Exemplar-PictureLab due:

Optional Program Lab Assignment 12 - 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



Optional Lab Program 12 : Exemplar--Steganography 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




21Dec-2Jan : Christmas Break

18Dec 1st & 4th Finals

19Dec 2nd & 5th Finals

20Dec 3rd & 6th Finals

End of Semester

Final Exam [AP Classroom]

  • Part I : 2 questions : free response : 45 min
  • Part II : 20 questions : multiple choice : 50min

Note: AP Exams are 90min for 4 FRQ and 90min for 40 MCQ

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)


Lab Assignment : 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.

Lab Assignment : 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)




15Jan, Mon : MLK Day


Lab Program 12 : Linked Lists due:


Quiz 1: on Schoology


Lab Program 13 Stacks & Queues due:


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


Lab Assignment : Program 14 : Map and Word Frequency application

Content : Lecture: Standard Data Structures - BSTrees

  • Traverse (BSTree)
  • Insert (BSTree)




Lab Program 14 : Map & Word Frequency due:

Lab Assignment : 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




Lab Program 15 due:

Optional Lab Assignment : 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




16Feb, Mon: No School


RED text is from AP Classroom


Optional Lab Program 16 [handwritten prior to programming] due:

Lab Assignment : Program 17 : Sets & Maps


AP Classroom : Question Bank Quizzes (2)

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




19Feb, Mon: 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)




Lab Program 17 : Sets & Maps due:

Optional Lab Assignment : Program 18 : Small Challenge Program

Mini-Lecture Series





End of 3rd Qtr

Optional Lab Assignment : Program 18 alternate : Exemplar Labs OR 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


Optional Lab Program 18 : Small Challenges or Gridworld due:

Lab Assignment : 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.




Lab Program 19 : Heaps due:

:Handout: Exam Preparation Scoring Sheet using the Workbook


Quiz - Binary Data Storage [Schoology]



No school - Spring Break





1Apr, Mon: Spring Break


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




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


2024 AP Exams (Weeks 1 & 2):

  • Tue, 7May: 12-3PM: AP Statistics Exam

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

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

    Wed, 15May: 12-2PM: AP Computer Science Principles 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


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


Final Exam [AP Classroom]

  • Part I : 2 questions : free response : 45 min
  • Part II : 10 questions : multiple choice : 25min

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

Schedules : Day-based & Week-based

  • Monday - Tuesday & Thursday - Friday

    Day-based schedule : 54-minute class periods

    Wednesday (PLC day)

    Day-based schedule : 44-minute class periods

    1. 7:15 - 8:15am : Trigonometry / PreCalculus [6 minutes for announcements if in-school]

    2. 8:21 - 9:15am : Java & Honors Java Programming / AP CSP

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

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

      10:51 - 11:45am : Prep

    5. 11:51 - 12:45pm : Trigonometry / PreCalculus

    6. 12:51 - 1:45pm : Java & Honors Java Programming

    • 1:50 - 2:40pm : Office Hours in A314 Mon, Tue, Fri

    1. 7:15 - 8:05am : Trigonometry / PreCalculus [6 minutes for announcements if in-school]

    2. 8:11 - 8:55am : Java & Honors Java Programming / AP CSP

    3. 9:01 - 9:45am : AP CSA

    4. 9:51 - 10:35am : Prep

    5. 10:35 - 11:05am : Lunch

      11:11 - 11:55am : Trigonometry / PreCalculus

    6. 12:01 - 12:45pm : Java & Honors Java

    • 12:45 - 2:40pm : PLC for Teachers (no office hours)

  • Week-based schedule (if needed):

    • 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 must bring their school-issued laptop fully charged each day..

  • 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 notes are published both in Schoology and and Mr. Meinzen's website (

    • 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).


  • Semester Scores are calculated using the following table:
  • Semester Score Component

    Semester Score Weight

    1st & 2nd Quarter Progress Scores


    Semester Final Exam


  • Assessment Categories

    Approximate Weights

    Lab Assignments (i.e. Programs)


    Tests (& Quizzes)


    1 Day Late: (doubles every day thereafter)


  • 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%


    87.99% - 76%


    75.99% - 64%


    63.99% - 52%


    51.99% - 1%


    0.99% - 0%


  • 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 student-issued computer is provided for students for this course. These computers run the following software (see Resources tab for details):
      • Microsoft Windows 7 (Pro)
      • Java SDK (version 1. 8 also called Version 8)
      • Eclipse (Oxygen)
    • While students may use--and are encouraged to use--their own computer to complete assignments at home, there are specific devices that may not be compatible with the 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, generally, NOT allowed because they are rarely appropriate in the classroom except in teacher-approved circumstances.
      • Example 1 : 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 may expect a zero and, possibly, a referal for further consequences. This includes having a personal camera (i.e. smartphone/BYOD device) out while ANY assessment is in the classroom (not just their own assessment).
      • Example 2 : A student who turns in their test and then takes out their smartphone (i.e. camera)for their own reason (i.e. listen to music) while other students are still working on their tests may expect to receive a zero on their test. As well, a student taking pictures of teacher's notes on the board--without teacher approval--will not likely 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.
      • Example 3 : A teacher-approved manner may occur if a course-appropriate website is blocked but is accessible via cell phone (i.e. cell tower versus wifi), the teacher may allow temporary access to that website to complete assignment.
      • Example 4 : A student may have an identified disability that requires them to take pictures of the board in order to expand the image to very large size due to their visual disability.

    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.
    • Subject to changes in school policy, 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 expected 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