Skip to content

Specification

montemisa edited this page Oct 27, 2015 · 9 revisions

##Startup##

  • The student will be asked the server address, if any.

    • Where is the student going to get the server address from?
  • In the latter case, connected mode is set, and the exam problem statements are placed in a buffer. (In nonconnected mode, the instructor distributes paper copies of the exam.)

    • How are we going to determine if we are in connected mode or not?
  • In problems involving writing code that don't fit into our built-in cases, the startup code will download the required compilation/run commands in the connected case, or have the student input them (copied from the exam sheet) in the nonconnected case.

    • Are these compilation/run commands coming from the instructor or Vishal?
  • For math problems, the instructor may choose R (or whatever) to evaluate mathematical expressions instead of Python.

    • I'm guessing this will be stated in some file that instructors edit with specific instructions?
  • The startup will create the first two buffers, which will consist of a Vim cheat sheet and a cheat sheet for our tool's commands.

##Commands##

;;vim - go to the Vim cheat sheet.

;;help - go to the exam tool cheat sheet

;;b n - go to the buffer for exam problem n (creating it if not there already)

;;rn - compile (skip for interpreted languages) and run the code in the currently displayed buffer.

;;eval - evaluate mathematical expression in the current buffer (for mathematical problems, basically a syntax check)

;;sv - save the current buffer*

;;sva - save all exam problem buffers*

pppanic - panic button; works in either insert or noninsert mode;

*Saving in connected mode will upload the file to the server. In nonconnected mode, it will save the file with a secure timestamp embedded

##Process Monitoring##

##Compiling Code##

##Server side##

Clone this wiki locally