Animal Guessing Game with a Binary Search Tree


Data Structures


A binary search tree is a data structure that is used to handle simple decisions. In this assignment you will use a binary search tree to store information and then search through the information for a decision. While a binary search tree is typically for small databases, it is still a potential data structure for many applications, as well as aiding in the understanding of trees (a popular data structure) in general. Decision trees (a more specific type of tree), is commonly used in machine learning and data mining for making intelligent decisions. The objectives of this assignment are to (1) gain experience researching for a solution to a problem, (2) design a binary search tree (BST) class, (3) design and implement the building of a BST, as well as the methods to add to and search in a BST, and (4) improve written skills through the implementation of proper coding styles and documentation.

This assignment should be late in the semester, as the students will need to use many aspects of what they have learned over the semester to determine the proper data structures.


Bill Eberle


Michael Main and Walter Savitch’s "Data Structures and Other Objects Using C++", Fourth Edition


design document, code, comments, pseudo-code, test results, documentation, individual presentations, oral presentations, reflection, tech report, video

Assignment Duration

Two Weeks

Communication Skill

reading, writing, speaking, listening

Technical Skill

Implementation, Tools, Design, Research, Trees, Comments, Documentation, Problem Solving, Searching

Workplace Scenario

Technical Task: In order to learn technical material, one must be able to decipher key concepts through reading.
Professional Setting: Student works for a software company.
Professional Role: Student works along on a task for a project.
Deliverable: Design decisions discussed in design document.
Real-world Audience: Team Lead.
How the Audience will USE the students' communication: The Team Lead will use the student's design decision(s) to determine the feasibility of their proposed solution.
Additional Notes: Of course, the reading of technical material is not like reading a novel, and one must be able to transfer the pertinent information to a useful form. The two methods of communicating design to others are: speaking and writing. In order for others to digest your intentions, one must learn to effectively write their ideas so that it can be interpreted at the reader’s discretion – either due to remoteness or time.

When working in the real-world, many times you will be presented with a problem or instructions through dialogue with peers or management. Often, that will be the only instructions you will receive (i.e., nothing in written form). If you do not listen to what the other person is saying, you may miss a vital piece of information to the success of your assignment.

Team Size




Bill Eberle, “Animal Guessing Game with a Binary Search Tree,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed June 18, 2018, http://cs-comm.lib.muohio.edu/items/show/27.


Creative Commons License


Allowed tags: <p>, <a>, <em>, <strong>, <ul>, <ol>, <li>