This is the archived website of SI 413 from the Fall 2013 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.
C# is a sort-of extension of C and C++ that was designed by Microsoft as part of its .NET framework, and released within the last 10 years. It is designed to be "multi-paradigm", meaning you can do functional, or object-oriented, or procedural, or whatever other kind of programming style you want in the language. (But for this project, we'll be mostly sticking with object-oriented.) The language, the development environments (IDEs), and the windowing toolkit are all closely related, and you will use them all together for this project.
Your entire program should be in a single file called
proj.cs. I will compile and run it in the MI 316 CS Linux
environment as follows:
dmcs proj.cs -pkg:gtk-sharp-2.0 mono proj.exe
Even if you write your program using an IDE such as MonoDevelop, remember that I will run your code as described above, so make sure you test that it works that way from the command line!
For this language, you need to implement modifications A, B, C, E, F, and G. See the Phase 1 page for details on what this means.
See the Phase 2 Page for the list of suggested
problems. Of the ones listed, I recommend the following as being most
well-suited for C#: