Understand OO analysis and design—hopefully, our book has gone a long way toward helping you to accomplish this, and our recommended reading suggestions later in this chapter will help you to deepen this understanding.
Obtain a good reference book on C#—again, our book has hopefully given you a good jump start with the language, and our recommended reading suggestions later in this chapter will serve to complement this.
Download and install a free copy of the latest release of the .NET Framework SDK from the MSDN web site as described in Appendix C.
Compile and run a simple "Hello, World" program from the command line to ensure that all C# SDK components are installed and working properly.
Choose a simple first problem to automate: one that (a) you're very familiar with the requirements for—perhaps a small-scale application that you've already built in some other language, or an application based upon some hobby—and (b) that only requires a handful of domain classes when modeled.
Produce a UML class diagram for your application based on the object modeling techniques that you learned in Part Two of the book.
Write the code for your core model classes, and get the application to work as a command-line application first, as we did for the Student Registration System (SRS) in Chapter 14. (This is your model, without a graphical view.)
Learn more about C# GUI development beyond what we've introduced in Chapter 16, and buy a good reference book about this subject.
Add a GUI front-end onto the code that you produced in step 7, as we did for the SRS in Chapter 16. Our personal bias is that you should do so by writing GUI code from scratch the first time around, without using a "drag-and-drop" IDE/GUI building tool, as we believe that you'll learn GUI concepts more thoroughly by doing so.
Learn about the various C# database interface options (e.g., ADO.NET), and buy a good reference book about this subject.
Acquire the appropriate .NET Framework Data Provider for your particular DBMS, if necessary, and connect your application to a database "back-end" so as to persist your objects. Or, visit http://objectstart.com for links regarding free, single-user DBMSs in the public domain that are ideal for educational use.
(Optional) If you're inclined to use an integrated development environment (IDE), invest in a commercially available C# IDE such as Microsoft's Visual Studio .NET. A free, open source C# IDE known as SharpDevelop is also available at http://www.icsharpcode.net/OpenSource/SD.
(Optional) Join a C# special interest group, either online or in person. This is an invaluable way to get informal, ad hoc mentorship from colleagues who are more experienced with C#.
From this point forward, your options are open-ended! For example, you may wish to expand beyond C#-specific matters to further explore the capabilities of the .NET Framework Class Library. Whichever direction you choose to take, you can rest assured that there will be plenty of new C#-related innovations in the months and years to come.