Lab 9

Maps

Goals

  • Implement a hashtable data structure to better understand the Map ADT
  • Continue practicing using unit tests to help us debug our code
  • Explore the application of Maps for a real-world problem in machine learning and natural language processing

Welcome to your ninth CSCI 151 lab! The lab can be started by following this link to create a copy of the assignment for you on GitHub: https://classroom.github.com/a/0_DOGA7V

In this week’s lab, we will be exploring Maps by (1) creating our own implementation of a HashMap using a hashtable to understand how hashtables allow us to use any type of object as a key like an “index”, and (2) applying Maps in a real-world application learning how to generate new text that mimics the word choices of a provided piece of text. We will also continue practicing using unit tests for testing our code piecewise as we develop it (rather than waiting until we’ve written a lot of intertwined code that is difficult to debug).

We will once again begin with a Warmup designed to help reinforce some of the key concepts needed to complete the lab assignment. You are strongly encouraged to work with a partner on the Warmup during the lab period.

As a friendly reminder, there is also lab helping available outside of your regularly scheduled lab time. A calendar and description can be found here. Please make use of the lab helping available as much or as little as you need; it is there to assist you as we learn together this semester. Please also feel free to reach out to your professor by email or stop by office hours with any questions.