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

3rd Quarter

Week

Dates & Specifications

Assignment

Syllabus & Topics

1

Program 1 Due: Thur, 4Jan

Program 2 Assigned: Thur, 4Jan

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)

2

Quiz 1: Thur, 11Jan

Program 2 Due: Fri, 12Jan

Program 3 Assigned: Fri, 12Jan

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)

3

Program 3 Due: Fri, 19Jan

Program 4 Assigned: Fri, 19Jan

Handout: JavaBeans

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

Lecture Notes: Rule of 3

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

4

UML Diagram for Program 4 Due: Wed, 24Jan

 

Program 4 Due: Fri, 26Jan

Handout: Sample Code and Assignment for Program4

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

Lecture Notes: Terminology, Concepts, & PetRockApplet Program Walkthrough

5

Program 5 Assigned: Fri, 26Jan

Program 5 Assignment

Handout: Sample Code for graphics - SwingTemplate for Program 5

Lecture: object instantiation & UML class diagrams

Lecture Notes: Types & syntax

Adrienne 5 story - Type conversions & logic errors

6

Quiz 2: Wed, 7Feb

Program 5 Due: Friday, 9Feb

Quiz 2

Handout: Java Terminology & Logic

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

Lecture Notes: operators

7

 

Program 6 Assigned: Friday, 9Feb

Program 6 Assignment - Card class

Lecture Notes: control of execution order

 

Demonstration: Intro to using BlueJ for testing

Lecture: Cards and Card Games

8

Test 1: Fri, 23Feb

Program 6 Due: Tue, 20Feb

Program 7 Assigned: Tue, 20Feb

Test 1

Program 7 Assignment - Deck class

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

 

Lecture Notes: loops

9

 

Program 7 Due: Wed, 7Mar

Program 8 Assigned: Tue, 6Mar

Program 8 Assignment -HighCard Game

Lecture: Deck class introduction

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

Week

Dates & Specifications

Assignment

Syllabus & Topics

10

 

Quiz 3: Fri, 16Mar

Handout: Terminology & Logic (revisited)

Quiz 3 - Def & Logic

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

 

11

 

Program 8 Due: Tue, 20Mar

Program 9 Assigned Tue, 20Mar

 

 

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.

 

12

Test 2: Fri, 6Apr

 

Program 10 Assigned: Wed, 4Apr

 

Program 9 Due: Wed, 4Apr

Handout: Worksheet #2 for Test 3

 

Program 10 Assignment - BasicPlayer class

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

 

13

 

 

Handout: Program 11 - PokerPlayer class

 

Handout: Program 12 - PokerGame

 

14

Test 3: Thur, 19Apr

Program 10 Due: Thur, 19Apr

Program 11 Assigned: Thur 19Apr

Test 3

 

Program 11 Assigment - PokerGame

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

 

student work on PokerPlayer class

15

Program 12 Assigned: Mon, 23Apr

 

Handout: Test 4 & Final Exam Expectations & Study Guide

 

Program 12 Assignment- PokerPlayer class

student work on PokerPlayer class and PokerGame application

16

Test 4: Tue, 1May

 

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

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

17

Program 11 Due: Thur, 10May

Program 12 Due: Fri, 11May

Note: Program 11 and 12 due dates MAY be extended on a per-student basis depending on continuous effort by each student in the classroom toward completion of these programs. These extensions are subject to teacher discretion.

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

18

  Final Exams  

Classroom Policy

TextBook:

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

Grading:

  • 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

    49.99% or below

    F

       

    Final Exam is worth 20% of Semester Grade

     
  • Phones and/or cameras are NOT allowed in the classroom. Students who intentionally or unintentionally compromise the 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) 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.
  • 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!

  • 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 browsing inappropriate content or downloading and installing a program on the computers 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.

    Advice:

    • 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 http://www.ecusd7.org/ehs/ehsstaff/jmeinzen
    • 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 http://www.ecusd7.org/ehs/ehsstaff/jmeinzen

    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 jmeinzen@ecusd7.org.
    • 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)

    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

     

    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 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. All the files will be located in the folder called: "G:\\EHS Courses\Java Programming - Student Disk\install at home"
    • The following software [to be installed in the following order] will be used in this course.
    • 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
    • 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.
    • 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

     

    Code Conventions