Algorithms and Data Structures

Hash Tables and Unit Tests you own this product

This project is part of the liveProject series Algorithms and Data Structures in Python
intermediate Python
skills learned
write code manipulating Python dictionaries • write unit tests involving dictionaries • cover a variety of testing scenarios • implement a basic hashmap from scratch • use your hashmap to eliminate duplicate entries
Kyle Dewey
1 week · 6-8 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

Look inside

Your real estate developer client has a large sorted dataset and the ability to zoom in on select parts of the data, thanks to the programs you’ve written for them previously. Now they’ve noticed duplicate entries in the dataset, and they’ve asked you to solve this problem. In this liveProject, you’ll create a program that will read in the large CSV data file, leveraging a hash map (which you’ll test and implement) in order to discard duplicate entries as quickly as possible. Though you’ll use the csv and unittest libraries in Python, you’ll write your own unit tests—a fundamental software engineering skill and a practical requirement on most real-world projects. Finally you’ll test your tests against Python’s existing dictionaries.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

Manning author Kyle Dewey talks about his liveProject Series.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Kyle Dewey
Kyle Dewey received his Ph.D. in computer science from UC Santa Barbara and has been an assistant professor in Cal State Northridge's computer science department since 2017. He has a dozen scientific publications spanning programming language design, compilers, automated software testing, and computer science education, and has presented his work at top conferences in the field. Kyle has formally taught courses covering programming skills at all levels, including courses specifically related to the algorithms and data structures seen in this liveProject.


The liveProject is for people with basic familiarity with Python and programming, comparable to a single introductory course at the college level. To begin these liveProjects you will need to be familiar with the following:

  • Intermediate Python
  • Object-oriented programming (defining classes and methods, using inheritance, creating objects)

you will learn

In this liveProject, you’ll learn how hash tables work and why they are so efficient, and you’ll gain hands-on skills implementing hash tables and unit tests.

  • Write code manipulating Python dictionaries
  • Write unit tests involving dictionaries, covering a variety of testing scenarios
  • Implement a basic hashmap from scratch
  • Use your hashmap to eliminate rows in a dataset that have duplicate description fields with other rows


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Hash Tables and Unit Tests project for free