Mr. Meinzen - Programming & Honors Programming in Java

"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 Programming in Java all over again, what advice would you give yourself?

    • When copying code from TextPad or BlueJ into MS Word, always set the font to "Courier New" BEFORE pasting your code into an MS Word document [11 students]...this helps when submitting a file to Schoology

    • You should complete the JavaBeans. It will really help your understanding. Memorize how to do a get and set method as quickly as possible! [6 students]

    • Learn what the error messages actually mean. "Null pointer Exception" is a lot more useful when you know that it means you forgot to instantiate!

    • For a higher score, make sure you have someone reread your program before turning it in because they may see syntax errors you may have missed.

    • Reading the lecture notes multiple times is also important.

    • If you are going to copy (which is not advisable!), at least type it out yourself.

  • Answers to: What was your favorite part of the course?


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

    • Working with's dangerous to go alone. If you need help, you should ask. I learned just as much from my partners in programming. Its not good to stay quiet if you have a question.

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

    • Falling behind in is very difficult to catch up.

3rd Quarter


Dates & Specifications


Syllabus & Topics




2Jan: Christmas Break

3Jan : Teacher Institute Day


Program 1 Assigned


Program 2 Assigned


Program 1 Due:

Remote Learning Option:

Handout: Program 1


Handout: Sample Code and Assignment for Program2

Lecture: classroom Policies & Course Requirements


Lecture: Intro to Computer Architecture, Computer Science, and the Java Object-Oriented Programming Language (OOP)


Conceptual Programming Practice: LightBot (or google LightBot 1.0)


Lecture: Java Keywords




Program 2 Due:

Handout: Sample Code and Assignment for Program3


Coding Error Practice : syntax, logic, conventions

Quiz 1 over terminology, hardware, software, classroom lectures


Lecture: class definitions, application & applets, program development, programming variables & methods


Demonstration Program: PetRock, Code Conventions & Errors:

  • --indenting consistently
  • --commenting style: class header, method header, end-of-line
  • --visual emphasis on spacing (vertical) & blank lines
  • --over-runs on hardcopy (paper) vs screen scrolling
  • --case spelling class names, variables, and methods (i.e. camelCase)




15Jan, Mon : MLK Day


Quiz : In-class Lecture Due:

Program 3 Due:

Program 4 UML Due:

Quiz 1


Handout:Assignment for Program 4


Handout: JavaBeans

Lecture: commenting, import, class definition, variables, main & init methods.


Lecture Notes: Rule of 3


Demonstration Program: UML Class Diagrams for DuckPet & DuckPetOwner (object interactions)




Bonus Quiz : Due


Program 4 Due :


Quiz : Groups of 3 Due :


Java Bean Bonus Program#1-#3 Due :

Handout: Assignment for Program 5 : Introduction to Professional Graphics -

Demonstration Programs: JavaBeans (accessor & mutator methods & speed programming)


Lecture Handout: Terminology, Concepts, & PetRockGUI Program Walkthrough




Quiz 2:


Program 5 Due:

Quiz : Groups of 3 [on Schoology]


Bonus Quiz : Terminology & Concepts in PetRock [on Schoology]

Lecture: object instantiation & UML class diagrams


Lecture Notes: Types & syntax


Adrienne 5 story - Type conversions & logic errors





Handout: Java Terminology & Logic


Program 6 Assignment - Card class

Quiz 2 over terminology & concept matching, JavaBeans, classroom lectures


Lecture: Cards and Card Games


Lecture Notes: operators




16Feb, Mon: No School


Program 6 Due:

Test 1:

Test 1

Test 1 over hardware, software, terminology, java syntax corrections, swap, PetRock, & GUIs


Lecture Notes: loops




19Feb, Mon: President's Day


Java Bean Bonus Program#2 Due :

Program 7 Assignment - Deck class

Lecture Notes: control of execution order


Demonstration: Intro to using BlueJ for testing


Lecture: Deck class introduction

  1. declare & instantiate an array of Cards
  2. constructing a Deck()





Review Java Syntax and Java Beans


Program 8 Assignment - HighCard Game






Handout: Terminology & Logic (revisited)

Lecture: Re-Use of a Program - how the SwingTemplate application can be used as basis for HighCard application

4th Quarter


Dates & Specifications


Syllabus & Topics



.Program 9 Assigned

Handout: Terminology & Logic (revisited)

Lecture: Re-Use of a Program - how the SwingTemplate application can be used as basis for HighCard application




SAT testing


Program 10 Assigned

Program 9 Assignment - TenCard application

Lecture: sorting (bubblesort) & shuffling (randomization) the deck


Lecture: TenCards application (MVC) - preparing a View for displaying 10 cards on the screen.


Program 8 HighCard Due:


Program 7 Deck Due:


Quiz 3:


Program 11 Assigned

Handout: Worksheet #1 for Test 2 & Test 3


Quiz 3 - Def & Logic

Quiz 3 over Definitions and Java Programming Logic


Lecture: re-use of a Program - how the HighCard application can be used as basis for TenCard application





1Apr, Mon: Spring Break



No school - Spring Break





Test 2: Thur, 7Apr


Program 12 Assigned:

Test 2


Program 10 Assignment - BasicPlayer class


Handout: Worksheet #2 for Test 3

Lecture: introduction to BasicPlayer interaction in TenCard and Poker applications


Test 2 over terminology, program syntax, arrays & loops, PetDuck & PetDuckOwner, accessor & mutator methods, Card & Deck classes




18Apr, Mon : Spring Break

Program 9 TenCard Due:

Test 3


Program 11 Assignment - PokerPlayer class

Program 12 Assignment - PokerGame

Test 3 over java syntax, object-oriented concepts, logic, loops & arrays, Card & Deck classes, classroom lectures


student work on PokerPlayer class and PokerGame application




Program 10 BasicPlayer Due:

Test 3 : 23 & 24 Apr


Quiz : Study Guide for Test 4 :

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.

Quiz: Test 4 & Final Exam Expectations & Study Guide

Test 4 over ...similar topics as Test 3 with emphasis on arrays, swap, shuffling, and sorting.


Continue student work on PokerPlayer class and PokerGame application




Test 4: 30Apr & 1May


Program 11 PokerPlayer Due:

Test 4 Day 1 [multiple choice - Schoology]

Test 4 Day 2 [free response- Schoology]

Practice Coding Logic :

Preview AP Computer Science Principles

...extension ideas for Cards, Players, and Games:

  • simulate 100,000 games of poker and keep track of probabilities for each hand type
  • determine which player's hand actually would win
  • change the cards to be used in a different game (i.e. Uno, Monopoly, Magic, etc.)
  • write a different card game (i.e. Solitaire, Blackjack, Euchre, etc.)




Program 12 PokerGame Due:


Quiz (Term, Concepts, Program Walkthrough) repeat from 3rd Qtr,


Yearbook Signing Day,

Quiz (repeat from 1st Qtr)

student prepares for Final Exams (comprehensive)

-- Part I is similar to Test 4 Written(see Study Guide) with focus on Deck and Player along with arrays, sort, and passing Objects (i.e. Cards) via get & set methods.

-- Part II is similar to Test 4 Schoology

-- Part III is on Schoology and covers multiple-choice questions from any topic/lecture during the semester



Thur 16May : last class day for Seniors

Final Exams  




24May : 1/2 day teacher Institute


23May : last day for non-Seniors

Final Exams for non-Seniors





29May, Mon : Memorial Day


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


(Honors) Programming in Java Course Overview : Syllabus, Curricular Alignment, Policies, & Practices

TextBook & Resources :

  • Java, Java, Java : Object-Oriented Problem Solving by Ralph Morelli, [Though we will rarely need or refer to this text since many resources are now readily available online and more quickly searched]
  • Critical Skills:
    • While an electronic book may be assigned, daily classroom effort is a critical component in this class
    • Another critical skill is the ability to work and communicate ideas/concepts with other students. Many assignments may require teamwork in order to accomplish an assignment.
    • However, grades will primarily be based on individual ability, understanding, and accomplishment.

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

Policy : Grading

  • Assessments : scores & grades

    • 2 types of assessments will be given in this course : non-graded formative (i.e. completion or pass/fail) scores 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 week. These scores are either all-or-nothing scores and include homework assignments, completion 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. up to a "D" grade) of a course, they are explicitely not useful for determining a student's level of understanding of course content or mastery (i.e. not for grades other than pass/fail or "D").

    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 Scoresare calculated using the following table:
Semester Score Component Semester Score Weight
1st & 2nd Quarter Progress Scores 80%
Comprehensive Semester Final Exam 20%
  • Grades will be calculated on a total point basis. Grades will primarily be based on individual ability, understanding, and accomplishment.

    Grading by Percentage

    Grade Weighting by Assignment (approximate)







    Tests, Quizzes, Questions, etc




    Bonus & Notes: 1 Day Late: (doubles every day thereafter)

    5% -10%



    49.99% or below



    Final Exam is worth 20% of Semester Grade

  • 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" and look professional?
  • Program Expectations:
    1. Before writing your programs, create and show your teacher 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 to be used: side, hypotenuse, Deck, getName()
      2. Examples NOT to be used: sd, hyp, Dk 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 10 (Pro)
      • Java SDK (Version 1.8 also called Version. 8)
      • Textpad 8
      • BlueJ 3.1.5
    • 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, 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.
    • 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.

    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

    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 verification by student at remote (home) site

    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. Software (installed in order specified):

      1. Java : software development kit (SDK or JDK) : : install Java to allow students to create, write, and test programs.

        1. Note: this is NOT the Java Runtime Environment (JRE) that is installed on most computers to RUN programs but not CREATE programs
        2. This requires a free login to Oracle and there are many options to download. For this course, the 1.8 (or just version 8) or newer (higher number) is sufficient. You will have to select your operating system, which for most people will be Windows64 or Apple OSX. Please be aware that it is approximately 150MB file.
      2. Textpad : : simple MS Windows-based text editor that integrates with Java to simplify writing and testing programs. If you have an Apple device, there are several text-editor options...please see Mr. M if you are unsure.

      3. BlueJ : : more complicated & feature-filled text-editor for both MS Windows, Apple OSX, and Linux that includes a Java SDK to simplify writing and testing programs.

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

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

      2. Online Textbook

        : To-be-determined : access to additional content (videos) and scheduled assignments specific to online scoring and/or grades.

    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.


    Installing Java at Home:

    • Note: The following assumes the student is using a Microsoft Windows operating system. If you are using a Macintosh OSX or GNU/Linux operating system, please see the instructor.
    • For students, you may also look on the school's network "G" drive to copy the needed files rather than dowloading them from the various websites. The necessary files and instructions are located in the folder called:
    • "G:\\EHS Courses\Java Programming - Student Disk\install at home\"
    • The 3 necessary free be installed in the following order...will be used in this course.
    1. Java Developers Kit (JDK) -
      1. Download free at Oracle's website. Scroll down the webpage until you see "Previous Releases - Java Archive" and click on the bluish-grey "DOWNLOAD" button to the column on the right.
        1. Please note that you CAN download a more recent version. However you will have to re-compile all programs at school to corrrect "version" errors.
      2. Select "Java SE 6" and look for the program to install is called "jdk-6u34-windows-i586.exe" [you may need to click on the "Accept License agreement" radio button then scroll down the webpage]
      3. Note: do NOT install the "jre" or Java Runtime Environment which only allows computers to run Java programs but not for you to create/write Java programs
    2. Textpad-
      1. Download free at TextPad's website Use either the FTP (USA) link or the HTTP (USA 1) link
      2. You may need to enable the toolbars by selecting on the menubar:
        1. Configure > Preferences > Tools > Add (drop down list) > SDK
      3. Note: Part A (Java Developer's Kit) above MUST be completed before TextPad will recognize and configure the appropriate Tool or Hammer Buttons.
    3. BlueJ -
      1. Download free at BlueJ's website Use the BlueJ version 3.0.8 (bluej-308.msi)

    Useful Websites :


    Good Summary of Java Topics

    Text editor used in class

    Practice Java Questions

    Complete Textbook on Java including Graphics

    (2012 version)

    Complete Textbook and online homework:


    Code Conventions