home *** CD-ROM | disk | FTP | other *** search
File List | 1991-05-23 | 13.0 KB | 258 lines |
- A. To use the Make Question program [Note, the generic name of
- this program is MAKEQUES, and the .EXE version is supplied.
- It will have a name of the form MQxx.EXE on the disk, (xx
- indicating a version number.)]
- 1. Menu Presented
- a) (F)ile
- 1) (L)oad...An existing name.LIB file can be loaded for
- editing, changing, cloning, etc.. Prior to loading, all
- system variables are cleared, i.e., this will not append an
- old question onto the back of a new one.
- 2) (N)ew...Cleans all variables and allows creation of a brand
- new question.
- 3) (S)ave...Reminds you that you are over writing an existing
- question (if that is the case) and then saves the question
- and returns. Saved questions have the extension .LIB.
- 4) Save (a)s...Allows cloning of questions by saving them under
- a different name (newname.LIB).
- 5) (W)rite...Creates the PASCAL text which is the ultimate
- product.
- >>>>This text is in the form of a 'name'.IN1 file, such that
- the question driver (PROTOTP.PAS) executes an "include"
- command which gets the 'name'.IN1 file and includes it
- during Turbo Pascal compilation. Once a question has been
- created (i.e., a .EXE file or a .OVR file has been made)
- this 'name'.IN1 file can be discarded.
- >>>>Alternatively, during editing of a question, one can
- literally read the 'name'.IN1 file into the question driver,
- and save the combined file as a complete question (after
- removing the {$I 'name'.IN1} command! ususally by changing
- '{$' to '{.$').
- 6) (D)irectory...Self explanatory.
- 7) (C)hange Directory...Self explanatory.
- 8) (Q)uit...If a (C)reate, (D)elete, E(X)change or (E)dit
- command has been issued since the last (S)ave of Save (a)s,
- a prompt will appear about quitting with or without saving.
- Otherwise, this is the program exit.
- b) (C)reate
- Items which are created are APPENDed to the current question
- file.
- 1) For variables, (I), (R), (S), the first query requests the
- name (in our example, enter p2), and the second query
- requests the definition (in our example, enter "random+1.").
- Note that all names are adjusted by the program to contain a
- prefix of the form 'I_', 'R_' or 'S_' to indicate the type
- of variable being created.
-
- 2) For the (A)nswer, it is required that a temporary variable
- be defined, and then that variable used in the answer. Thus,
- defining "answer" as a variable (real) in the example, means
- that in the (A)nswer response one enters "R_answer", so that
- the value of R_answer is the one being tested. This has been
- implemented by forcing you to choose your answer from the
- existing question's variables. Use the cursors to choose
- either a (R)eal or an (I)nteger variable and then press
- <ENTER>. It is a common error to try to use '0' as an answer
- response, forgetting that you need to create a temporary
- variable, call it zero, which the computer will rename
- "R_zero", so that its value can be set equal to '0', and
- then the answer response can be "R_zero". It is easier to do
- than to explain.
-
- 3) For error responses, the first query is either a previously
- defined variable (remember to type in the prefixes properly}
- or an expression using variables (remember to type in the
- prefixes properly). The second query is for a response that
- you wish to have the computer make if this error is inputted
- by the student. The second item, your "help" for the
- student, should be a complete sentence starting with a
- capital letter and ending with a period, exclamation point,
- or question mark. I prefer help responses phrased as
- questions, but you choose whatever you want.
- For the (Q)uestion menu choice a special submenu is
- invoked.
- a> (T)ext-allows you to enter alphabetic characters
- b> (V)ariable-shows you all variables, and asks you to pick one
- by using the up and down arrows to highlight the desired
- variable, and then pressing the <ENTER> key to choose. Your
- choice must be a variable, either R_, I_ or S_ as the
- prefix. The nascent question text will show the variable
- with an A_ prefix, i.e, A_R_ to indicate that this is the
- alphabetic equivalent of the real variable.
- c> (E)nd-finalizes the text and variables as a complete string.
- c) (E)dit
- Editing an item allows editing of either its PASCAL
- representation or its defining second line. You can not
- change the kind of item, i.e., Real to Integer. To do this,
- erase (delete) the original, and then create the newer
- version.
- d) (D)elete
- When an item is deleted, the place of that item is lost, so
- that if something further down depends on this item, it
- becomes undefined. Care must be exercised constantly to make
- sure that all variables are either assigned or computed
- using variables which themselves have already been assigned.
- e) (L)ist
- We use an example to illustrate both this item and the
- complete program itself. (E)scape exits from this menu item.
-
- Choosing (L)ist causes the computer to create a
- temporary file which contains a human readable form of the
- question being created (MQ.TMP file). Below is an example
- which shows how a question is displayed on the screen. Each
- item has three lines of entry, the first is a signature of
- the item type, (R)eal, (I)nteger, (S)tring, (Q)uestion,
- (E)rror, (A)nswer The second is the PASCAL representation
- which will be used for that item. The third (not present for
- the (Q)uestion and (A)nswer items), shows how that item will
- be computed (if it is a variable), or what the response will
- be (if it is an error).
- Arrow keys move you about the display, ESCAPE exits the
- display. Note that upon exiting, it is possible to save the
- display as a text item on disk (MQ.TMP). This would allow
- you to print this file after exiting the program.
- The display example follows:
- R
- R_p2
- random+1.
- R
- R_p1
- R_p2*random+10.
- R
- R_v1
- 8.*random
- R
- R_v2
- 10.*random + R_v1
- Q
- ' If a gas under a pressure of ' + A_R_p1+' atm., occupying
- ' + A_R_v1
-
- Q
- ' liters is expanded against a constant pressure of ' +
- A_R_p2+' atm. to a volume of '
-
- Q
- A_R_v2 + ' liters, find the work.
-
- E
- R_p2*(R_v2-R_v1)
- Have you followed the sign convention for work in and out?
- E
- -R_p1*(R_v2-R_v1)
- Did you use the wrong pressure?
- R
- R_answer
- - R_p2*(R_v2 - R_v1)
- A
- R_answer
-
-
- f) e(X)change
- This menu choice allows you to interchange pairs of items in
- the question, i.e., change the order. If you have added a
- variable after the question rather than before it, you xan
- interchange their positions using this instruction. The
- screen will show you a compressed list of items, and you
- choose two of them by pressing the space bar while they are
- highlighted. Then, pressing <ENTER> results in the
- interchange taking place.
-
- 2. Changing an old question or cloning an old question into a
- new question.
- From the (F)ile menu of MAKEQUES, choose (L)oad and load an
- existing question. Then edit the question, save it under a
- new name, and (W)rite out the 'name'.IN1 file. For instance,
- you could (C)reate a new (added) (E)rror response:
- E
- R_p2
- Did you enter the ending pressure rather than the work?
-
-
- B. To test a question after creating it using the Make Question
- (MAKEQUES) program.
-
- 1. Single question method.
- Load Turbo, and use the FileNew command set to clear the
- Turbo buffer. Press Ctrl-KR to execute the read command, and
- then read "PROTOTYP.PAS" into the Turbo buffer. Choose a
- name (here "name", presuambly the name of the .IN1 file
- which you created using the MAKEQUES program), and change
- every occurrence of the string "PROTOTYP" to "name". Locate
- the {$I INITQUES.IN1} line, and either
- change INITQUES to "name"
- or
- use Ctrl-K to read the 'name'.IN1 file
- directly into the current program [if you
- use this method, change {$I to {.$I].
- Compile the program. If there are no errors, save the
- program under "name.PAS" so that you can access this
- question again at some future time.
- If there are errors, correct them using the Pascal Editor.
- When the Pascal errors are eliminated run the program
- (either stand alone or in the IDE) and check that it is
- correct (from a subject matter point of view).WARNING,
- WARNING, WARNING!!!!!!! It is very disconcerting to students
- to get the right answer, input it into the computer, and
- have the computer respond that the answer is wrong! Remember
- that pressing PF10 during program execution will bring up
- the special (hidden) window which shows the variables in
- your question. Students will not know about this window, but
- you can check it to see that all variables have the values
- you expect. Use the "\" key as the password to allow you to
- view this screen.
-
-
- a) Things to check that are likely errors.
- 1) question is too long.
- 2) variables in the question do not correspond to variables
- which have been defined, presumably because these variables
- were edited after the question had been created.
- 3) answer isn't a variable.
-
- b) Things to do once the question is checked.
- 1) You can save the question (under a new name) in either
- compiled (i.e., compile to DISK) or text (Save) form,
- 2) You can edit away the marked off text and recompile to the
- overlay form (to DISK).
-
- 2. Throw away question method.
- Load Turbo, and use F3 to load PROTOTYP.PAS. Locate the {$I
- INITQUES.IN1} line and change INITQUES to the name used in
- the MAKEQUES program when using the (W)rite command to
- create the name.IN1 file. Compile and execute to your
- heart's content, but at the end, do not save the text.
-
- C. To take questions (in .IN1 form) and create a PROCTORn
- program which includes these questions run the program MTxx
- MAKETEST). This will create the PROCTORn.EXE and the
- PROCTORn.OVR files.
-
- D. To take a complete PROCTOR program (examination), and create
- a student disk complete with password.
-
- 1. WE ASSUME THAT THE STUDENT IS REQUIRED TO USE THE A: DRIVE.
- 2. For security reasons, if the student is using anything but
- the A: drive, the PROCTOR program aborts. If security
- warrants it, an emasculated copy of DOS can be used as the
- A: boot disk, and each machine booted from this DOS disk, so
- that you can be sure that no TSR's are loose in the system.
- 3. Put a clean diskette in the A: drive.
- 4. Run the program INITGRAD to create a password and a
- GRADE.BK$ file on the student's disk (which is in the A:
- drive of your machine).
- 5. Copy PROCTORn.* from the directory in which you created them
- to the A: drive. The student diskette will contain
- PROCTORn.EXE, PROCTORn.OVR, and GRADE.BK$ at the start of
- the examination. At the end of the examination, it will also
- contain Qn.$$$, where the data that the problems used is
- stored (currently plain text), and Qn.UUC, uuencoded files
- showing the history of how the student took the question.
- Thus file may be read once it is uudec(oded).
- 6. Physically label the disk with the name of the student who
- will receive this disk, and record in your private log the
- password and name associated with this diskette.
- 7. Go back to step 3, and repeat the procedure for the next
- student.
-