Slashdot Mirror


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."

5 of 48 comments (clear)

  1. Moodle by Red+Alastor · · Score: 4, Informative

    Moodle has everything you are looking for. http://moodle.org/

    --
    Slashdot anagrams to "Sad Sloth"
    1. Re:Moodle by cbray_jadl · · Score: 5, Informative

      Moodle and other open-source Learning Management Systems (LMSs) are your best bet. They are based on a set of open standards known as the Sharable Content Object Object Reference Model, or SCORM. SCORM is the product of years of research and development by the Advanced Distributed Learning Initiative and is sponsored by the U.S. Department of Defense. There are lots of resources available on the ADL site to help you get started and to test your content for conformance. The nice thing about going with SCORM as the basis for your work is that you can move up to a supported, enterprise-level LMS if you need it. A lot of schools already have a SCORM-conformant LMS (like BlackBoard) in place.

      SCORM is composed of several component specifications like IMS Content Packaging and IMS Simple Sequencing. You can also include (optional) metadata about the parts of your course, known as Sharable Content Objects (SCOs) and assets. Other standards like the Question and Test Interoperability Specification (QTI) are not officially a part of SCORM but can be incorporated using a number of established techniques.

      As far as tools go, there are open-source tools available that expose the SCORM specs in a form that is usable by computer-savvy users, like Reload. There are other tools available that are intended for use by users who are less technical, like InSite Studio by Mississippi State University. Other tools are also available from commercial vendors. Some LMSs even have web-based tools built-in, and are known as Learning Content Management Systems (LCMSs).

      SCORM is a mature set of specs that are designed to meet the needs of organizations that are in your exact position, and are widely accepted -- some Asian countries have adopted it as a national standard. The SCORM community is growing quickly and new complimentary specs are being leveraged within SCORM-conformant courses all the time. Tool support should also expand quickly now that the SCORM 2004 spec has been in circulation for a while and vendors are getting thier products certified by the ADL.

  2. Squeak? by mrchaotica · · Score: 3, Informative

    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

  3. Be VERY Careful by AKAImBatman · · Score: 5, Insightful

    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?

    No. There have been billions of research dollars and millions of man-hours spent on trying to develop methods whereby non-programmers can become programmers. While some of them have had application-specific uses, not a single one has suceeded. Anyone who tells you otherwise is lying.

    The key is that, it's not that hard to program. With a little bit of instruction, just about anyone can be taught to change the oil in their car. The same is true of programming. Many of the home computers purchased in the 80's were bought so that the users could develop straightforward programs in BASIC. If hundreds of thousands of owners could accomplish that back then, why can't they accomplish it today?

    The answer is that they can. Anyone can still be taught to program. The problem that you're facing, however, is that the average program complexity has increased considerably. Which means that your average program is no longer like changing the oil, but is more like rebuilding a carburator. Still something that can be taught, but an order of maganitude more complex.

    At the end of the day, what you need is a custom configuration file or scripting language that is targetted with the project-at-hand in mind. That way you can simplify it down to only the components that absolutely NEED to be exposed to the users. But consider this route carefully! You need to analyze how much the teachers really need to be doing this, and decide if the time you will save them significantly outweighs the amount of time it would take for you to just do the work yourself. Otherwise you're just wasting valuable project time that could be spent elsewhere.

    Good luck!

  4. Re:Arrogant, Naive, Just a hint of Dumb. Delicious by flipper65 · · Score: 4, Insightful

    Wow, got a bit of an anger issue with academia do ya? Give the guy a break, he was given a task and he turned to a self professed community of ubergeeks to see if they had an answer.

    Reading through some of the early responses it looks like they gave him at least one path to follow with moodle which looks like a pretty nice solution. I do feel that he threw out a bit of unintentional flame bait when he stated that they wanted a tool that would allow non-programmers to program when what it seems like he meant was he wanted a system where the users could add their own content without involving programmers.

    For an alternative solution he might also want to take a look at http://ocw.mit.edu/index.html which is a solution heavily grounded in a commercial product by ab initio, after all, if it's good enough for MIT it might just fit his needs for flexability and scalability. Not only that, but I believe (and I could very well be mistaken) that OCW itself is available in an open source license format.