Microsoft has developed a language called C# (—see sharp“) that it claims will allow programmers to —quickly and easily build solutions“ for its new.NET platform [3]. The language has much in common with Java, particularly in those features emphasized in CS1 and CS2 courses. It also includes some of the desirable features of C++ that are missing from Java as well as some new features not available in either language. This paper explores the pros and cons of teaching CS1 and CS2 using C# instead of Java and concludes with a discussion of the author‘s plans for teaching such a course in the fall of 2002.

Bill Gates has referred to the .NET technologies as —the breakthrough tools that will allow developers to write the next generation of applications“ [2]. He might be spouting marketing hype, but the release of .NET clearly constitutes a watershed for the company.

Many schools will choose to ignore what Microsoft does, but others will find the Microsoft connection appealing. Few departments would sacrifice the quality of instruction just to teach .practical. tools that are currently used in industry. But if C# turns out to be as useful as Java in teaching the CS curriculum, some schools will choose C# instead of Java because of the particular interests of their students, their school or their community.

There has been a shift away from C++ in computer science education in recent years. The reasons for this shift were documented in a report from an ad-hoc committee formed by the College Board to plan for the future of the AP/CS course[1]. They mention that their primary reasons for changing were type safety, simplicity and object orientation. They felt that Java was superior to C++ in all three aspects. These goals were also primary in the design of C#. The C# language specification says that, —C# is a simple, modern, object oriented, and type-safe programming language derived from C and C++ [4].“

Download Can C# Replace Java in CS1 and CS2?