question archive Course Project Overview TABLE OF CONTENTS Objectives The objective of the Course Project is to give you practice applying the programming techniques to a complete development project
Subject:Computer SciencePrice: Bought3
Course Project Overview
TABLE OF CONTENTS
Objectives
The objective of the Course Project is to give you practice applying the programming techniques to a complete development project.
The actual programming problem is not too difficult, but in order to be successful with the Course Project, you will need to be able to apply the programming techniques and accomplish the analysis and design of the problem as well. This implies that you need to understand the weekly concepts as well as the programming techniques so you can apply both to the software development project.
Guidelines
Your final project must include all of the following. Your initial submission will start simple, and you will add features each week.
· Input and output
· Use of variables
· Use of conditional statements
· Use of loops
· Use of modules
· Use of arrays
· Ability to save and retrieve data
For this project, you will decide on a program to write and develop it throughout the course. Select from one of the following cases, or use a case of your choosing. If you pick your own case, it must meet the above requirements and must be approved by your instructor.
The suggested project is a programming tutorial that will teach the user basic programming skills. As you develop the project, you will add the ability to quiz the user, modularize the code, and allow for saving of the student's data.
As an alternative, you can select a program related to your major or an interest of yours. See the following example.
Financial Calculator: You will develop a program for a bank that will allow it to process loans for customers. The user will enter information, such as interest rate, length of loan, amount borrowed, or desired payment, and the program will compute the missing information. It will also be able to display a report showing the amortization schedule for the loan. Customer data should be able to be saved and retrieved from a file or files.
Electrical Calculator: You will develop a program for an electrical contractor that will allow it to create bids for jobs. The program will be able to solve Ohm's law for any variable. In addition, the program will be able to compute the cost of the materials and labor for a job. Either aluminum or copper wire may be used, and the user can enter the cost per feet of each gauge of wire of a particular type. Additional costs for labor based on length of wire can be entered. The program should produce a report showing total cost for labor and material. Job data should be able to be saved and retrieved from a file or files.
DJ Playlist Manager: You will develop a program for a DJ. The DJ needs to be able to enter data about his or her music collection, such as title, artist, length, genre, and so on. The user should be able to create individual playlists from a subset of the entire music collection. A report should be available showing the songs on a particular playlist, as well as their total length and average song length. There should also be a report showing the names of all the playlists and the total length of each playlist.
Deliverables
Each week, you will submit the following.
1. Current IPO chart and pseudocode
2. MS Visual Studio Project folder
3. Completed Test Plan (Screen shots of working program)
Put the IPO chart, pseudocode, and test plan in the MS Visual Studio project folder, zip up the entire folder, and submit the compressed file.
Week 1
Decide on your project program, and write a brief description of what the program will do. Prepare an IPO chart for your program. Create two or three sample screens (using Word or a drawing program) depicting what your program will look like to the user (remember that these will be console-based programs).
Week 2
Create a flowchart for a simplified version of your program. Create a working version of it based on your flowchart. This should be a working program that accepts user input, does some calculation, and shows the results. It does not have to use conditional expressions, loops, and the like.
Examples: For the programming tutorial, you can describe and demonstrate to the user using screen output, how to declare variables, display information on the screen, get information from the user, and do calculations. You can ask the user for their name and include it in the tutorial output.
For a loan payment calculator, it asks for interest rate, length of loan, amount of loan, and it displays monthly payment. For a DJ manager, it asks for the average song length and the number of songs on a playlist, and it displays the length of the playlist.
Week 3
Add at least one conditional expression to your program.
Examples: In the programming tutorial, you would add a tutorial on conditional expressions. You can then add simple multiple choice questions to test the user's understanding of the concepts. You might also want to break the tutorial into sections, and use conditional expressions to ask the user which tutorial they wanted to see (i.e., variable declaration, input/output, conditional expressions, etc.).
For the loan calculator, the program might ask the user if he or she wants to solve for monthly payment, loan amount, length of loan, or interest rate. The program would then ask for the required information and solve for the remaining value.
Week 4
Add loops to validate data. Add a menu to your program that allows users to use the various features or exit the program.
Examples: In the programming tutorial, add a tutorial on working with loops. Then use loops to validate user input and display an error message if they enter data outside the valid range. Use a main loop to allow the user to keep selecting different tutorials until they decide to exit the program.
Week 5
Add arrays to your program to handle more data.
Examples: In the programming tutorial, add a tutorial on working with arrays. Then use arrays to store the answers to multiple questions so that you can compute a total score.
In the DJ program, you can add the ability to handle multiple songs and playlists. The electrical program should handle multiple customer scenarios.
Week 6
Create a hierarchy chart showing the logical components of your program. Modularize your code according to your chart using the practices learned this week. Your menu should now call individual modules to do the work of the program.
Examples: In the programming tutorial, add a tutorial on working with modules. Then modularize the code so that each tutorial and quiz is in a module.
Week 7
Add the ability to save data to disk in one or more files. The menu(s) should give the user the option to save or retrieve data.
Examples: In the programming tutorial, add a tutorial on working with files. Then add the ability to save/retrieve user information or quiz results.
Grading Rubrics
Week 1
Category |
Points |
% |
Description |
Documentation and Formatting |
10 |
25% |
Documentation should be complete. Format should be suitable for your portfolio shown to potential employers. |
Organization and Cohesiveness |
10 |
25% |
Submissions should be well organized. |
Editing |
10 |
25% |
Text should be grammatically correct and clearly written. |
Content |
10 |
25% |
Your deliverables should fully and clearly describe your project. |
Total |
40 |
100% |
A quality paper will meet or exceed all of the above requirements. |
Week 2
Category |
Points |
% |
Description |
Flowchart |
20 |
50% |
Add to your project document. |
Working Program |
20 |
50% |
Include a zipped project folder. |
Total |
40 |
100% |
Programs should be easy for users to use. Menus should be clear and nicely formatted. Output should be clearly labeled and formatted accordingly with proper alignment, currency formatting, decimal formatting, and so on. Program should be robust and not crash if invalid data is entered. Error message should be clear, and the user should be able to recover from data entry errors. Submissions should include all source and executable code. |
Weeks 3-7
Category |
Points |
% |
Description |
Screenshots |
10 |
25% |
Include screenshots |
Working Program |
30 |
75% |
Include a zip file with your complete project folder. Code should be well commented. Variables and modules should follow standard naming conventions. Visual tools, such as flowcharts, hierarchy charts, and so on, should be clear and follow standard practices. |
Total |
40 |
100% |
Programs should be easy for users to use. Menus should be clear and nicely formatted. Output should be clearly labeled and formatted accordingly with proper alignment, currency formatting, decimal formatting, and so on. Program should be robust and not crash if invalid data is entered. Error message should be clear, and the user should be able to recover from data entry errors. Submissions should include all source and executable code. |
Test Plan
Your test plan should test for a variety of cases. In your test plan, list the values you tested along with a screenshot for each. You should test both incorrect and correct inputs.
Week 8
Course Project Presentation
Add one new feature you have not added. This could be an additional array or function, an additional calculation, more inputs, or even try adding color. Create a powerpoint presentation explaining your course project. You should include the following slides: introduction, conclusion, purpose, challenges in your code, future improvements to your code, and conclusions. Include screenshots showing your program working through each phase. Discuss the evolution of your program through each phase.
Course Project Presentation Grading Rubric
Category |
Points |
% |
Description |
Professional code/comments |
16 |
10% |
Include comments |
Working Program |
56 |
35% |
Include a zip file with your complete project folder. Code should be well commented. Variables and modules should follow standard naming conventions. Visual tools, such as flowcharts, hierarchy charts, and so on, should be clear and follow standard practices. |
Additional feature |
16 |
10% |
Include an additional feature to the working program. |
Professional PowerPoint presentation |
56 |
35% |
PowerPoint should have no grammatical errors and should display the project with screenshots for each phase. Powerpoint should have a professional design |
Introduction, Conclusion, Challenges slide |
16 |
10% |
Include introduction, conclusion, and challenges slide. |
Total |
160 |
100% |
Programs should be easy for users to use. Menus should be clear and nicely formatted. Output should be clearly labeled and formatted accordingly with proper alignment, currency formatting, decimal formatting, and so on. Program should be robust and not crash if invalid data is entered. Error message should be clear, and the user should be able to recover from data entry errors. Submissions should include all source and executable code. |
Best Practices
Each increment of the program will adhere to the following standards.
1. Each source file will have a header describing the program, programmers name, date, purpose of the program, and increment.
2. Each source file will adhere to the coding standards provided in the lesson or given by the professor.
3. Each program will have an introductory output message introducing the program to the user and providing directions.
4. All program output will be well structured, easy to read, and appropriately formatted.
5. Program code should be properly documented with clear variable names that use standard naming conventions and comments throughout the code.