Ramirez, Luis Winter 20062
Introducing the C# Programming Language into the M.U.P.P.E.T.S. Virtual Environment

Abstract

Across the United States, interest in Computer Science and other technology-related programs is down drastically. "Overall enrolments are now down near a level last seen in the 1970s... [and] worse than this, there is also a high attrition level, with 10 to 20 percent of students dropping out each year". Students entering these programs find the introductory courses either too difficult, too boring, or both.

In an attempt to combat this problem, Microsoft Research, the research division of the software development giant, is looking into easier and more engaging means of introducing new students to programming and technology. One way they are looking to do this is to start new students off with game-like environments in which they can write simple programs and get immediate visual feedback. It is acknowledged that "the majority of students have experience of being able to change parameters or other attributes in games," so using the same kind of environment to learn programming would be very easy for them to adapt to.

It should come as no surprise then that Microsoft Research has taken an interest in the Multi-User Programming Pedagogy for Enhancing Traditional Study (M.U.P.P.E.T.S.) project being developed in the Information Technology department at R.I.T. The goal of this project is to teach programming to introductory-level students by making programming fun. The M.U.P.P.E.T.S. software allows users to create and manipulate graphical objects in a 3D environment, making the learning experience far more enjoyable and rewarding.

In its current implementation, the M.U.P.P.E.T.S. system is powered by a combination of C++ and Java code and uses the OpenGL API for rendering graphics. C++ is the industry standard for game development, featuring a great balance of speed and power and a very extensive collection of libraries and APIs dedicated to game development. Thus C++ is ideal for real-time rendering systems like M.U.P.P.E.T.S. and is used to implement its core functionality.

However, C++ is largely considered an advanced programming language since it leaves a lot of the work to the programmer. Instead many educational programs, including the R.I.T. Information Technology department, use the Java programming language for introductory courses, as it is viewed as being an easier language to learn programming with. Thus, to maintain its purpose as a learning tool, and in keeping with the IT department curriculum, the M.U.P.P.E.T.S. system uses Java as the primary scripting language for the system's users.

To support the project and promote its own technologies, Microsoft Research has funded an initiative to introduce Direct3D rendering and C# scripting into the M.U.P.P.E.T.S. system as alternatives to OpenGL and Java, respectively. The goal was to update the M.U.P.P.E.T.S. system such that users would be able to create objects using the C# language and, when using C#, be able to render them in the virtual world using either OpenGL or Direct3D.

Images

bunny by Asa Tse turtle by Asa Tse flowers by Asa Tse psp guy by Asa Tse blow fish by Asa Tse shapes to cat by Asa Tse dinosaur by Asa Tse cute girl by Asa Tse bee by Asa Tse frog by Asa Tse dog by Asa Tse cat by Asa Tse canvas face by Asa Tse duck face by Asa Tse