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.
Pedantism != answering the question. The two concepts are so unrelated as to make the word 'orthogonal' useless to describe their relationship.
I don't know about you, but I enjoy buying books and reading them... and then passing them on to another when they no longer serve to enlighten me.
:)
Is it so difficult to read nowadays? I have taken online classes and I've truly missed the advantages of a good teacher and a great piece of educational literature. (Granted I have grown weary of scrolling through text files and watching flash movies.)
I miss getting handouts and highlighting relevant content, writing my own notes and then going back years later and reading them to see what new insight I had compared to my old way of thinking. Sometimes I find my thinking evolved, sometimes I wonder how I was so brilliant then and not so much now.
Perhaps you should deal with teaching students to read and write their own language. Afterwards they can learn how the big blue E takes them to "the internet (tm)".
I miss going back to handwritten notes when in the middle of doing a full install of some obscure software that throws my main workstation on the fritz.
Oh well, I guess I'm more old fashioned than I had thought.
** Try this. Goto www.openoffice.org and download a copy of open office. Have your teachers type up their handouts in OO.org opendoc format. Have them distribute to ALL their different OS using students. Students can easilly open them with whatever software they use, I hear even Microsoft has caved in and included support for OpenDoc. Perhaps if worried they can print the output in PDF format, which is readable by both Adobe Acrobat and Foxit's piece of software (look it up... free for non comm use I think). "http://www.foxitsoftware.com/pdf/rd_eula.htm" (free usage) Linux also has PLENTY of PDF viewers, XPDF GPDF, etc. This way you let me still PRINT my notes. (on fully recycled paper of course
~D
" What luck for rulers that men do not think" - Adolf Hitler
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).
I predict they are going to get flamed for using flash...
I've used Toolbook before for stuff like this. It's not Free, but it's good software and I believe it meets all of the requirements you listed.
I am mildly concerend that these same "intelligent professionals" who have "neither the time nor interest in learning a computer language" are probably the ones we pay to teach some of our kids something about computer systems.
Just for fun, freind, your "requirements" have a few hidden complexities.
You want an idiotproof, multicultural, multilocale, extensible, IDE enabled, cross platform, multimedia script authoring tool, that can be integrated into a content creation system developed by a university "team:of CS students using Flash!?
Basic acquisition method : "Lets ask slashdot!" Target Architecture: Anything anywhere. Deployment Architecture: Undefined. Development team: Deprecated, poorly led, students.
Oh yeah..., I am sooo excited, this is really gonna work !.
Gimme a break will ya and go tell your academic sponsors to get some real professors and "intelligent professionals" onto the job of teaching what it really takes to solve these kind of problems.
Prediction: You and your team are going to spend a coupla semesters at most throwing together a fundamentally useless and unusable mish-mash of kludged scripts, spackle it with lame content and unreadable user-doc, then make an end of project presentation, publishes some articles, and scurry off to get a real job. Everyone in the faculty claims a victory and "progress" is deemed to have occurred.
Here's a hard but real lesson for free: Academics, professors, imho, typically know nothing about building real information systems. They may in fact be an example of negative information in this area. A simple request: Learn to survive silly projects without bothering other people.
There is no god; get over it already! Never exchange a walk on part in the war, for a lead role in a cage.
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!
Javascript + Nintendo DSi = DSiCade
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!"
You should really consider giving it away to everyone.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
...I was a programmer for CAI coursework. We used Authorware Professional, née Course of Action (IIRC). This was about fifteen years ago. I have no idea what happened to that app/framework, but it thoroughly kicked ass IMO.
--
Don't like it? Respond with words, not karma.
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.
Web technolgies are definitely the way to go, just don't get vendor lock-in and make sure that every tool is standards based and can easily be moved away from if need be.
For a university, it would be far better to have one or two trained experts making the content rather than to try to train the teachers how to program. Find someone who is good at both asking questions and hearing the answers.
That said, I really do think university academic faculty get away with way too little criticism for dumb stuff. How much has the software and computing industry been moved along by this kind of project. Not too much springs to mind huh...
Just seems to me that most of the deep and cool stuff is coming out of commercially led projects, where at best the "publish or die" crowd tag along to grab some kudos.
I reckon folks are way too accepting of this status quo, why should'nt the ivory tower crowd get to know that some of the practitioners they are trying to diminish and replace, think that just maybe they have missed something critical, such as making an actual practical measurable contribution to our industry and society occasionally.
Why are the universities so focused on destroying programming as a profession, instead of making the creation of information systems into a respected career? They do this stuff, then wonder why nobody is going into the career track, well duh!
There is no god; get over it already! Never exchange a walk on part in the war, for a lead role in a cage.
Generally, non-programmers have little or no idea what they would do with a full programming language. You give them something much, much smaller, based on what they want to do.
For instance, you could allow them to create multiple choice tests, even somewhat complex ones which allow more than one answer to be correct, or only certain combinations to be correct, and still shield them completely from having to write the code that drives multiple choice tests. Sure, if they want to do something else, like an online part multi-choice and part essay exam, the multi-choice graded by computer and the essay mailed to a teacher, they'll have to come back to a programmer, but it's far better than bothering the programmer with every single multi-choice review/test they want to set up.
I, for one, am skeptical that they are even thinking along those lines, and will be disappointed when they either have to write far too much code, end up with something far too limiting, or discover that they'll just end up teaching professors to program anyway. Why? Simple: They chose Flash.
A group which choses Flash as a basis for "Application" development understands neither Flash nor Applications particularly well. If I was on this project, I'd jump ship, no matter what it took. A grade hit, a solo project, whatever.
Don't thank God, thank a doctor!
I'm guessing you put that there because I replied to your sig.
Sorry if it was some sort of humor that I didn't get, or something.
Le français vous intéresse?
The parent is extremely informational, but I'm out of mod points.
Using Hypercard, I built an interface for our developers -- all they had to do was to place the text and graphics on an image of the screen and the Hypercard stack generated the code required to display it. The programmers took it from there. In Two Weeks. In 1990. Imagine where things would be now if it had hung in there.
Toolbook was the MS-based attempt at copying it. The sheer simplicity and efficiency of the Hypercard interface was something to behold. We went from a six week development cycle to a two week development cycle.
The options you have when you want full cross platform availability for your courses, doesn't leave you with much choice apart from Flash, Java or HTML, or a combination thereof, since the others either don't allow you to write your own applications, or are not fully cross platform.
I would suggest actually writing a simple visual programming environment in Flash or Java, since it seems that your students won't be needing complex features (I presume simple procedural with conditionals and media integration).
This way you'll be able to expand it in future if you like.
"That said, I really do think university academic faculty get away with way too little criticism for dumb stuff. How much has the software and computing industry been moved along by this kind of project. Not too much springs to mind huh..."
Dumb stuff, is dumb stuff, regardless of were it comes from. As for academia moving computing right along? You might want to go grab a history book. A lot of famous people are from academia. Some found success in commercial led projects, but some of the foundation was laid earlier in academia.
"Just seems to me that most of the deep and cool stuff is coming out of commercially led projects, where at best the "publish or die" crowd tag along to grab some kudos."
Have you actually looked? Academia is a BIG discipline, encompassing the entire planet.
"Why are the universities so focused on destroying programming as a profession, instead of making the creation of information systems into a respected career?"
And some feel that OSS is about "destroying" programming as a profession, as opposed to a hobby.
"They do this stuff, then wonder why nobody is going into the career track, well duh!"
Looking for simple answers to complicated problems, are you?
How much has the software and computing industry been moved along by this kind of project. Not too much springs to mind huh.
BSD.
"I've got more toys than Teruhisa Kitahara."
That is so true. Exactly what I went through for a similar project. In reality you need to define types of problems presented to students very carefully and build an easy interface to design just those. It's a surprising amount of work just to provide the most basic tools for putting a test together that your intelligent professionals will understand. There is no chance of them successfully doing anything more complicated than choosing "multiple choice" and typing in the answers. If the students can type in any answers (even single words), the interface requirements for teachers to be able to successfully grade them are much more than you might think. Start with the grading, since inputting questions will seem trivial afterwards.
A commercial solution is Exact from Giunti Labs, which lets you build content from a library of reusable components as you suggest. Though they recommend you take a course to learn how to use it, imagine a complicated point and click interface. I have not used Moodle though it seems popular, as another poster mentioned the key seems to be SCORM compliance. You will also need an LMS (learning management system) to manage scoring history of students over time, exams, etc. in particular ways for teachers to look at the data and identify progress. I believe there is also the matter of scripting how an exam is taken, i.e. one that adapts to the user's choices, ones that ensure the same questions are not given on later versions of the exam to the same person, etc.
Clippy says, I appears that you are trying to create a presentation. Your request seems to be asking for Microsoft's Power Point. If Open Source is your religion then, have a look at Impress, part of the Open Office suite.
On a side note, what are all the unemployed professors going to do when they are put out of jobs because of Computer-Assisted Instruction applications. What a crock of marketing dribble.
Macromedia had an EXCELLENT product called Authorware. Unfortunately it has since been discontinued. It was basically a scriptable GUI with nodes, icones, and such. Easy to use, and once mastered, one could really create some amazing computer based training programs.
All is prevelant in the world...
I just visited macromedia's site, and it seems Authorware7 is still alive and kicking! Get that. Your students can build a really customizable script, and content editors can plunk in images, video, sound bites, text, etc.
All is prevelant in the world...
Most courseware these days SUCKS! Most of it is re-hashed overheads and powerpoint presentations with a few clever illustrative multimedia tricks to try to keep people interested. How about an instructional format that guarantees that the participant learns?
IMO, the elements of good self-teaching courseware are Information, Simulation and Feedback. Back in the '60's B.F. Skinner and Norman Crowder developed the principles of Programmed Instruction. The web is an ideal medium for PI. In the early days, many companies like IBM, Honeywell, Xerox, Jepson, and many others were teaching subjects about 6 times faster than comparable courses, with about a 98% perfection rate on the part of the students. With the demonization of B. F. Skinner and behaviorism, coupled with the advanced development time necessary for good PI, the concept has pretty much died out. Current "Programmed Instruction" is usually just information broken down into small portions, sometimes with a question attached. One of the things that made PI effective in the past was that each frame was tested until 98%+ of the responses were correct. The theory (based on operant conditioning) is that people learn more by being successful and immediately reinforced for their success.
I was amazed to find out the the Atomic Energy Commission in Augusta, GA was, for a while, using the Atari game "Meltdown!" to teach the principles of nuclear reactors. Simulators of various types have been around for quite a while, and are unusually good forms of instruction. This is possibly due to the immediacy of the feedback.
Again, IMO, flexibility is more important than Flash (pun intended). For more information, see books by Robert Mager and Peter Pipe, B.F. Skinner and Norman Crowder, and for a fair web-based example, check out The Logic Cafe http://www.oakland.edu/phil/cafe/. (I'd rate this higher if I didn't have to download special fonts that seem to only work well on Windows.) The structure for this is downloadable and modifiable for other subjects.
Good luck.
"The mind works quicker than you think!"
You may or may not find the scriptable language that you're looking for. Your real problem is minimizing the effort required to produce custom programs, right? How about define a few narrowly scoped types of courseware that the teachers want and create some wizards that guide them through building it?
Instead of making them script a multiple choice test, have an option in your TestBuilder application to make one. Then provide them with a wizard that steps them through each step, allows previews, scoring criteria, etc. Put your effort into making it really easy to use by _working with the end-users_ and giving them what they want. I bet none of them will ask for a scripting language.
Find one or two teachers that are particularly interested in this software and get them to sign on as the "domain experts". Set their expectations properly, that is let them know the first two or three iterations of the software will have some usability issues and that it's up to them to work with the developers to iron things out for everybody.
You should check out Connexions. I don't know the framework behind it, but it is likely to be O/FSS. You take a look around http://cnx.rice.edu/
It is incidentally a very nice place to go for quick information on some college level material - statistics and signal analysis in particular is my experience. Good luck with your (very hard) problem.
Sounds ambitious. Maybe moodle is what you need, or maybe you could hack something together (e.g. user created slideshows and other presentation stuff) with something like Catalyst.
"...we should just trust our president in every decision that he makes and we should just support that." B.Spears 2003