Build a Catechism Editor.
This task tests your ability to adapt the material in online resources, and the book to a new situation. It is based upon your reading of Chapter 9. The code needed for this task is similar to the serialization/deserialization example shown for the Deck class on pages 442-445, however you will need to use the OpenFileDialog and SaveFileDialog controls as shown on page 425. The example code on the MSDN website (see [url removed, login to view] and [url removed, login to view]), is extremely helpful, so use it. This project has been started for you, so all you need to do is finish it and test it.
Much of the work has already been done, all you need to do is implement the Open and Save functionality. The Open button should use an OpenFileDialog to open a Catechism Data File, which is a binary file containing one Catechism object. It must then deserialize the object, and display the first item in the editor (Question in the Question box, Answer in the Answer box). The Save button should use a SaveFileDialog to save the current Catechism object by serializing it to a Catechism Data File. To help you test your application, a catechism based upon the Hitchhikers Guide to the Galaxy (perhaps the greatest 5-book trilogy ever written) has been included with the project (everything is in the attached zip file). Your finished program should be able to open this file, add a new item (of your own choosing, just make sure it fits the theme), and save the modified file. You should also be able to create a brand new catechism of your own design, containing at least 3 question/answer pairs (you can find several historic catechisms online to use as source material, including the Heidelberg Catechism, the Larger and Shorter Westminster Catechisms, John Bunyan's Instruction for the Ignorant, and many others; or if you feel so inclined, you may of course, write your own on any subject). Your program should be capable of saving your new catechism in a Catechism Data File, which you should include with your code. If my version of this project can open it, you've done your work correctly.
Upload a zip file of your finished project to this question, be sure that it also contains the modified [url removed, login to view] file, and your own new Catechism Data File (to be named something appropriate as you so decide).