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 8: ArrayList and Collections

Computer Programming II Java, unit 8 of 12

Unit 7 ended with a structure that could not change size and a written note about what that cost. This unit pays that debt. It covers why the array ran out of room, the first ArrayList, why a list will not hold a plain int, add, get, set and remove, walking the whole list, the list methods students will actually use, counting the work instead of guessing it, what each structure costs and how to choose, searching a list two ways, sorting a list, and holding objects of a class the student wrote.

The performance task is The Roster That Grows. Students rebuild a Unit 7 problem so that the part that changes size becomes an ArrayList while the fixed part stays an array, and say in one sentence why. They add a counter to their own code and fill in a cost table at list sizes of at least ten, one hundred and one thousand for at least three operations, including add at the end, insert at the front and find an item, then write a comparison of at least 250 words. The comparison must name one job the ArrayList made harder or slower, because there is one.

The heaviest criterion is that the comparison is carried by counted evidence: a claim with no number behind it earns nothing however true it sounds, and a student who predicted one result, measured another and reported the measurement honestly earns full credit. Sorting a list of the student's own objects by a chosen field is named as a real limitation and handed to Unit 9. A teacher gets a plan and a substitute plan for each of the fifteen lessons, answer keys, tiered handouts, and the cost table with worked teacher numbers.

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
  • Handouts on the first ArrayList, why a list will not hold a plain int, and add, get, change and remove
  • Iteration labs, plus the list methods students will actually use
  • Count the Work, Do Not Guess It: students add a counter to their own code and record the numbers
  • A structure comparison lesson on what an array and a list each cost, and how to choose
  • Searching a list two ways, sorting a list, and a list of the student's own objects
  • Mid-unit checkpoint with answer key, and answer keys for the graded handouts
  • The Roster That Grows task with the counted cost table at 10, 100 and 1000, the written comparison and the rubric

Who it's for

  • Teachers who want data structure choice argued from numbers students collected
  • Programs preparing students for the Certiport collections and iteration objectives
  • AP Computer Science A teachers covering the ArrayList and algorithms material

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.