The School Design Group Tools for people who build schoolsand the teachers who bring them to life

← All toolkits

Part of Computer Programming I

Unit 6: Objects That Behave Well

Computer Programming II Java, unit 6 of 12

Unit 5 left two embarrassments in place. Printing an object produces machine noise, and two objects holding identical values report that they are different. This unit pays both debts by making students see the failure before they get the fix. They print their own Unit 5 object and copy the actual output by hand, then build two objects with identical fields, compare them with == and record that the answer is false. Only then do toString and equals arrive, along with what sameness should mean for this particular class, the exact signature Java expects, naming conventions as a working requirement, and what makes a class usable by somebody else.

The performance task is The Class Somebody Else Can Use. Students give their Unit 5 class a toString and an equals, write a one page usage sheet, and hand both to a classmate who must write a working program with them and may not ask the author a single question. The author records every place the classmate got stuck and then revises. The heaviest criterion is that the classmate succeeded on the documentation alone and the author made at least one named revision because of what the classmate could not figure out.

Overriding is named honestly and not explained away. Students write a method Java uses in place of one it already gave their class, the word for that is stated, and Unit 9 is named as where the machinery is taught. A teacher gets a plan and a substitute plan for each of the fifteen lessons, answer keys, tiered handouts, and both classroom demonstrations written as student run activities rather than teacher shown ones.

The unit runs 15 instructional days.

What's inside

  • A teach plan for each of the 15 lessons, plus a one page substitute plan per lesson
  • Lesson 1 demonstration where every student prints their own object and copies the machine output by hand
  • Lesson 5 demonstration where == reports false on two identical objects and the result goes on paper before equals is taught
  • Handouts on writing a toString that shows state rather than decoration, and on deciding what the same really means
  • The equals lab, including the exact signature Java expects
  • Mid-unit checkpoint with answer key, and answer keys for the graded handouts
  • The Class Somebody Else Can Use task, the usage sheet template, the stuck log, the revision note and the rubric
  • Vocabulary cards, a naming convention card, and sentence frames for writing documentation for a reader who cannot ask questions

Who it's for

  • Teachers who want object equality taught from a result students produced themselves
  • Programs preparing students for the Certiport object oriented programming objective
  • Classes where technical writing and code review habits are part of the grade

License, plainly

Adapt it, rename it, put it on your letterhead, use it as your own. The single license covers one classroom or one organization; the school license covers everyone in the building or department. Do not resell it or publish it as a template product. Full terms.

Also useful

Course

Computer Programming II: Java

Twelve units, 180 days, twelve performance tasks, a lesson plan and a substitute plan for every lesson, aimed at Certiport IT Specialist Java.

Course

Computer Programming I

Twelve units, 180 days, 665 documents. Binary to capstone, with a portfolio and interview practice at the end.