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 others...it'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 students...it is very tempting to just "get the answers" from other without actually learning the material through my own efforts.

    • Falling behind in assignments...it is very difficult to catch up.

1st Quarter

Week

Dates & Specifications

Assignment

Syllabus & Topics

1

14-18Aug

 

14-15Aug : Teacher Institutes

 

16Aug, Wed: 1/2 day Teacher Institute

Wed : 1/2 day Teacher Inservice

 

Program 1 Assigned: Wed

 

Program 1 Due: Fri

 

Program 2 Assigned: 18Aug, Fri

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

2

21-25Aug

Program 2 Due: Fri

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)

3

28Aug-1Sep

Program 3 Due: Mon

 

Quiz 1: Tue

 

Program 4 UML Due: Wed

 

Program 4 Due : Fri

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)

4

4Sep : Labor Day

 

4-8Sep

Java Bean Bonus Program#1 Open

Handout: Assignment for Program 5 : Introduction to Professional Graphics - SwingTemplate.java

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

 

Lecture Handout: Terminology, Concepts, & PetRockGUI Program Walkthrough

5

11-15Sep

Quiz : Groups of 3 : due : Wed

 

Quiz : due : Fri

Quiz : Groups of 3 [on Schoology]

 

Quiz : Terminology & Concepts in PetRock [on Schoology up to 5 times]

Lecture: object instantiation & UML class diagrams

 

Lecture Notes: Types & syntax

 

Adrienne 5 story - Type conversions & logic errors

6

18-22Sep

Program 5 Due: Fri,

 

Quiz 2 Due: Fri

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

7

25-29Sep

Test 1: Wed

 

Program 6 Due: Fri

Test 1

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

 

Lecture Notes: loops

8

2-6Oct

 

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

9

9-13Oct

 

9Oct : Columbus Day

 

13Oct : 1/2 day Teacher Institute

Review

Review Java Syntax and Java Beans

 

Program 8 Assignment - HighCard Game

 

2nd Quarter

Week

Dates & Specifications

Assignment

Syllabus & Topics

10

16-20Oct

Review

Handout: Terminology & Logic (revisited)

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

 

11

23-27Oct

Program 8 HighCard Due: Fri, 27Oct

 

Quiz 3:

Quiz 3 - Def & Logic

 

Program 9 Assignment - TenCard application

 

Handout: Worksheet #1 for Test 2 & Test 3

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

 

Quiz 3 over Definitions and Java Programming Logic

 

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

 

12

30Oct-3Nov

 

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

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

Program 7 Deck Due: Fri,3Nov

 

Test 2 over terminology, program syntax, arrays & loops, PetDuck & PetDuckOwner, 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

 

13

6-10Nov

 

7Nov : Election Day

10Nov : Veteran's Day (celebrated)

Test 2: Tue, 7Nov

 

Program 11 Assigned:

 

Quantum Computing via Paired Gaming:

Test 2

 

Handout: Worksheet #2 for Test 3

 

Optional: Quantum Computing - research into learning about QC

student work on PokerPlayer class

14

13-17Nov

Program 9 TenCard Due: Thur, 17Nov

 

Program 10 BasicPlayer Assigned and Due: Wed 29Nov

 

Program 12 Assigned:

Program 10 Assignment - BasicPlayer class

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

 

student work on BasicPlayer and TenCard application

15

20-24Nov

 

22-24Nov Thanksgiving Break

Quiz : Study Guide for Test 4:

Program 11 Assignment - PokerPlayer class

 

Program 12 Assignment - PokerGame

 

Quiz: Test 4 & Final Exam Expectations & Study Guide

student work on PokerPlayer class and PokerGame application

16

27Nov-1Dec

Test 3: Friday, Dec1

 

Program 10 BasicPlayer Due: Wed, Nov29

Test 3

 

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. Ex: 1stHr, Meinzen, John

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

17

4-8Dec

Quiz (Term, Concepts, Program Walkthrough) repeat from 1st Qtr

Quiz (repeat from 1st Qtr)

Practice Coding Logic : CodingBat.com

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

18

11-15Dec

Test 4: Part 1 & 2:

 

Program 11 PokerPlayer Due:

Program 12 PokerGame Due:

Test 4 Day 1 [multiple choice - Schoology]

Test 4 Day 2 [free response- Schoology]

 

Programs 11 & 12

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

19

18-20Dec

 

21Dec-2Jan : Christmas Break

2nd Hour: : Tue 19Dec

Study: 7:10-8:10am
Exam: 8:16-9:59am

 

6th Hour: Wed 20Dec

Study: 9:35-10:40am
Exam: 10:45-12:40am

Final Exams  

(Honors) Programming in Java 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 :

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

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)

    90-100%

    A

    Programs/Tutorials

    50%

    80-89.99%

    B

    Tests, Quizzes, Questions, etc

    50%

    65-79.99%

    C

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

    5% -10%

    50-64.99%

    D

    59.99% or below

    F

       

    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/collegiate-level 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 https://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 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) :

        https://www.oracle.com/java/technologies/javase-downloads.html : 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 :

        https://www.textpad.com : 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 : https://www.bluej.org : 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 : https://ecusd7.schoology.com : 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 : https://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.

     

    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 programs...to 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

    leepoint.net/notes-java/index.html

    Text editor used in class

    www.textpad.com

    Practice Java Questions

    www.codingbat.com

    Complete Textbook on Java including Graphics

    (2012 version)

    http://math.hws.edu/eck/cs124/javanotes6/index.html

    Complete Textbook and online homework:

    runestone.academy/runestone/books/published/apcsareview/index.html

     

    Code Conventions