AP CS Assignments
Assignments by week:
Fall Term: 1 2 3 4 5 6 7 8 9
Winter Term: 1 2 3 4 5 6 7 8 9 10 11
Spring Term:
Monday, February 19
Finishing Binary Search Trees
Tuesday, February 20
Introduction to Hashing
Thursday, February 22
Hashing Details
  • Download and unzip the HashMap implementation lab. Read the comments carefully to make sure you're meeting the requirements correctly, and make sure you've chosen one of the following 3 types of solution to the problem:

    • All HashMaps must have a load factor that, once exceeded, causes the backing array to resize.
    • If you use chaining, you must implement a singly-linked list from scratch using the provided HashNode class. The list's head should be the slot in the hash's array, and does not need a tail (it's unordered).
    • If you use buckets, you should have a fixed bucket size and an overflow bucket at the end of the table. The table should resize appropriately if the overflow becomes full.
    • If you use probing, you must use a non-linear collision resolution method such as quadratic, pseudo-random, or double-hashing.

    Final version is due Friday, March 2 at the start of class.

  • Read at least the first section of the Wikipedia entry on cryptographic hash functions.
Friday, February 23
Cryptographic Hashing
  • Work on HashMap lab, due next Friday at the start of class. However, we will work on other topics during class, so don't put this off! You should really aim to be done by Tuesday.