CS92/ED89: The Educational Software Seminar
Notes: March 3, 2005
Roger B. Blumberg, Brown University
http://www.cs.brown.edu/courses/cs092/2005/cs92.feb24.html

Introduction: The Decisions, Decisions Reviews

" 'My friend thinks a technological revolution is coming, through which endless information will be available, endless choices will be available, but there will be no information about what to choose.'
'And the old guidelines will have gone.' " (from Inventing G-d by Nicholas Mosley)

The reviews of the Decisions, Decisions Online topic modules are now all posted on WebCT, and there is no shortage of controversy! We'll talk briefly about the the way that different evaluation criteria motivated different reviews. A further (and final) assignment on this example of educational software is (for Monday): for at least one of the reviews, everyone should post a response that identifies a questionable assumption made by the authors of the review that results in one or more of the authors' judgements. The goal here is not to attack the authors, but rather analyze the way different evaluations are related to different assumptions about the nature and purpose of teaching, learning, and schooling.

And now for something completely different:

The Dream of Markup Language vs. the Dream of Programming Language

HTML is not a programming language, but rather a markup language, and in order to lay the groundwork for a discussion of possible authoring tools for your projects it might be useful to discuss the difference between markup languages and programming languages. This is not the way CS concentrators or engineers usually learn about programming -- and it's not the way Web content producers learn about markup -- but it makes sense for us given our earlier discussion of interaction design.

The original purpose of "markup" was to make texts accessible in interesting ways, using the computer as a simple text processor. If we look at the source of a simple HTML page, we can see how a kind of "presentation" markup works with a Web browser, but we can also imagine how more sophisticated "content" markup might work when coupled with a database. So markup is cool. But it isn't programming, because we are simply preparing documents to make use of software already written to accommodate certain well-defined tasks -- the fact that the Web browser allows us to view and use hypertext is no more or less remarkable than that the slide-rule allows us to calculate the answers to certain well-defined problems.

What is fascinating about computer programming is that, rather than simply use pre-fabricated devices to carry out tasks that "fit" those devices, we can fabricate the representations for whatever problems/tasks interest us ourselves. This is more difficult that making your problems/tasks fit the tools you have at hand, but it's also much more powerful if you want to do real science or art.

We'll look at a simple computer program, written in the C programming language, for computing aliquot sequences. There are two lessons to learn here: 1) programming gives me the freedom to represent my own problems (!) in ways that normal use of software may not; and 2) geez, there is no friggin' way I want to write multimedia educational software in C! Which brings us to Hypercard & Hypertalk, and their offspring.

CS92 Authoring Tools I

Try to imagine what it was like to know that "using the computer" involved nothing more (or less!) than what was involved with the C program, and then suddenly be faced with a Macintosh! As an innovation in popular computing, I can't think of anything that compares to the Mac. Digital multimedia didn't begin with the Apple Macintosh, but the Mac popularized it and democratized its production to an incredible extent. Suddenly, the programmable computer was a possible classroom tool.

We'll look at a couple of Hyperstudio programs that have been written in CS92, in order to get an idea of how the content and behavior of these card-based programs was composed and programmed, and from there we'll jump to programs written with Macromedia's Director and Flash. We'll see how the basic ideas of multimedia program building have been expanded and made more powerful by changing the representation of the "problems" in the software. Both Stella and Vesko will given brief presentations of multimedia programs written in Director.

On Tuesday, we'll consider why we might want to return to naked programming languages (i.e. rather than using software with a scripting language) for building educational software.

Director Resources

(thanks to Stella for these)

Macromedia's support/tutorial page
http://www.macromedia.com/support/director/tutorial_index.html

Meta-Macromedia Director Search Site
http://www.shocksites.com/

Four elementary tutorials
http://www.herts.ac.uk/lis/mmedia/directortutorial/2index.html

Lots of tutorials
http://www.fbe.unsw.edu.au/learning/director/

Visuals-based site with tutorials
http://www.directordev.com/

More tips & answers than you knew you needed
http://www.mcli.dist.maricopa.edu/director/

Lingo - demos, code, tutorials
http://www.lingoworkshop.com/

Games etc: see what other people have done
http://www.multimediahelp.org/

For next time: Teams should try to have their project pages posted (somewhere) with their revised project descriptions by tomorrow at noon. Read the Svinicki article for Tuesday, and at least three chapters of the Schank & Cleary book for Thursday.

Home Page