View Single Post
A Pedagogical Perspective (from a non-teacher)
Tom West
Posts: n/a
Default A Pedagogical Perspective (from a non-teacher) - 01-06-2008, 08:46 PM

I've just finished helping my son with a video game project he's done for a grade 9 class using Alice and I'm both awed and horrified in equal measure.

Alice is a terrific tool for allowing students to produce a lot of really impressive looking programs. I'm looking at my son who's writing his first major program and thinking - that's 50,000 lines of Java, minimum. Alice's strong point is certainly that it allows students to produce impressive pieces of work without a huge amount of knowledge, and thus it is going to help motivate the students by allowing an immense amount of gratification for not an insane amount of learning. That was the awe.

The horror was looking at his code. His entire code is hugely concurrent sections of code in methods that are vaguely connected to the objects they are found in. I started to chastise his program structure, but I began to realize that there is no way an average grade 9 student could possibly produce clean logic for a game that multiple levels of different types of flying monsters, an assortment of weapons, etc. Instead, he built an edifice that worked based on sand. It was semi-object oriented spaghetti - and it worked. What could I say? Don't try something this fun?

To answer your question about applicability to a Game Design Class: From my perspective, it really depends upon what the course objectives are. If the real objective is to get students interested in programming and build confidence in using computers, Alice is a very good tool. If the objective is to teach good design principles, or even the beginning principles of programming, I think it's in great danger of allowing the elements that lead to student gratification to swamp the elements that lead to good programming practices.

There is one other problem with Alice. By doing such a great job in hiding complexity and making certain difficult things incredibly easy, student's are often confused as to why *everything* isn't that easy. My answer to one of my son's questions was that his simple request would probably require another 2,000 lines of Java code. He couldn't really understand why and simply assumed that other programming languages are defective. If he pursues programming, I fear he's in for some big disappointments when he learns what programming is really like...

(It's not unlike the arguments with Visual Basic 10 years earlier. Students liked the idea of producing professional looking programs, but such gratification often came at the cost of significant pedagogical achievement.)
Reply With Quote