Suggestions for Scriptable CAI Apps?
Corvus9 asks: "I am involved with a University project for creating a Computer-Assisted Instruction application. Currently, we have teachers writing the content and CS students working on the application, which is currently being developed in Flash. However, we would like to make something that would allow teachers and non-CS students to create their own applications. Can Slashdot readers suggest some kind of authoring system that would satisfy this? Commercial and open-source applications are acceptable."
"For this to be usable by teachers, we need to provide higher-level constructs like 'multiple-choice test' or 'kinematic model' as base objects, and a scripting model usable by non-computer people whose native language is not English.
I have been searching for an embeddable scripting language to use, and have found nothing satisfactory. Some of the requirements for the scripting language are:
1. Understandable to non-programmers. Our target audience is intelligent professionals who have neither the time nor interest in learning a computer language. Concepts like function calls are very advanced for our users, and things like inheritance or threading are totally beyond them. We need something where a humanities student can look at a script and at least have some idea what it is trying to do.
2. Usable by non-English speakers. Some of our target audience are native French and Spanish speakers. This means that we need to avoid English-language keywords and avoid culture-specific punctuation. For example, in French the decimal separator is a comma, not a period so we must allow users to type in real numbers with either decimal separator, without ambiguity. Also, some ASCII characters like '#', '\', and '{}' are not available on all our user's keyboards. We could allow a 'skinnable UI' that switches between languages, but a French script must be executable on an English document.
3. Extendable. The initial concept is to provide a number of complex scripts like 'multiple-choice test' and allow the end user to customize it. This means that the application must provide some kind of IDE, or integrate with one available for Windows.
4. Create stand-alone courseware. All authoring will be done on Windows PCs, but the created courseware should be executable on Windows and Linux. Mac OS X support would be helpful as well. Flash-compatible output would be preferred."
I have been searching for an embeddable scripting language to use, and have found nothing satisfactory. Some of the requirements for the scripting language are:
1. Understandable to non-programmers. Our target audience is intelligent professionals who have neither the time nor interest in learning a computer language. Concepts like function calls are very advanced for our users, and things like inheritance or threading are totally beyond them. We need something where a humanities student can look at a script and at least have some idea what it is trying to do.
2. Usable by non-English speakers. Some of our target audience are native French and Spanish speakers. This means that we need to avoid English-language keywords and avoid culture-specific punctuation. For example, in French the decimal separator is a comma, not a period so we must allow users to type in real numbers with either decimal separator, without ambiguity. Also, some ASCII characters like '#', '\', and '{}' are not available on all our user's keyboards. We could allow a 'skinnable UI' that switches between languages, but a French script must be executable on an English document.
3. Extendable. The initial concept is to provide a number of complex scripts like 'multiple-choice test' and allow the end user to customize it. This means that the application must provide some kind of IDE, or integrate with one available for Windows.
4. Create stand-alone courseware. All authoring will be done on Windows PCs, but the created courseware should be executable on Windows and Linux. Mac OS X support would be helpful as well. Flash-compatible output would be preferred."
Moodle has everything you are looking for. http://moodle.org/
Slashdot anagrams to "Sad Sloth"
Use an existing environment, such as Moodle. You'll need to stick with the web browser and what the browser can present if you'd like to have people developing their own materials. True programming is probably out of the question for your users; they're interested in content development. I'd suggest Moodle version 1.5 (also integrates with Hot Potatoes, etc.)
The Death Penalty: Killing people to show others that killing people is wrong.
Squeak is a cross-platform Smalltalk environment that has a lot of features for non-programmers: For example, it is it's own IDE. For another, it's got lots of different drag-and-droppable widget things that can be programmed (graphically, even). In fact, it's mostly designed for education (computer science and otherwise).
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
HTML and Web based courses provide much more flexibility than Flash. Flash would mostly be useful, as it is usually used on the web, to force students to sit through piles of crap, but is otherwise probably overkill.
Why not markup multiple choice questions and tests in XML format? Last I looked there were several such to choose from (and using a database to save the questions and statistics provies for all kinds of nice features).
Reload is a SCORM editor. This might be a bit beyond what your people want, but it will build quite complex lessons from various bits of content
"Seven Deadly Sins? I thought it was a to-do list!"
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz