Fluids Modules Tools Downloads Page - LOPSM

return to downloads

LOPSM (Latex Online Problem Set Maker) is an application for generating and posting online problem sets. The main version of LOPSM accepts LaTeX as input. LOPSM was designed for usage on Linux and Athena.

LOPSM includes a Problem Set Encoder that lets TA's/Professors create and organize problem sets.


problem set encoder, click to enlarge

The problem set developer gets to specify the problem statements, questions, hints, answers, etc using LaTeX. After the problem set is created, the creator can run an included program to convert the problem set into a gif-based format. Then, students will be able to access that problem set online.


online problem set, click to enlarge

With these online problem sets, students can go at their own pace, revealing any question hints to themselves only when they need them.

Download
download lopsm.zip here    (size: 1.1mb)

Working example of LOPSM here. (needs java JRE). You might want to try creating a small problem set first as practice.

Instructions for Athena
1. Unzip lopsm.zip in a web-accessible directory (i.e. www) To make a directory web-accessible, run "fs sa . system:anyuser:rl" in that directory, and "fs sa . system:anyuser:l" in each directory above it.
2. This should have created a LOPSM directory inside www. Go into that directory ("cd LOPSM").
3. To create problem sets, first add Java, then run the Problem Set Encoder program. Add Java with "add -f java" . Remember to use the "-f" flag. Run the Problem Set Encoder with "cd encoder" then "java Encoder". The first entry about XML is good the way it is (just click Okay on it).
4. Help > Instructions from the Problem Set Encoder menu bar will get you started. Note that not all available fields are required (i.e. questions do not need answers specified). After creating a problem set, save it with the xml extension in the LOPSM directory (e.g. name it "pset1.xml" and put it in the main LOPSM directory).
5. Go back into the LOPSM directory ("cd .." from inside the encoder directory). To convert your XML problem set into something readable online, type ("add -f java" if you haven't yet), then
"java vfl/LatexProblemSetParser filename.xml /tmp PSImages/filename_out.d -l".
filename.xml is the name of any xml created by the Problem Set Encoder. "/tmp" can be replaced by any directory you have write access to. Note that on Athena dialup machines, you might not have access to "/tmp", so you should specify the absolute path to some local directory that you do have access to (i.e. make a tmp directory in your home directory, then use "~/tmp"). filename_out.d should be any filename that isn't being used in the PSImages directory yet. Use -l for linux and -s for Sun.

If you have a Latex error, then LatexProblemSetParser will display the Latex error. In this case, Ctrl+C out of LatexProblemSetParser, and fix the Latex error either by editing the XML file or by loading the XML file in the problem set parser and editing it there. When the conversion is finished, a window will pop up displaying your Problem Set. You can close this window.
6. You can now access your problem set at "http://web.mit.edu/~your_locker/www/LOPSM/" If you Ctrl+C'd out of a problem set creation in step 5, then the webpage might display an extra problem set. You can fix this by editing PSImages/info.txt. The first line is the number of problem sets you want displayed, and the rest of the lines specify which problem sets you want displayed.

Instructions for non-Athena Linux
Note that you need to have the following software installed: (1) Java JRE 1.4 or higher (i.e. J2SE JRE), (2) A Webserver if you want to host the problem sets page (i.e. Apache), (3) Ghostscript, and (4) the NetPBM utilities in /usr/bin. Ghostscript (gs) and NetPBM are included in many versions of Linux. On a non-Athena machine with all the required software, follow the Athena instructions. Instead of using your www directory, use a web-accessible directory of your choice. If you run into problems displaying the index.html page (and you know the server works), chmod the main LOPSM directory and the vfl directory to 755. If the web page is not finding your problem set, chmod the contents of the PSImages directory to 755.
Comments/questions to T. Lin

MIT