Introduction to the .NET development framework and the C# programming language.
In CS215 you will learn the foundations of:
The primary goal of this course will be to introduce the .NET development framework and discuss some interesting features of the C# programming language. Some of these features are already found in existing languages while others are unique to C#. Here is an abbreviated list:
This is not going to be the next "Introduction to Programming" course. The material presented will rely heavily on previous knowledge about the Object-Oriented Programming model. This implies that you need to be familiar with another OO language like Java or C++. A good proof of this is a completed CS211 or equivalent.
As this is a S/U course, to complete it successfully you need a "pass" on all of the three assigned homeworks. They will all consist of writing some C# programs and all the write-up will be inside the sources (as comments). You should not discuss solutions to the homeworks with your classmates. This not only implies that you should have written them but also that you should understand them! If there is enough interest, a more elaborate "final" project might be an option for completing the class, provided that it covers all features in the homeworks. Also, there will be a lot of interesting optional projects for those that want more.
We will be using Visual C# Express 2005. Students can also use any version of Visual Studio.NET or open source implementations (eg. Mono, Portable.NET). Microsoft has its own "shared source" version of .NET codenamed Rotor, which builds on Windows (and only Windows in version 2.0), FreeBSD, and Mac OS X. This will expose you to the internals of a fairly full (source code) implementation of the framework, but these versions may not have all the features you need to complete the assignments. If you get strange error messages for simple code, you may be using a version that does not support the particular language feature you are exercising. Visual C# Express 2005 and Visual Studio .NET 2005 are the only versions I know of that support everything we will do.