Skip to main content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

CS 351 Spring 2020: Home

A collection of materials for CS 351

Computer Modeling and Simulation

Course Announcements:

See updates page for latest changes to this guide.

Programmed Models



On the following projects, actual answers are less important than effective methodology.  Be sure to describe the key elements of your model, and how the model was implemented and analyzed to obtain your answers.  All projects are significant undertakings.  While you may work independently, they are intended to be collaborative efforts.  You are expected to submit 3 of the 5 projects below.


Project 1.

                Suppose a population of wolves is re-introduced into a geographical area.  Design a model which projects the spread of the wolf population and its impact upon prey species such as deer and/or rabbits.


Project 2.

                A toy wagon has axles that are 25 inches long.  It is 40 inches between the front axle and the rear axle.  The front wheels turn up to 45 degrees left or right.  Use a model to estimate the turning radius of the wagon.


Project 3.

                A state is trying to establish a fair recount procedure for close elections.  In general, recounts are expensive and disruptive to the electoral process, factors which must be weighed in light of the probability of a recount actually changing the election results.  Suppose there is a 0.01% chance of a vote being erroneously read (going to the wrong candidate) in a two person election where 5,000,000 votes are cast.  The state does not want a recount unless there is at least a 1% chance of the outcome being changed.  Using this criteria, how close would the vote have to be to trigger a recount?


Project 4.

                A busy bank has 3 drive through windows.  Each drive through lane has space for four cars (including the car being serviced).  As drivers arrive at the bank, they will choose to join the shortest lane.  If multiple lanes are tied for shortest, the driver picks at random between those shortest lanes.  Once they have chosen a lane, they cannot move to another lane – even if one becomes shorter.  If all lanes are busy, drivers will circle around the block, which takes exactly 3 minutes, and return to the bank, a process they will repeat until they can join a lane.  Customers arrive at the drive through at a rate of 2 per minute, and they require an average of one minute to be served.  Build a model of the bank, and use it to analyze the efficiency of the bank’s drive through service.  The bank is considering rebuilding, and is particularly concerned about congestion in the drive through lanes.


Project 5.

                  The corona virus is presently spreading through the global population.  Understanding how it spreads through a population (by using models) can provide valuable insight into slowing or limiting its spread.  The Washington Post has produced a story showing some simple models illustrating the effects of quarantining regions and of social distancing (see link on page 2 of this guide).  Read this post, think about the models, and answer the following questions:

  1. Describe the models using your own words, with sufficient detail that a programmer could re-create them.  Note: this might require a bit of inference on your part; the article itself does not give this level of detail.  Explain what real phenomena the actions of the model simulate.
  2. What exactly do the models show -- i.e. what are the results of the models.  What do they not show -- i.e. to what extent should conclusions drawn from these models be limited?
  3. To what extent are these models applicable only to the corona virus?  To what extent do they apply to any contagious disease?
  4. What are the weaknesses/flaws in these models.  What would you do differently on a model of equivalent complexity?  What would you add to or change in the model if you were willing to increase its complexity?  Again, be sufficiently specific that a programmer could implement your model.
  5. If you would like (especially if you are a good programmer), program your model and test it.  The Post's models come with very informative graphics.  Incorporate as much or as little graphical demonstration as you are comfortable doing.

Subject Guide

Chris Tiahrt's picture
Chris Tiahrt
270-903-0889 (home)

270-686-4269 (office)