posted
I need to find a program that will generate an exam randomly selecting X many questions from a exam question database, making either short answer or multiple choice questions, is there any form of freeware or non freeware official software for educational institutions that can accomplish this?
IP: Logged |
posted
No, but it's five lines of any programming language that can interact with your database. Maybe ten lines to ensure no duplicate questions.
Posts: 10645 | Registered: Jul 2004
| IP: Logged |
posted
Come now, Blayne included answer generation as a requirement. (In fact the way he worded his request makes me think he's got a great future in upper management at a technology firm. Just the right mix of high expectations and vaguely phrased demands.)
A program that can generate decent multiple choice options would be challenging to write. That's why, usually, humans write multiple choice tests. You have to come up with at least one or two wrong answers that are plausible to the ignorant.
e.g. this would not be a good test question:
What's the default index of the first element in an array in Java? a) Nobody knows for sure. b) Zero. c) Havana. d) Your mom goes to college.
But the question selection requirement is not that hard, it's true.
Posts: 4287 | Registered: Mar 2005
| IP: Logged |
posted
Hum. The way I read the problem, the database is to contain the answers as well as the questions, and the program just does lookups. For short-answer, you just leave out the multiple choice bits; or you could have a column in the database marking "Suitable for short answer" or not. If we're talking about actually generating the questions, or even just answers to the questions, it seems to me that we are well within the realm of general AI.
Posts: 10645 | Registered: Jul 2004
| IP: Logged |
posted
There are numerous such programs available but I don't know of any freeware versions. For the programs I am familiar with, the databases contain both the questions and the answers as well as a ranking as to the difficulty of the problem and sometimes the topic. The instructor can specify the number of questions from each topic and the number of questions from each difficulty level. The better ones will also randomize the order of the choices for multiple choice questions and can vary parameters for numeric problems over a range.
Posts: 12591 | Registered: Jan 2000
| IP: Logged |
posted
Moogle can do question/answer arrays, and it's freeware. Of course, it's also a lot more than a testing tool.
Posts: 37449 | Registered: May 1999
| IP: Logged |
Blayne Bradley
unregistered
posted
quote:Originally posted by The Rabbit: There are numerous such programs available but I don't know of any freeware versions. For the programs I am familiar with, the databases contain both the questions and the answers as well as a ranking as to the difficulty of the problem and sometimes the topic. The instructor can specify the number of questions from each topic and the number of questions from each difficulty level. The better ones will also randomize the order of the choices for multiple choice questions and can vary parameters for numeric problems over a range.
can you tell me the name? Since im looking for it for the dept im working for and not for myself i dont mind if it costs money, they have a budget.
IP: Logged |
quote:Originally posted by The Rabbit: [qb] There are numerous such programs available but I don't know of any freeware versions. For the programs I am familiar with, the databases contain both the questions and the answers as well as a ranking as to the difficulty of the problem and sometimes the topic. The instructor can specify the number of questions from each topic and the number of questions from each difficulty level. The better ones will also randomize the order of the choices for multiple choice questions and can vary parameters for numeric problems over a range.
can you tell me the name? Since im looking for it for the dept im working for and not for myself i dont mind if it costs money,
The programs with which I am familiar are only available as part of a package from a textbook publisher and are sold with a database that is associated with a particular text book. They are only sold to professors who have adopted the textbook and access is severely restricted. They have to ensure that students are not able to get a copy as that would compromise the value of the product. You and your department will not be able to buy them.
Like KoM said, this is 5 to 10 lines of code. The difficult part is having a good database of exam questions.
Posts: 12591 | Registered: Jan 2000
| IP: Logged |
Blayne Bradley
unregistered
posted
when they pay me to write a program I will write the program until then why reinvent the wheel?
IP: Logged |
quote:Originally posted by Blayne Bradley: when they pay me to write a program I will write the program until then why reinvent the wheel?
Because engineers reinvent the wheel on an almost daily basis. You are programing, so start writing code, there is no way around the grunt work in almost every profession.
Posts: 14316 | Registered: Jul 2005
| IP: Logged |
posted
Are they asking you to do this as part of a class, Blayne? Because almost all early programming involves learning how to reinvent wheels.
Posts: 37449 | Registered: May 1999
| IP: Logged |
posted
You could have written the program in the time you have spent asking around. You know your own database, you know exactly what format you want the output to be, you are better off writing the 20 lines it takes than waiting around any longer hoping the perfect answer falls in your lap.
I would think that every question in the database has a PK, so you could write a brief script to generate a random integer, and then compose the SQL statement to pull out the record with that PK. If you need so many of each kind of question, you can check for that too.
Posts: 575 | Registered: Feb 2007
| IP: Logged |
posted
*cough* even assuming his PK's are integers, there's no guarantee of range or completeness in any RDBMS. That would not be a robust way to do it. Instead, he should use whichever way is appropriate to order his data randomly and limit 1 (or however many he wants).