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 : procrastinate...it 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" assignment...you 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 students...it 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

Week

Dates & Progression

Assignment / Assessment

Syllabus & Content Topics

1

12-13Aug

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

2

16-20Aug

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

3

23-27Aug

Program 2 Phase 1 (Point class only) due : Mon, 23Aug

 

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

4

30Aug-3Sep

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

5

6-10Sep

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

6

13-17Sep

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

7

20-24Sep

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

8

27Sep-1Oct

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

9

4-8Oct

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

Week

Dates & Progression

Assignment / Assessment

Syllabus & Topics

10

11-15Oct

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)

11

18-22Oct

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

12

25-29Oct

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

13

1-5Nov

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

14

8-12Nov

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

15

15-19Nov

Program 8 due: Wed, 17Nov

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

16

22-26Nov

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

17

29Nov-3Dec

Program 9 due: Tue, 30Nov

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

18

6-10Dec

Program 10 due: Tue, 7Dec

 

Test 4 : Day 1 : Thur 9Dec

Test 4 : Day 2 : Fri, 10Dec

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

 

If you finish early, you can start completing CodingBat.com 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. jmeinzen@ecusd7.org in the Teacher Share field
  2. "classHour, LastName, firstName, " in the Memo field.

Review of Syntax and Algorithms

19

13-17Dec

End of Semester

   
3rd Quarter - Data Structures & Space Analysis

Week

Dates & Specifications

Assignment / Assessment

Syllabus & Topics

1

3-7Jan

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

2

10-14Jan

Practice Quiz (Completion) on AP Classroom (i.e. myAP.collegeboard.org)

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)

3

17-21Jan

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)

4

24-28Jan

Program 14 due:

Program 15 - Searching, Iteration, Inserting in BSTrees

Content : Lecture: Standard Data Structures - Operations on Trees

  • Search
  • Interator
  • Intro to Hashing

5

31Jan-4Feb

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

6

7-11Feb

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

7

14-18Feb

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

8

21-25Feb

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)

9

28Feb-4Mar

Program 17 due:

Program 18 - Small Challenge Program

Mini-Lecture Series

10

7-11Mar

 

End of 3rd Qtr : 11Mar

 
4th Quarter - Exam Preparation & Summary (Labs)

Week

Dates & Specifications

Assignment / Assessment

Syllabus & Topics

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

11

14-18Mar

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

12

21-25Mar

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]

13

28Mar-1Apr

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

14

4-8Apr

Advanced Placement Exam Preparation

  • AP Classroom : Progress Checks

  • CodingBat.com : 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 www.codingbat.com should be:

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

Unit 4 Progress Check: MCQ (18 problems)

CodingBat : https://codingbat.com/java AP-1 > scoresClump

 

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

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

CodingBat : https://codingbat.com/java AP-1 > scoresAverage

 

Unit 6 Progress Check: MCQ (14 problems)

CodingBat : https://codingbat.com/java AP-1 > wordsFront

 

11Apr-18Apr

No school - Spring Break

15

18-22Apr

Mon 18Apr : No school - Spring Break

 

Advanced Placement Exam Preparation

  • AP Classroom : Progress Checks

  • CodingBat.com : Java AP questions

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

The online free response questions on www.codingbat.com 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 : https://codingbat.com/java AP-1 > hasOne

CodingBat : https://codingbat.com/java AP-1 > dividesSelf

AP Classroom : Progress Checks : Units 9-10

The online free response questions on www.codingbat.com should be:

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

Unit 9 Progress Check: MCQ (18 problems)

CodingBat : https://codingbat.com/java AP-1 > copyEvens

 

Unit 10 Progress Check: MCQ (12 problems)

CodingBat : https://codingbat.com/java AP-1 > scoreUp

 

CodingBat : https://codingbat.com/java AP-1 > mergeTwo

CodingBat : https://codingbat.com/java AP-1 > commonTwo

16

25-29Apr

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

17

2-6May

Advanced Placement Exam Preparation

  • CodingBat.com : 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

18

9-13May

 

Final Exams for Seniors

19

16-20May

19May 1/2 Day Teacher Institute

(last day for seniors) :

 

Special Topics in Computer Science

20

23-27May

 

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.

     

    Topic 

    Suggested Skills 

    Selected

    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

    5.A

     

    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

    2.A


    Program Lab Assignment 5 - String manipulation

    2.7 String Methods

    2.C, 3.A

     

    2.8 Wrapper Classes: Integer and Double

    2.C

     

    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

    2.A

     

    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 

    4.C

     

    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

    2.D

    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.D

     

    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

    2.C

     

    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

    2.D

     

    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 http://www.meinzeit.com
    • 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: jmeinzen@ecusd7.org 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)

    Signature

    • 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 www.eclipse.org

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

      1. Schoology : https://ecusd7.schoology.com : access to scheduled assignments specific to online scoring and/or grades

      2. AP Classroom : https://myap.collegeboard.org : 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 : http://www.meinzeit.com : access to course syllabus, classroom policies, lecture notes & assignments for planning purposes.

      2. School / District website : http://www.ecusd7.org/ehs : access to school policies and general information

      3. College Board : https://apcentral.collegeboard.org : 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