CSCI 150 - Project 1 - Civic Assistance Question/Answer System

CSCI 150 - Project 1
Civic Assistance Question/Answer System

Assigned Monday, Februrary 4
Due Monday, February 18


Description

Many elements of our civic lives are governed by processes and regulations. While they may be confusing and complicated, these processes form a common way that we coordinate our interactions, hopefully for the benefit of all. We can use our computing skills to help facilitate a clear understanding of these processes.

For this project, you will create a program that interacts with a user by asking questions. Follow-up questions depend upon the previous questions asked. The questions and answers should guide the user towards solving a concrete problem.

The content of the questions and answers should be related to a citizen interacting with their government in some real-life civic realm. You can ask the user for strings, integers, or floats. The program must contain at least six distinct questions it can ask. Every question after the first question might or might not be asked, depending on the answers to previous questions.

Here is a list of potential interactions you might attempt to simulate. This is by no means comprehensive and is meant as inspiration for your program. You may choose one of these, or one of your own, as long as you provide a citation in your code to your connected real-world civic interaction.

Example

Here are two transcripts from an example system, to give you a sense as to what your program needs to be able to do. The input from the user is colored as blue.

Transcript 1

Welcome to the DMV. Would you like to "register" or "renew" a vehicle? register
Has your vehicle been assessed this year? no
Please have your vehicle assessed and bring your stamped receipt from the county assessors's office.

Transcript 2

Welcome to the DMV. Would you like to "register" or "renew" a vehicle? register
Has your vehicle been assessed this year? yes
Have you paid property taxes due for this vehicle? yes
What is the odometer reading? (please no commas) 1282
What is the purchase price of the vehicle? (please no commas) 13234
You will owe $860.21 in taxes. Will you be using "credit" or "cash"? cash
Was this a "new" or "used" purchase? used
Did you bring the title for the vehicle? no
Please return when you have the title with all signatures from the buyer and seller.

Reflection

Along with your code, you should submit a document containing a short (1 page) reflection on the following questions:
  1. Why did you choose the system you did?
  2. What did you learn about the system as a result of completing this assignment?
  3. How did this experience affect your understanding of the relationship between computing and society?

Warning

Get started early! Pick an idea and run it by us. We are happy to help you think through the design of your program.

Grading

A program will earn a B if it follows the above guidelines for user input and output, with 6 distinct questions. An A project will also be free of any grammatical errors and request various types of data (string, integer, float). A 100 project will also follow the style guide.

What to Hand In

Submit the *.py file containing your program, and the reflection document.

Make sure you have followed the Python Style Guide, and have run your project through the Automated Style Checker.


© Mark Goadrich, Hendrix College