Overview
I am including information below that you can examine in an effort to maximize your grade on various elements of the project. The overall expectations/specifications for the project are given as a reminder and then the expectations for the various assignments are provided. I encourage you to use the appropriate checklist before submitting each of the project elements.
Specifications
The project should meet the following expectations. Consider them when deciding on a project, preparing the proposal, developing and coding the project, preparing the check-in meeting report, and preparing the project report.
- Appropriate user interface — at least six kinds of controls with most having multiple occurrences
- Process user input — at least three different mechanisms/controls
- Utilize at least one collection—a data structure that contains a number of data values of the same structure/type
- Conditional execution of code —
If
statements in at least two contexts (determining which radio button is checked and check boxes are checked are probably not different contexts)
- Code-based repetition —
For ... Next
, Do Until ...
, Do While ...
- File input or output
- User-defined subroutines/functions (or modules).
- Multiple interacting forms (i.e., share data between them).
Project Proposal
The project proposal should demonstrate that have fully considered what you expect your project to produce or accomplish. The proposal needs to address or include the following.
- General discussion of what the project is for
- Sketch, drawing, picture of each and every form the project will have
- Step-by-step outline of what will happen as the program is run
- Detailed description of the data that will come from or be placed in a file
Project Check-in
The check-in meeting information needs to include the following.
Be prepared to discuss you project and explain how the code works.
Project Program
As you work on the project you should occasionally double-check that the specifications noted above are being met and that your programs functions appropriately and correctly. To maximize your grade (and learning) check on the following.
- Program runs without crashing regardless of what the user does
- Program produces correct/expected results
- Specifications noted above in this document are met
- Program works as you and I agreed
- Any user knows what to do (or full directions are supplied in the report)
- All input data is used by the program
- No unneeded input is requested
- Controls are placed reasonably and consistently on the form
- The form is big enough but not too big for a user's screen (e.g., my laptop)
- No spelling errors appear on the form or in communication with the user
- Little or no duplicated or essentially the same code
- One file for each purpose.
- Data is validated (inappropriate input does not cause program crash)
- Names of forms, controls, variables, etc.
- Program code documentation for subroutines and chunks of code
Project Report
The project report is meant to allow someone totally unfamiliar with the project to run it and to help me assess your understanding and the project's quality. Ensure that your report addresses the following.
- Project description
- Project's purpose
- Specifications met
- Specifications not met
- Language features used in addition to those specified
- Controls used that were not part of class instruction
- User guide
- Expected goal of users
- Outline of user interaction with the program
- Background information user needs to possess
- Any non-obvious types or ranges of data for the program to run properly
- Reflection
- Things you are proud of
- Things you would like to change
- Things that you struggled with
- For better than "okay" grade (B-), things that make the project better than better than okay