The goal of real world software developments is for developers to analyze, design, program, and test complete applications that solve the needs of the customer. The iLab exercises you have been given will give you practice with the specific programming techniques you need to complete the course project, but these are small, self-contained, academic programs.Just completing the iLabs will not lead you on a path to becoming a software developer. 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.
The course project is divided into four increments and you will complete one new increment each week. Each new increment builds upon the previous weeks, which means that each week you need to be successful in completing the weekly increment requirements; otherwise, you will not be able to add new increments in subsequent weeks. If you cannot get an increment working, then make sure you contact your professor for help.
There are three things that you need to do to be successful in the course project:
- Don’t skip analysis and design and go straight to coding; otherwise you will get into a “build and fix” mode of programming which will always, always lengthen the time it takes you to complete the program.
- Complete the weekly iLab exercises before you start the course project coding. You can do the project analysis and design before you start coding, but the iLab exercises will give you practice in the programming techniques you need to complete the project.
- Start analysis and design early; don’t wait until the end of the week to figure out what you are supposed to be doing. If you start analysis and design at the beginning of the week, then you will have time to ask questions in the TDAs and get your questions answered early.
Starting in Week 4, you will create the IPO chart and pseudocode for the program, then you will continue to update the IPO chart and pseudocode each week. The MS Visual Studio Project file will also be updated from week to week, so there will be no need to start from scratch each week.
Each week you will submit the following:
- Current IPO chart and pseudocode
- MS Visual Studio Project folder
- Completed Test Plan
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 to the Dropbox.
Each increment of the program will adhere to the following standards:
- Each source file will have a header describing the program, programmers name, date, purpose of the program, and increment.
- Each source file will adhere to the coding standards provided in the lecture, or given by the Professor.
- Each program will have an introductory output message introducing the program to the user and providing directions.
- All program output will be well structured, easy to read, and appropriately formatted.
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.
You will be creating a Hangman program. In this game, the computer will have a hard coded word and the user will enter one letter at a time until he or she has guesses the correct word. A score will be tallied that will be the number of incorrect guesses the user has. So a smaller score is better.
Initially the word will be displayed as a list of special characters such as '*' or '-'. The user will input one letter at a time and each input will be compared with the word. If the guess is correct the letter will be displayed rather than the special character. Each incorrect guess will increment the score. When the user guesses the correct word the game will be over.
Below is an example of the program running:
Week 4– Sequential Processing
Design and code the program to display the input and output for the Hangman program. Use your last name as the word to guess. Each letter will be a char data type. Start by having the user enter 5 letters to guess. See below:
Week 5– Conditional Statements
Modify the design and programto test if each letter the user entered is one of the letters in the word. If the letter guessed is in the word, display a message to the user that they guessed correctly, if not display a message that the user guessed incorrectly. Add a score variable that will keep track of the number of incorrect guesses. If the user guesses incorrectly, increment the score variable. Display the score at the end of the program.
Week 6– Iteration and Arrays
Modify the design and program to allow for iteration. Increase the number of guesses to 10 to solve the word. Display the word to the user with each letter as a special character such as ********. Create an array of correct letters guessed such as: char guessed = newchar;
You will need counter also to keep track of how many letters are in the guessed array. You do not need to keep track of incorrectly guessed letters.
Week 7 – Arrays and Output
This is your final modification to the project. Modify the design and program of the program so that the word is stored as an array. You can use code such as the following:char word = "happy".ToCharArray();
Where "happy" is replaced with your name. Add a for loop to display each letter in the word character array. If it has been guessed correctly, display the correct letter, if not display the special character.
Optional: Instead of a fixed number of guesses (10), stop the program once the user guesses the correct