Teaching software: Difference between revisions

From OLPC
Jump to navigation Jump to search
(More examples)
(edited in line with purpose of page)
Line 1: Line 1:
This page was created because I suspect that there will be a long list of such software.
This page was created because I suspect that there will be a long list of such software.
==Introduction==
==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.
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.


CBT and D&P are not educational software. They are for "being taught". See also the concept of "learned helplessness" researched by [http://www.noogenesis.com/malama/discouragement/helplessness.html Martin Seligman and many others]
CBT and D&P are not educational software. They are for "being taught". See also the concept of "learned helplessness" researched by [http://www.noogenesis.com/malama/discouragement/helplessness.html 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.
Teaching software needs to fit into the [[constructionist]] model of learning by 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. However, just plain tools often are not suitable for learning because they are too complex and targetted towards adults.

[[External Developers]] will produce the bulk of this software.


===General===
===General===
Line 12: Line 14:
teaches children how to solve detective mysteries.
teaches children how to solve detective mysteries.


====Programming languages and tools====
Word processing
The OLPC includes [[Python]], [[Javascript]], [[CSound]] and [[LOGO]]. We still need applications that support and simplify learning with these tools. For instance, [http://www.logowiki.net LOGOWiki] is a set of web pages that guides children through using LOGO. Another example is [http://www.livewires.org.uk/python/ Livewires] which is a Python module and some course material that guides children through its use.


====Music====
Drawing
The primary musical tool to be included is [[TamTam]] however some more guided explorations of music will also be useful. [[Squeak]] also includes musical capabilities.


====Finances====
Image processing
Children in the third world live in an environment where finance and business is more important to their daily lives than in the developed world. They do not have a lot of money but the family needs to wisely manage and invest the money that they do have. This means that the family is often more like a business than a Western family. Software targeted towards helping teach children the basics of finance and investment will be very useful to both the children and their families.

Programming languages and tools

Music

Financial analysis


Ideally we would see something that teaches double-entry bookkeeping in a way that children can understand. Also simulations of investment, interest, profit, etc. The focus must be on using language that a child can understand in order to communicate the fundamental concepts. Most current texts and software does not meet this need because it is filled with confusing jargon and targetted at adult learners.


===Mathematics===
===Mathematics===


The ideal software in this category will not use any language at all, and therefore will instantly be usable in all countries. The application should allow a specific font to be configured so that countries with non-arabic numeral glyphs can change the font to be instantly compatible. Numerals should be non-kerned in a monospace font.
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===
===Science===


====Data Collection and Analysis====
The journals are online! You can operate a real telescope over the Web! Scientists are willing to talk to you personally and answer questions!
The OLPC audio input port can be used with sensors that provide inputs in the range from 0 to 1 VDC. We need software that supports calibration of sensors, data collection, and graphing. In addition, software that guides children through a progressive series of experiments that they can do will be useful. You need to think like [[George Washington Carver]] in order to create software that is useful in the developing world.


===Geography===
===Geography===
In addition to any [[DJVU]] maps that country teams will assemble, it will be good to include some basic world and regional maps. Ideally this would be in the form of a GIS application that allows selection of various overlays, i.e. demographic, economic, etc.


Since the OLPC could be used with a USB GPS (or Bluetooth GPS using a USB-Bluetooth module), we need an application that supports map creation using [[SVG]] format and the [[SQLite]] database for data storage.
Google Earth

Astronomy Picture of the Day

Mailing lists

Penpals


===Language Skills===
===Language Skills===
This is the kid's native language.


Programs to promote language skills must be adaptable to multiple languages with varying scripts. They must also have easily adaptable graphical material. For instance, an image of an apple is meaningless to children in tropical countries and the word ''apple'' will never be used in conversation there. However, ''fruit'' as a topic is relevant everywhere. If an application shows pictures of fruits with the names under them it must allow local people to easily change the images and names. Ideally, this information will be held in an XML file with all the words and names of [[SVG]] and [[PNG]] image files.
Free collections of literature along the lines of Project Gutenberg in dozens of languages.

Blogging tools


===Foreign Languages===
===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


Learning a foreign language can be made easier with support of well-designed application software.
Fred Brooks, The Mythical Man-Month


One application would display written text synchronised with audio. There are many websites that offer audio and accompanying text such as
Agile programming, including Extreme Programming
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 are not only useful standalone but can be integrated into other applications. To that end an application that uses[http://sdict.axmasoft.com/en/ sdictionary format] and integrates with [[D-BUS]] will enable other applications to do lookups.
Edsger Dijkstra, A Discipline of Programming


[[Category:Software ideas]]
[[Category:Software ideas]]

Revision as of 10:53, 22 June 2006

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.

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

Teaching software needs to fit into the constructionist model of learning by 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. However, just plain tools often are not suitable for learning because they are too complex and targetted towards adults.

External Developers will produce the bulk of this software.

General

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

Programming languages and tools

The OLPC includes Python, Javascript, CSound and LOGO. We still need applications that support and simplify learning with these tools. For instance, LOGOWiki is a set of web pages that guides children through using LOGO. Another example is Livewires which is a Python module and some course material that guides children through its use.

Music

The primary musical tool to be included is TamTam however some more guided explorations of music will also be useful. Squeak also includes musical capabilities.

Finances

Children in the third world live in an environment where finance and business is more important to their daily lives than in the developed world. They do not have a lot of money but the family needs to wisely manage and invest the money that they do have. This means that the family is often more like a business than a Western family. Software targeted towards helping teach children the basics of finance and investment will be very useful to both the children and their families.

Ideally we would see something that teaches double-entry bookkeeping in a way that children can understand. Also simulations of investment, interest, profit, etc. The focus must be on using language that a child can understand in order to communicate the fundamental concepts. Most current texts and software does not meet this need because it is filled with confusing jargon and targetted at adult learners.

Mathematics

The ideal software in this category will not use any language at all, and therefore will instantly be usable in all countries. The application should allow a specific font to be configured so that countries with non-arabic numeral glyphs can change the font to be instantly compatible. Numerals should be non-kerned in a monospace font.

Science

Data Collection and Analysis

The OLPC audio input port can be used with sensors that provide inputs in the range from 0 to 1 VDC. We need software that supports calibration of sensors, data collection, and graphing. In addition, software that guides children through a progressive series of experiments that they can do will be useful. You need to think like George Washington Carver in order to create software that is useful in the developing world.

Geography

In addition to any DJVU maps that country teams will assemble, it will be good to include some basic world and regional maps. Ideally this would be in the form of a GIS application that allows selection of various overlays, i.e. demographic, economic, etc.

Since the OLPC could be used with a USB GPS (or Bluetooth GPS using a USB-Bluetooth module), we need an application that supports map creation using SVG format and the SQLite database for data storage.

Language Skills

Programs to promote language skills must be adaptable to multiple languages with varying scripts. They must also have easily adaptable graphical material. For instance, an image of an apple is meaningless to children in tropical countries and the word apple will never be used in conversation there. However, fruit as a topic is relevant everywhere. If an application shows pictures of fruits with the names under them it must allow local people to easily change the images and names. Ideally, this information will be held in an XML file with all the words and names of SVG and PNG image files.

Foreign Languages

Learning a foreign language can be made easier with support of well-designed application software.

One application would display written text synchronised with audio. There are many websites that offer audio and accompanying text such as 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 are not only useful standalone but can be integrated into other applications. To that end an application that usessdictionary format and integrates with D-BUS will enable other applications to do lookups.