Foreign Language Vocabulary Test

This project will introduce the database access using the ADO.NET classes.  You will create a multiple choice quiz that will randomly select questions and answers from a database of information.
Do the following:
  • Choose 50 vocabulary words in some foreign language.  If you are not familiar with any foreign language, you can make up 50 words, or choose words from your native language (preferably obscure ones).
  • Create a database table using Microsoft Access that contains 30 definitions for (up to) 30 of the 50 vocabulary words.  The definition should be in English.  This table should have at least three fields: One for the definitions, one for the primary key for the definition, and one that contains the key for the correct answer.  You may make more than one table entry for a particular word if a word can have more than one definition.
  • Create another table that contains each of your 50 words.  This table should have at least two fields: One for the word, and another for the primary key for the word.
  • You will make a simple "Flash Card" type program.  This program will test the user on his/her vocabulary knowledge.  Your program should have a menu with three commands: "New Quiz," "About," and "Exit."  The "About" and "Exit" commands should show an About Dialog, and exit the program respectively.  The "New Quiz" command should clear any statistics for the current game and start a new one.
  • When your program starts it should automatically start a new quiz.  Each quiz should proceed as follows:
    1) There will be 10 questions in a quiz.
    2) Each question will show a randomly selected definition and a randomly selected set of (at least 4) answers (one, of course, will be the correct answer).
    3) You will present the questions one by one to the user and record their answers.  At the end of the quiz you will show their score.
  • Your form should consist of several label controls to show the definition and the statistics.  It should also have a set of option/radio buttons for each answer.  It should also have a push button labeled "Next Question" which, when pressed should proceed to the next question.
  • The controls that show the questions should be hidden when not in a test. The "Next Question" button should be grayed out when not in a test, and its text should be changed to "Finish" when at the last question.
  • The statistics you need to gather are these:  Keep a running tally of all questions answered and all correct answers since the program started, and keep a running tally of all questions answered and all correct answers since the beginning of the current quiz.
  • At the end of each quiz, display a message box which will give their score for the quiz complete with a letter grade and a percentage.


Hints (You may choose to do things differently, but these suggestions will simplify the project):
  • A procedure that reads the database and collects all the questions and answers at the beginning of each new quiz would be helpful.
  • You may want to use arrays store your questions and answers.


When you are done:
When you have uploaded your project, please fill out the form below to let me know.

Chum 220 ID:

CHum 220 Password:

Time spent outside of class:   Hours. (For example: 1.5 or 2)

     
Magic Box: (Questions, feedback, suggestions, short thought, short joke, ...)

     


By clicking the "Submit" button you verify that you have handed in your program.