Teaching software

From OLPC
Revision as of 23:59, 21 June 2006 by Mokurai (talk | contribs) (More examples)
Jump to: navigation, search

This page was created because I suspect that there will be a long list of such software.

Introduction

Teaching Software refers to applications whose primary goal is to deliver educational content. In the western world this is often very poorly implemented in CBT (Computer Based Training) modules or tedious drill and practice software. These approaches will not work in the OLPC environment. Drill and practice would demotivate the kids and CBT does not have the depth of information needed. External Developers will produce the bulk of this software.

CBT and D&P are not educational software. They are for "being taught". See also the concept of "learned helplessness" researched by Martin Seligman and many others

Tools are educational software. Tools are for doing. This is equally true whether the tool is a drawing program, a programming language interpreter or compiler, a program for creating documents or Web pages, a Voice over Internet communications program, a program for composing music, a robot or fabrication tool control program, an accounting program, or a pure math program.

General

Software that does not fit into a single subject area, for instance an application that teaches children how to solve detective mysteries.

Word processing

Drawing

Image processing

Programming languages and tools

Music

Financial analysis


Mathematics

Geometer's Sketchpad

Macsyma and its derivatives, such as Maxima

APL

LISP

StatGraphics

Crystallography software

Finite group software

Linear programming software

Operations research software

Games (see Conway's On Numbers and Games and the rest of the literature and software that has followed)

Semi-automated construction of formal proofs

Science

The journals are online! You can operate a real telescope over the Web! Scientists are willing to talk to you personally and answer questions!

Geography

Google Earth

Astronomy Picture of the Day

Mailing lists

Penpals

Language Skills

This is the kid's native language.

Free collections of literature along the lines of Project Gutenberg in dozens of languages.

Blogging tools

Foreign Languages

These are languages like English, Japanese, etc.

Voice chat, VoIP

The combination of audio recordings with lyrics and opera librettos online.

Podcasts and downloadable audio with online text or glossaries (see for example Deutsche Welle's Nachrichten, on their Audio on Demand page, accessible from http://www.dw-world.de/dw/. They provide versions in 30 languages.

Online dictionaries

Free literature as above

Software

The English word for a person who speaks more than one language is 'polyglot'.

The English word for a person who speaks only one language is 'American'.

But it is not only in America that one can become a "software engineer" knowing only one computer language. This writer considers the minimum for genuine computer literacy to be five languages: LISP (or SCHEME), APL (or better still, J), FORTH, Smalltalk (well, Java), and your choice of sequential scalar language (C, Pascal, Python, anything like that, but not BASIC, FORTRAN, or COBOL). Mathematicians know well that the choice of notation or syntax strongly affects what you can think, even though linguists still hotly debate the notion (the Sapir-Whorf Hypothesis).

Daniel P. Friedman & Matthias Felleisen, The Little Lisper or the Little Schemer, followed by The Seasoned Schemer (This writer reviewed the first edition of The Little Lisper in Byte Magazine in 1978, calling it the best first textbook on programming in any language. It has gotten better.)

Gerald Weinberg, The Psychology of Computer Programming

Fred Brooks, The Mythical Man-Month

Agile programming, including Extreme Programming

Edsger Dijkstra, A Discipline of Programming