Car Wash Simulation Using Queues


Data Structures


A queue is a popular data structure that is commonly used when attempting to process requests. In this assignment you will use a queue to simulate the processing of customer requests to wash their car. The objectives in this assignment are to (1) gain experience researching for a solution to a problem, (2) create a high-level design as a team that can be used by developers as well as understood by non-technical people (e.g., a customer), (3) build queue methods for adding, removing, and calculating averages, and (4) improve the implementation of proper coding styles and documentation.

This is a team assignment, and students should understand basic constructs, standard I/O, and how to implement a queue.


Bill Eberle


brainstorming, discussion, design document, code, comments, pseudo-code, test results, documentation, peer evaluation, reflection, requirements, technical report, team meetings

Assignment Duration

Several Weeks

Communication Skill

reading, writing, teaming, listening

Technical Skill

team evaluation, implementation, tools, design, linear data structures, program design, comments, documentation, programming language basics, data types and variables, tools, research, problem solving

Workplace Scenario

Technical Task: Most real-world software development projects involve working as a team.
Professional Setting: Students work for a software company.
Professional Role: Students are members
Deliverable: Design document.
Real-world Audience: A project manager.
How the Audience will USE the students' communication: The project manager will use the students' design document to do the following: (1) Develop a plan for completing the project, and (2) Determine whether the team is capable of completing the project.
Additional Notes: Whether it is working with other developers, business people, managers, customers, or users, you must be able to adapt to different personalities and deliver a working product that meets the customer’s requirements.

Also, as a software developer in the work force, you may have to do some research to find a solution to a problem. In this assignment, you will be given a task (handling of the probability of a customer arriving) for which there is not a solution in your textbook. For example, this will require you to read other resources (such as the internet) to understand how to do random number generation.

Team Size





Bill Eberle, “Car Wash Simulation Using Queues,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed June 18, 2018, http://cs-comm.lib.muohio.edu/items/show/44.


Creative Commons License


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