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

"Programming is the process of breaking a problem down so a high speed idiot can understand it, if you don't understand the problem then you can't explain it." -- unknown

1st Quarter


Dates & Specifications


Syllabus & Topics


Program 1 Due: Fri, 17Aug

Program 2 Assigned: Fri, 16Aug

Handout: Program 1


Handout: Sample Code and Assignment for Program2

Advice from last year's Java Students

  • It's dangerous to go alone. If you need help, you should ask. I learned in programming that its not good to stay quiet if you have a question.
  • 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.

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


Quiz 1: Wed, 21Aug

Program 2 Due: Fri, 23Aug

Program 3 Assigned: Fri 23Aug

Quiz 1


Handout: Sample Code and Assignment for Program3

Quiz 1 over terminology, hardware, software, classroom lectures

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


Demonstration Program: PetRock & PetRockApplet and classroom Code Conventions:

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


Program 3 Due: Fri, 30Aug

Program 4 Assigned: Fri, 30Aug

Handout: JavaBeans

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

Lecture Notes: Rule of 3

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



Program 4 and UML Due: Wed, 4Sep

Program 5 Assigned: Wed, 4Sep

Handout:Assignment for Program 4


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

Demonstration Program: UML Class Diagrams for CyberPet & CyberPetOwner (object interactions)

Lecture Handout: Terminology, Concepts, & PetRockApplet Program Walkthrough


Program 6 Assigned: Fri, 13Sep


Lecture: object instantiation & UML class diagrams


Lecture Notes: Types & syntax


Adrienne 5 story - Type conversions & logic errors


Program 5 Due: Wed, 18Sep


Quiz 2: Fri, 20Sep

Quiz 2


Handout: Java Terminology & Logic


Program 6 Assignment - Card class

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


Lecture Notes: operators


Program 6 Due: Mon, 30Sep


Lecture Notes: control of execution order


Demonstration: Intro to using BlueJ for testing


Test 1: Thur, 3Oct

Program 7 Assigned: Mon, 30Sep

Test 1

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


Lecture: Cards and Card Games


Lecture Notes: loops




Program 7 Assignment - Deck class

Lecture: Deck class introduction

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


Dates & Specifications


Syllabus & Topics



Program 8 Assigned: Wed, 16Oct

Handout: Terminology & Logic (revisited)


Program 8 Assignment -HighCard Game

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



P/T Conferences


Quiz 3: Fri, 25Oct

Program 7 Due: Fri, 25Oct

Program 8 Due: Fri, 25Oct

Program 9 Assigned: Fri, 25Oct

Quiz 3 - Def & Logic


Program 9 Assignment - TenCard application


Handout: Worksheet #1 for Test 2 & Test 3

Quiz 3 over Definitions and Java Programming Logic


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


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



Program 9 Due: Thur, 31Oct

Program 10 Assigned: Fri, 1Nov

Test 2: Fri, 1Nov

Program 10 Assignment - BasicPlayer class


Test 2

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


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


Lecture: introduction to BasicPlayer interaction in TenCard and Poker applications




Handout: Worksheet #2 for Test 3


Program 11 Assignment - PokerPlayer class

student work on PokerPlayer class


Program 10 Due: Tue, 12Nov


Program 11 Assigned: Tue, 12Nov


Test 3: Thur, 14Nov


Program 12 Assigned: Tue, 12Nov


Test 3


Program 12 Assignment - PokerGame


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


student work on PokerPlayer and PokerGame application



Handout: Test 4 & Final Exam Expectations & Study Guide

student work on PokerPlayer class and PokerGame application


Test 4: Tue, 26Nov


Test 4

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



Program 11 Due: Mon, 2Dec


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 Due: Mon, 9Dec


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


Wed-Fri, 18-20Dec

Final Exams  

Classroom Policy


  • Java, Java, Java : Object-Oriented Problem Solving by Ralph Morelli,
  • 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.


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

BYOD Policy :

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

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

Responsibilities while absent:

Notes and Homework

Test and Quizzes

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


    • 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 browsing inappropriate content or downloading and installing a program without Mr. Meinzen's consent will receive a referral to the dean and possible 5-day suspension

    Tardies and Absences:

    • Attendance is the responsibility of the student and their parents.
    • Parents/ Guardians 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.


    • 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 disk 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 Mr. Meinzen know.
    • WEBSITE for Syllabus (assignments and schedule) is
    • This class 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.
    • WEBSITE for Assignments is

    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: 656-7100 (voicemail 20311) or
    • 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 complete the survey, 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



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