Saturday, December 23, 2006

James Gee "A Productive Approach to Video Games, Learning, and School"

James Gee of the University of Wisconsin-Madison spoke in Melbourne on "A Productive Approach to Video Games, Learning, and School" on Saturday 19 August 2006.

He spoke on the educational value of computer games with emphasis on students creating their own games.

James Gee is the Tashia Morgridge Professor of Reading at the University of Wisconsin-Madison. He received his PhD in linguistics in 1975 from Stanford University and has published widely in linguistics and education.

James Gee was sponsored by the ASISTM Games Group, CEMM Monash and DE&T Victoria


1 Introduction 3:02
2 Games as Rules Systems 6:03
3 Games as Literacy 10:19
4 Cognitive Approaches and Story elements 7:00
5a Professional Experience 9:58
5b " continued 1:56
6 Creating a History 9:55
7 Summary 7:18

Tuesday, December 19, 2006

What is the argument against traditional learning?

Though mass education is only 150 years old, the problem with “lecture and test” teaching was recognised 2000 years ago. "The mind is not a vessel to be filled but a fire to be kindled." Plutarch (46 - 127)

Mass education was modelled on the economies of scale of industry, it is a cost effective way to achieve standardised test scores but these test scores have an uncertain relationship with life skills. Mass education serves a second function, it “warehouses” children, freeing adults to work in industry. The apprenticeship or situated learning which works for cottage industry is less appropriate for industrialised society.

Mass education has not recently become broken, it has always been a substandard institution. What has changed is that computers now offer alternative ways of learning. Computer games use effective learning strategies which we can build on. They also offer opportunities for situated learning and problem based learning.

Average combined mathematics literacy scores and problem-solving scores of 15-year-old students, by country: are interesting.

Standardised testing has developed to meet the needs of industrialised mass schooling, it does not necessarily reflect the skills that children need to acquire. Differences between countries may well reflect cultural and economic differences rather than differences in the educational systems.

Australia, New Zealand and Canada score significantly higher than USA despite sharing similar cultural backgrounds. I have noticed a significant difference, USA educators are more focussed on the transfer of knowledge than the development of problem solving skills through self-directed, problem based learning.

To back this claim, I have searched several keywords with Google Trends

If you search “instruction” USA cities fill all 10 top places, the same with “test scores”, the same with “standardized test” (note, non-US spelling “standardised” does not have enough search volume to show graphs)

If you search “constructivism”, Australia and New Zealand cities fill 5 places and USA 2 “problem based learning”, Australia 3, USA 2, “constructivism “ Australia/Canada 3, USA 4, “problem solving” Australia & New Zealand 6, USA 0, “metacognition” Australia & Canada 4, USA 6.

I believe that computers and computer games give us opportunities to offer self directed, problem based learning to students. The superiority of this learning has long been recognised. The analysis of standardised testing by country is problematic, the test scores are an imperfect measure of desired outcomes and they reflect cultural differences as well as educational differences. They do however offer circumstantial evidence of the failure of an Instructionist education model compared to a Constructivist model.

Sunday, December 10, 2006

Creating addons in WoW

In the search for relevant and authentic tasks for young programmers, I have been looking at programming addons for World of Warcraft. Addons are used to customise the game's user interface. There are a number of popular addons including CT Raid Assist.

Blizzard warn that creating addons is not easy: "The creation of AddOns is a very technical endeavor, and you should not attempt it unless you have a good working knowledge of XML and Lua " Nevertheless, I was able to easily follow the Hello World tutorial. All I needed was Notepad and of course WoW to test the addon.

Getting Started
Go to and download the World of Warcraft Interface AddOn Kit.

WoW addons are written in Lua and XML. The kit extracts the XML files and Lua files for the addons and the user interface into directories. To see how the WoW interface is programmed, see the user interface directory "FrameXML".
The kit also installs the tutorial files.

Do the Hello World tutorial

Read about WoW Interface Customisation at WoWWiki in particular the API

Addons all have an XML file which describes the visual features of the addon, where more detailed programming is required, functions are called from a Lua file.

Lua is an extension programming language designed to support general procedural programming with data description facilities. It also offers good support for object-oriented programming, functional programming, and data-driven programming. Lua is intended to be used as a powerful, light-weight scripting language for any program that needs one. Lua is implemented as a library, written in clean C (that is, in the common subset of ANSI C and C++)

Lua is freely available and can be used for both academic and commercial purposes at absolutely no cost. You can experiment with the stand alone version of Lua.

XML stands for EXtensible Markup Language
XML is a markup language much like HTML.
XML was designed to describe data.
XML tags are not predefined in XML.
You must define your own tags.
XML is self describing.
XML uses a DTD (Document Type Definition) to formally describe the data.

Slash Commands
Slash commands such as /sit and /dance can be entered in game in the chat window, two notable ones are /macro and /script

Slash commands can be put into macros

Using the /script command, Lua scripts of API calls can be executed from the game chat window. This can be used to test code fragments immediately, prior to using them in addons.

For example,
/script message("Hello World") will bring up a message box
/script SendWho("gold") will list all players with gold in their name
/script message(GetMoney() ) your held money in copper in a message box
/script message(GetMapInfo()) will display your current location in a message box
/script RandomRoll(10,20) rolls a random number 10<20>
/script OpenAllBags()
Open/Close all bags
/script x,y=GetCursorPosition() ; message(string.format("x%d y%d",x,y)) gives cursor position

In Summary
Lua is a powerful open source programming language which can be used to write addons for the World of Warcraft user interface. WoW is a popular MMORPG game with subscription costs of $A20 (US$15) per month. There are currently 7 million subscribers.

For one purchased game, the installation disks can be used to install WoW onto a number of computers though one account would only allow one computer to be online at a time for testing of code. Typically 10% to 50% of an Australian school will be existing WoW account holders. The challenge should be achievable for years 11 and 12.


Thanks to Tracking Those Viral Videos for Viral Video Chart "We scan several million blogs a day to see which online videos people are talking about the most."

I tried it and hit paydirt at number 5 on the chart. Really Cool Experiment in Resonance and fractal geometry