CS183 -- Project 2: Group Design Project



->Courses
->CS183
-->Quiz 1
-->Lab 1
-->Lab 2
-->Project 1
->Project 2
->Electronic Submission
->Old Exams
->C++ Examples
->MSVC++ Info
->STL Info
->MFC/GUI Info
->Software
->Tentative Schedule
->Course Policies

[Courses]
[Rich][Home][Rich]
[PHome]

Spring Quarter 2002

Course Objectives Addressed

  • Understand the rationale for object-oriented design and programming.
  • Understand data abstraction and abstract data types.
  • Be familiar with UML class notation and use cases.
  • Understand and be able to apply pointers and dynamic objects.
  • Be familiar with composition, inheritance, polymorphism, and C++ templates.
  • Be able to design and implement simple C++ classes and class libraries.
  • Be able to design small software systems using classification and use cases.
  • Be able to document the design and implementation of small software systems.
  • Be able to work in a team to create a small software system.

Overview

The purpose of this lab is to simulate bacterial growth on a computer.

Acknowledgement

This lab was developed by Dr. Dennis Hafemann.

Problem Statement

Suppose you have been asked by a biologist to design a simulation of the growth of a mixed culture of 2 bacterial species in a culture medium. One of the bacterial species secretes an antibiotic which is fatal to the other.

Requirements

In this problem we will consider 2 species of Bacterium, Escherichia Coli and Streptomyces Griseus, and we will pretend that they can grow side by side in the same medium. Streptomyces Griseus secretes streptomycin, an antibiotic which inhibits the growth and reproduction of the strain of E. Coli we are using. Let us simulate:

  • E. Coli growing by itself, limited only by the amount of nutrient in the medium.
  • E. Coli growing along with S. Griseum, showing the amount of each species present for varying incubation times.

In order to further your learning, your design must illustrate inheritance and polymorphism.

You may make the following assumptions:

  1. The generation time of both organisms is 20 minutes.
  2. The initial nutrient concentration in the medium is 10 grams/liter.
  3. The amount of nutrient for one bacterium to grow to maturity and divide is 4 x 10-12 grams.
  4. S. Griseum changes 1% of the nutrient it consumes into streptomycin.
  5. The concentration of streptomycin needed to suppress E. Coli growth and division is 0.001 grams / liter.

Tip:  you can keep the number of cells to a manageable level by limiting the total volume of the medium. Whereas one liter of medium would grow enough bacteria to overwhelm your computer's memory, one microliter is manageable.

Design

Your design should consist of an annotated UML class diagram expressing your high level design and pseudocode or UML sequence diagrams expressing your detailed design.

It is expected that the design, implementation, and testing of your software will take place during lab time.

Requirements

Upon completion of the project, each team member must complete the Team Evaluation Form and turn it in before taking the final exam.

Lab report

The lab report should consist of the following:

  • One section should contain a report for your imaginary client, telling him/her the consequences on populations of the initial mixture of the 2 bacteria. Show one or more plots of bacterial concentration vs. time in your culture.
  • Your design documentation. (You may include images (in .png format) of scans of hand drawn UML diagrams and sequence diagrams if needed.)
  • A brief description of any problems you encountered or questions you have regarding the lab.
  • Any suggestions you have for how the lab could be improved.
  • A summary of your activity log indicating how much time you spent on the assignment. Please follow the time log format given in the template file. In particular, you should record the date and time for each block of time you work on the project. Dr. Taylor's students: You should email an updated time log to him each week. The time log must be emailed between Thursday, 6:30pm and Friday, 11pm of each week. Please report the time in the following categories:
    • Designing
    • Coding
    • Debugging (before you think it's working)
    • Testing (after you think it's working)
    • Writing report
    • Other
  • The documented source code for your program. Include only the source files that you modified.

Project report template

As with any report you submit, correct spelling and grammar are required. In addition, your report should be submitted electronically following the Electronic submission guidelines. (You may wish to consult the sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost. It may be wise to keep a diskette backup as well.

Your lab grade will be determined by the following factors:

  • Meeting specifications
  • Technical quality
  • Design documentation
  • Internal documentation (comments)
  • Program clarity (formatting, etc.)
  • Narrative report
  • Activity logs
  • Correct program results
  • Spelling and grammar
  • Timeliness of submissions

If you have any questions, consult your instructor.

© 2001-2002 Dr. Christopher C. Taylor Office: CC-27C Phone: 277-7339 Last Updated: Tue Apr 16 15:40:50 2002
I am responsible for all content posted on these pages; MSOE is welcome to share these opinions but may not want to.