Course Software

This class will be exploring the C# language, including some of the advanced features added in language version 3.0. Toward this, students will need to use an up-to-date C# compiler. Unfortunately, the development of C# has been largely tied to the Windows operating system, and the Windows tool-set is more mature than on other platforms. Visual Studio Professional 2008 is the official compiler for this course, and all problem set solutions must compile using Visual Studio 2008. That said, students are welcome to work on projects using alternate environments so long as they test compatibility with Visual Studio.

As described below, there are several methods of accessing appropriate developer tools.

Windows Computer Labs

The official development environment for this course is provided by CETS in their Windows computer labs. The labs include Visual Studio 2008, subversion, and NUnit. This details lab locations and hours.

CETS Virtual PC Lab

In addition to physical labs, CETS runs a virtual computer lab that you can login to using a PennKey. This requires Remote Desktop client software, available for Windows, MacOS, and Linux. For details see CET's Virtual PC Lab page. One caution: inactive users can be logged out, so make sure to save your work periodically!

Installing VS Pro on your Windows computer

Penn students enrolled in SEAS courses (i.e. students in this class) can download a variety of Microsoft software from CETS using via the MSDN Academic Alliance. If you have a Windows computer you can use this to install Visual Studio Pro at Home. If you need to, you can also download Windows.

Running Windows in Virtual Box

Mac and Linux users (with x86 processors found on most recent computers) may setup a virtual windows machine on their own computer. I recommend using VirtualBox to create a virtual system, before installing Windows and Visual Studio (both obtained through MSDN as described above).

Go Open-Source with Mono 2.0

Adventurous students can try using Mono 2.0 to work on their problem sets. The Mono project includes a C# 3.0 compatible compiler and many .NET libraries. The MonoDevelop integrated development environment, provides a cross-platform environment for editing and compiling code with Mono. Students should not use earlier 1.x versions of Mono, as it does not implement all of C# 3.0.

Visual Studio Express

Microsoft distributes, for free, single-language “express” versions of Visual Studio. Students may use Visual C# 2008 Express Edition for this class.