In this project, you are encouraged to work in groups of 2 or 3. You can choose from one of the below suggestions, or you can create your own project.
If you elect to create your own project, you should submit a 1-2 paragraph description of your project. In particular, what will your project accomplish? How will Matt know if it works?
The project should be roughly as large as 3 labs. Choose the scope of your project carefully. Once completed, each group will demonstrate their project to Matt and suggest a grade they should receive (with justification).
Submit your program through moodle. Grading will be based on:
In this project, you will create a program to "massage" data, i.e., your program will take in data and modify parts of the data in appropriate ways as we have defined and discussed in class. The asssumption is that the data will subsequently be used in data analysis or modeling programs and these programs rely on the data being correct and falling within a specific range of constraints.
The input to your program is a file in .csv (comma separated values) format. Your program should read the data, "massage" it appropriately and then output it to a file in .csv format. The program should prompt the user for the names of the input and output files.
The input data is in the following format:
- year
- month
- day
- low temperature (fahrenheit)
- high temperature (fahrenheit)
The output data should be in the following format:
- year
- days since the beginning of the year
- low temperature (celsius)
- high temperature (celsius)
Your program should "massage" the data in the following ways:
- replace missing daily temperatures by asking for:
- missing high temperature
- missing low temperature
- missing high and low temperature
In addition to writing the new data file, you should use graphics to show (for the first month in the data file only):
- The temperature lows for every day
- The highs for each day
- The average low temperatue for the month
- The average high temperature for the month
You should document the program by putting in the appropriate comments at the beginning of each function.
In this project, you will design a simple game.
- Option 1: Implement a 2-player card game. Each player is controlled by a human.
- Option 2: Implement a 2-player dice or tic-tac-toe game. The players could be human or computer controlled.
- Option 3: Implement a simple arcade game (e.g., pong). You will need to learn something about animation and you could start by looking here, here, or here.
- Option 4: Some other game.
In all cases, there should be some graphical component of the game, since playing games on the command line is so early 80's.
?????