What do you do when you want to write a take-home exam, but want to discourage students from simply copying off each other?
If you’re a programmer, you write a random exam generator. 🙂 If you’re not a programmer, then you can probably find an existing one out there much nicer than mine… but oh well.
This is a C++ program that reads in text files – each question position has a “deck”, and a deck file has a list of questions that are interchangible (e.g., “declare an int”, “declare a double”), and then you have a series of decks that represent the amount of questions in the exam. Each question item in a deck has a serial number as well.
The exams are generated and output to .html files (I decided to do this because it’s easier to maintain the formatting if I copy it into a LibreWriter file), and a key is also generated, with all the decks and all the questions and their answers.
I’ll probably go extend this to list point values as well, I like putting that on exams. Then I have to go write my Programming Fundamentals exam 1. Whee!