|
|
|
||||||||||
"Ant World", "Battlehover" and other fascinating video games: the participants of the course "Introduction to Programming" deliver impressive project work
On 7 February the ETH
first-semester students with great enthusiasm presented their project work resulting
from the course "Introduction to Programming". The course was taught by Prof.
Bertrand Meyer. What is unusual about this class - organized for the third time
in the winter semester 2005/2006 - is that from the start students work with a large
software framework built specifically for the course. In doing so, even
programming novices are able to produce impressive applications and learn more
than in a traditional introductory class.
Impressive projects
Enthusiastic "Yeah!" shouts can be heard coming from the mostly young audience. The shouts are justified since the projects showcased in the final presentation of the course "Introduction to Programming" taught by Prof. Bertrand Meyer are quite spectacular. Eight teams consisting of two to four first-semester students proudly presented their projects to fellow students and other interested people. The fact that most of the projects are video games was a deliberate choice since games are a good means to capture the interest of students having grown up with electronic media. Apart from "classic" video games in which hostile battleships or armies must be fought, less martial games and applications were developed as well. "The crazy ETH", e.g., is an electronic version of the German parlor game "Das verrückte Labyrinth" ("The crazy maze") and "The Game of Life" is based on the popular adaptation of the cellular automaton theory called "Conway’s Game of Life". Another application generates graphic representations of functions. Some especially resourceful students even preferred to write their own programs to improve or replace the software used in class.
The project work period lasted only six weeks and can be
said to have been the climax of the introductory class. The last weeks were
obviously very labour-intense for the participants. At least one of the teams,
that is the four members of the project called "Ant World", a strategic game
with a stunningly professional design, spent a sleepless night to eliminate
mistakes and deliver a good project.
In the second part of the presentation, the so called "Object-Oriental Bazaar", students and visitors walked from group to group to be shown their results. This ensured that perhaps less spectacular but nonetheless remarkable projects got the attention due as well.
"Inverted Curriculum" - the other way of teaching
While most introductory courses use imperative programming
elements - e.g. local variables, assignments and control structures - to
introduce computer science novices to programming, leaving for later
object-oriented concepts such as class, object, method call and class interface, Bertrand Meyer’s course at ETH is based on a
completely different approach. The so called "Inverted Curriculum" relies on a "black box" approach and leads students from large object-oriented concepts to "small" imperative concepts without obliging them to fully understand the
underlying structure from the start. Moreover, students have access to a large
software framework they can work with.
Thanks to the object-oriented, component-based technology the students first discover the components as consumers, through abstract interfaces, before moving on to the producer perspective by exploring and modifying the implementations. By using Traffic and other libraries based on Eiffel even beginners can write impressive applications.
For Michela Pedroni, a PhD student at the Chair of Software Engineering and project leader of Traffic, the great advantage of the "Inverted Curriculum" is its flexibility: "To my knowledge there is no other course of studies in which students’ initial knowledge is as heterogeneous as in computer science. That is why the approach of this class allowing students to work according to their level of knowledge is so helpful". Furthermore, according to Pedroni, the "Inverted Curriculum" shows the students how important it is to be systematic and to write well-structured and well-documented code. Improvements for next year’s introductory course will include more simplified software emphasizing the visual components.
Stephanie Balzer, PhD student and host of the project
presentation, admits that the class can be discouraging in the beginning: "We
know that some of the students feel overtaxed the first couple of weeks by the
massive load of information they are confronted with. Therefore, the course
opens the black boxes step by step to explain the unknown elements."
A successful and popular concept
The end-of-semester course evaluation conducted since the class was introduced two years ago proves that the majority of the students does quite well in the introductory class. In addition, the lecture is very popular among students and most of them say that they learned a lot with the "Inverted Curriculum" approach and made considerable progress in programming.
The projects presented show that students were highly motivated. They had fun working on them and often added a humorous touch. In the video game "Murphy’s Law, Bertrand’s Rage" the player who manages to best drive the teacher of a computer science lecture up the wall by disturbing the class wins. In the game "Battlehover", among other things, the Eiffel Tower can be destroyed. Allusions to existing persons and programming languages cannot be excluded!
For further information, please visit the homepage of the course: http://se.inf.ethz.ch/teaching/ws2005/0001/english_index.html
Some of the best student projects of the course 05/06 can now be downloaded on http://se.inf.ethz.ch/download/games/05_06
Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne
graphische Elemente dargestellt. Die Funktionalität der
Website ist aber trotzdem gewährleistet. Wenn Sie diese
Website regelmässig benutzen, empfehlen wir Ihnen, auf
Ihrem Computer einen aktuellen Browser zu installieren. Weitere
Informationen finden Sie auf
folgender
Seite.
Important Note:
The content in this site is accessible to any browser or
Internet device, however, some graphics will display correctly
only in the newer versions of Netscape. To get the most out of
our site we suggest you upgrade to a newer browser.
More
information