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

3rd Quarter

Week

Dates & Specifications

Assignment

Syllabus & Topics

1

4-8Jan

3Jan, Mon : Teacher Inservice

 

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

2

11-15Jan

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)

3

17-22Jan

17Jan, 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)

4

25-29Jan

Bonus Quiz : Due

 

Program 4 Due :

 

Quiz 1 : Groups of 3 Due :

 

Java Bean Bonus Program#1 Due :

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

1-5Feb

Quiz 2:i

 

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

6

8-12Feb

 

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

15-19Feb

Program 6 Due:

Test 1

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

 

Lecture Notes: loops

8

21-26Feb

21Feb, Mon : Presidents Day

 

Test 1:

Java Bean Bonus Program#2 Due :

 

25Feb, Fri : Teacher Institute

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

1-5Mar

Review

Review Java Syntax and Java Beans

 

Program 8 Assignment - HighCard Game

 

10

8-12Mar

Review

Handout: Terminology & Logic (revisited)

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

4th Quarter

Week

Dates & Specifications

Assignment

Syllabus & Topics

11

14-19Mar

16Mar, Wed : 1/2 day School Improvment

 

Program 8 HighCard Due:

 

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

 

12

21-25Mar

Quiz 3:

 

Program 7 Deck Due:

 

Program 10 Assigned

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.

 

13

28Mar-1Apr

Test 2:

 

Program 9 TenCard Due

 

Program 11 Assigned

Test 2

 

Program 10 Assignment - BasicPlayer class

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

 

14

4-8Apr

SAT testing

 

Program 10 BasicPlayer Due:

 

Test 3 :

 

Program 12 Assigned:

Handout: Worksheet #2 for Test 3

 

Program 11 Assignment - PokerPlayer class

student work on PokerPlayer class

11-15Apr

No school - Spring Break

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

15

18-22Apr

18Apr, Mon : Spring Break

 

Quiz : Study Guide for Test 4 :

Quiz: Test 4 & Final Exam Expectations & Study Guide

student work on PokerPlayer class and PokerGame application

16

25-29Apr

Test 4 :

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.

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

2-6May

Program 11 PokerPlayer Due:

Test 4 Day 1 [multiple choice - Schoology]

Test 4 Day 2 [free response- Schoology]

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

9-13May

Program 12 PokerGame Due:

 

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

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

19

16-20May

last day for seniors

 

19May, Thu : 1/2 Day InService:

Final Exams  

20

23-27May

 

Final Exams for non-Seniors

 
 

30May, Fri : Memorial Day

   

(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

  • Day-based schedule :

    • 40-minute class periods where teacher is available at the same time each day regardless of Hybrid or Remote student schedule.

      1. 7:20 - 8:00am : Java & Honors Java Programming / AP CSP

      2. 8:05 - 8:45am : AP Statistics

      3. 8:50 - 9:30am : AP Computer Science A

      4. 9:35 - 10:20 : AP Statistics

      5. 10:25 - 11:05 : Trigonometry/PreCalculus

      6. 11:10 - 11:50am : Trignonometry / Java & Honors Java Programming

    • Lunch : 11:50-12:35

      [sign-up option for students who remain at EHS]

    • Study : 12:35 - 1:30

      [sign-up option for students who remain at EHS : may require scheduling]

  • Week-based schedule :

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

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

    70-79.99%

    C

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

    5% -10%

    60-69.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 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 10 (Pro)
      • Java SDK (any version above 1.8 (i.e. 8.0 or higher)
      • 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.

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

     

    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