\hrule \section{\capa{} Software Components} \vskip 0.2in \hrule \vskip 0.2in There are nine application codes in the complete system. They are: {\sf Quizzer, Grader, Manager, Capalogin, Capasbin, Capahtml, Qzparse, Capautils} and {\sf AllCapaID.} The {\sf Quizzer}, {\sf Grader}, and {\sf Manager} applications are tools for the instructor to create problem sets, grade exams and hand-scored problems, and manage the class. It was necessary in earlier versions of \capa\ to use the {\sf Qzparse}, {\sf AllCapaID}, and {\sf CapaUtils} to perform certain tasks. Now however, almost all of their functions can also be found or accessed in either {\sf Quizzer}, {\sf Grader}, or {\sf Manager}. The other three applications are necessary for the student interface. The {\sf Capalogin} code is executed automatically for each student telnet session. Similar in function are the {\sf Capahtml} and {\sf Capasbin} programs executed by the web server when a student uses web browser to answer the problem set. In order for many of these components to work properly, the instructor customizes the necessary {\sl capa.config} file which must reside in each classname folder. \subsection{The {\sl capa.config} File} A file called \index{capa.config}{\sl capa.config} located in the class directorry contains general configuration information needed for the \capa\ system. In the usual installation, the class directory contains the homework assignment sets. When generating statistics and reports, {\sf Manager} requires the user to select a {\sl capa.config} file, and assumes that the user will go the the class directory to select that file. The {\sl capa.config} is divided into sections containing configurable parameters so that instructors can customize the \capa\ system. %%%%%%%%%%%%%%%%%%%%%%%%%% \begin{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%% \item {\bf Class Structure:} The first section contains information related to the organization of a course. It defines the paths pointing to other possible course components, such as \index{exam\_path}exam\_path, \index{quiz\_path}quiz\_path, \index{supp\_path}supp\_path, and \index{others\_path}others\_path. Below is the exact text as it appears in the {\sl capa.config} file. Every comment begins with a ``\#'' symbol. The comments explain how to customize the file. \begin{capacode} # Comments in this file begins with a # mark in the first column # when setting a value there MUST be a space before and after the = # ================= class structure ============ # Defined below are the paths to the various portions of the class. # (Note: The homework is usually in the class directory, # /usr/users/teacher/CAPA51/phy183f0 # The file /usr/users/teacher/CAPA51/phy183f0/capa_config is used by # manager to generating stats such as the student course profile. # # Possible other "classes" (paths) a user MAY define are exam_path, quiz_path, # supp_path (supplementary problems), and others_path. Data from these 4 paths # are used by Manager and included in the stats generated (for example, when # generating a summary of a student's performance, a Student Course Profile) quiz_path = /usr/users/teacher/CAPA51/qph183f0 exam_path = /usr/users/teacher/CAPA51/xph183f0 supp_path = /usr/users/teacher/CAPA51/xpc183f0 others_path = /usr/users/teacher/CAPA51/fci183f0 # A popular feature we have used is to allow students (optionally) to earn # partial credit on Mid-term exams. Since our exams are mostly or totally # computer scored, we have allowed students to correct their exams and earn # partial credit: At the end of the exam, students pick up a different version # of the exam as if it were a homework assignment, and enter answers in the # computer with a short deadline (2-3 days). They must do all the problems, and # earn partial credit on the improvement in score. # Example: For 25pct partial credit, a student with 60% on exam 1 (i.e., # set1.qz in xph183f0) and 90% on the corrections 1 (set1.qz in xpc183f0), # gets 60+0.25*(90-60)=67.5pct # To use that feature in CAPA, the path where the corrections sets are entered # must be defined. correction_path = /usr/users/teacher/CAPA51/xpc183f0 # Note that we used the supp_path for that purpose: set1.qz in xph183f0 has the # same questions as set1.qz in xpc183f0, but the former is proctored and # students fill out scantron forms, while for the latter, students enter as # they would for homework, but in the xpc183f0 (eXamPartialCredit) "class". \end{capacode} \item {\bf Extrapolate Term Score:} An applet that allows students to extrapolate their term score can be enabled, and will include the Partial Credit by Corrections discussed above. A button on the main menu of the homework web page initiates the applet \begin{capacode} # ================= Extrapolate Scores Applet ================ # Server where the applet resides: capa_server = capa2.nscl.msu.edu # Width and height of the applet: tscore_width = 500 tscore_height = 450 # yes means show the applet, no inhibts the display of the applet term_score_applet = no # The weights used in term score calculation formula: # term_score = homework_weight * sum of homework + quiz_weight * # sum of quizes + exam_weight * sum of exams + final_weight * final exam # These values will in most cases add up to 1. homework_weight = 0.3 quiz_weight = 0.05 exam_weight = 0.3 final_weight = 0.35 # This specifies the weight of the correction exam: # corrected exam score = raw exam score + correction_weight * # (correction score - raw exam score) # If correction score is less than raw exam score, no correction is taken. correction_weight = 0.25 # final_exam_set_number specifies what set number will be or is the # final exam in the class (directory) defined by exam_path. final_exam_set_number = 4 # homework_count is the total number of homeworks that will be given # to the students homework_count = 12 # quiz_count is the total number of quizzes that will be given to the # students quiz_count = 20 \end{capacode} \item {\bf Configuring the ``Discuss" forum:} A discussion forum for posting questions and replies associated with problems in assignments can be enabled for each set, using the "set db Header" menu. \begin{capacode} # =============== capadiscuss configuration ==== # "Admin" sections: Teaching staff listed in Admin sections can delete # and hide messages (instructor/TA sections). Examples: # admin_section = 033 # admin_section = 33 # admin_section = 033,12,099,2 admin_section = 099 # You can ban particular users (problem students) from using the "discuss" # forum page. Examples: # banned_users = A12345677 # banned_users = a12345677 # banned_users = A12345677, a12345678,A12345666 banned_users = A12312312 \end{capacode} \item {\bf Manager Configuration:} Data to be included in various reports and graphs: \begin{capacode} # =================== Manager configuration ==== # Manager will compile statistics with data from set1.db, # set2.db and so on until the setX.db file which does not # exist or until it reaches the set number specified below. # Defining the limits with a number of 99 will make the program # to include all scores from all setX.db files up to set 99. homework_scores_limit_set = 99 exam_scores_limit_set = 99 quiz_scores_limit_set = 99 supp_scores_limit_set = 99 others_scores_limit_set = 99 # Note that when calculating stats, Manager will ask the user to select a # capa_config file. Manager will assume that the capa_config file selected # resides in the directory containing the homework sets for which the # limit "homework_scores_limit_set" is set above. \end{capacode} \item {\bf Command Specifications}: This section specifies the absolute path to commands that are used by the \capa\ system, such as {\tt latex}, {\tt dvips}, {\tt mail}, {\tt allcapaid}, and {\tt qzparse}. It should be unnecessary to change these. \begin{capacode} # ================= Command specifications ===== # # When specifying a command, use double quotes. # latex_command = "latex" dvips_command = "dvips" mail_command = "mailx" allcapaid_command = "allcapaid" qzparse_command = "qzparse" answers_command = "answers" \end{capacode} %%% \item {\bf Printing Configuration}: The next section lets the instructor identify the printers he/she will use to print assignments, exams, quizzes, etc. The command used to choose one or two sided printing should be specified in this section also. The commands listed below may differ for different operating systems. Check with your system administrator to determine both the printer name and print command syntax. \index{lprOneSided\_command} \index{lprTwoSided\_command} \begin{capacode} # ================= Printing configuration ==== # # -printer list- # add available printer name here # they will appear in a selection list in the order listed here # multiple printer quese can be defined # printer_option = "print_queue1" printer_option = "print_queue2" # -print command- # The predefined variables: $PS_file and $Printer_selected # indicate the file to be printed and the printer queue to be # printed to. # lprOneSided_command = "/usr/bin/lpr -P$Printer_selected" lprTwoSided_command = "/usr/bin/lpspr -K2 $PS_file | /usr/bin/lpr -P$Printer_selected" \end{capacode} %%% \item {\bf Capalogin/Web Settings:} This section specifies options for the {\sf Capalogin} shell and the Web display. It is unnecessary to change these. \index{capalogin\_goodbye\_delay} \index{capalogin\_inactivity\_delay} \index{capalogin\_show\_summary\_score} \begin{capacode} # ================= capalogin/web settings ========= # # Specify the capalogin goodbye message delay in seconds. # This if for the telnet interface only. capalogin_goodbye_delay = 4 # Specify the capalogin inactivity delay time in minutes. # Default value is 60 minutes. 0 means never time out. # This if for the telnet interface only. capalogin_inactivity_delay = 25 # If set to "none", then the summary score will not show. Any other # value or not defined will cause the summary score to be displayed. # This if for the telnet interface only. #capalogin_show_summary_score = show # Used to define how many problems to be displayed on the webpage. # Default is all. If specified must have and integer argument, otherwise # uses default value. #num_questions_per_page = 26 # Used to define the length of the status line on the top of the webpage. # If there are more problems than this, multiple status lines are created. # By default, one line of the length of the # of problems in the set # is created. #web_status_line_length = 26 # If set to "no", then the viewing of term summaries is not an option. # Default is yes. This is for both web and telnet interface. #term_summary_button = yes # Used to define the cgi path, if unspecified, defaults to capa-bin #capaweb_cgibin_path = /path/to/cgi \end{capacode} %%%% \item {\bf Quizzer Settings:} The next section is related to an option in {\sf Quizzer}. Everything between ``BeginStandardQuizzerHeader'' and ``EndStandardQuizzerHeader'' is inserted into the {\sl .qz} file when the user clicks on the \fbox{Std. Header} button while using the {\sf Quizzer} application. \begin{capacode} # ================= Quizzer settings ========== #Everything between BeginStandardQuizzerHeader and #EndStandardQuizzerHeader is inserted into the .qz file when using the #Std. Header button in Quizzer BeginStandardQuizzerHeader //CAPA library problems NOT included in the demolibrary are copyrighted //by the author, institution, publisher, etc.. By using these materials, //the user agrees to: // 1) Protect the problem source code files from unauthorized copying. // 2) Limit access of the problem source material to teaching staff. // This includes installing the CAPA system securely (please see // READMEsecurity.txt from the CAPA distribution). // 3) The user is free to mix, cut and paste, modify, adapt, delete, // improve, etc. the problems and graphics for her/his own use. // //See quizzer "Info" or http://capa.msu.edu/license for more information //about terms and conditions. // /IMP "/demolibrary/Tools/StdMacros" /IMP "/demolibrary/Tools/StdUnits" /IMP "/demolibrary/Tools/StdConst" /IMP "/demolibrary/Tools/GreekWeb2" /IMP "HWTop" EndStandardQuizzerHeader \end{capacode} \item {\bf Unit Section:} This is divided into three subsections. %%%%%%%%%%% \begin{enumerate} %%%%%%%%%%% \item {\bf Base Units:} The capa.config file defines the base units first. It begins with the special marker {\tt << Base Unit >>.} Each line contains a definition of a base unit which consist of (1) a full name, (2) a symbol representing that base unit, (3) and a comment beginning with a ``\#'' character. All three fields are required and are space delimited (no tabs). There is a 47 character limit to the unit name, 15 character limit for the unit symbol and a total of 32 base units can be defined. \begin{capacode} # ======================= Unit section ============= # Base Unit # name symbol comment << Base Unit >> meter m # length kilogram kg # mass second s # time ampere A # electric current kelvin K # thermodynamic temperature mole mol # amount of substance candela cd # luminous intensity \end{capacode} %%%% \item {\bf Prefixes:} The next subsection of units includes prefix symbol definitions. It consists of three fields on each line, separated by white spaces or tab characters. This section needs to begin with the marker {\tt << Prefix >>.} \begin{capacode} # Prefix symbol factor << Prefix >> yotta Y 10^{24} zetta Z 10^{21} exa E 10^{18} peta P 10^{15} tera T 10^{12} giga G 10^9 mega M 10^6 kilo k 10^3 hecto h 10^2 deci d 10^-1 centi c 10^-2 milli m 10^-3 micro u 10^-6 nano n 10^-9 pico p 10^{-12} femto f 10^{-15} atto a 10^{-18} zepto z 10^{-21} yocto y 10^{-24} \end{capacode} %%%% \item {\bf Derived Units:} The final part of the unit subsection is the definition of derived units. It begins with the special marker {\tt << Derived Unit >>} and consists of FOUR required fields on each line. The fields are as follows: \\ \begin{itemize} Field (1) is the unit name; maximum of 47 characters with no spaces. \\ Field (2) is the symbol representing the unit; maximum of 15 characters with no spaces. \end{itemize} Fields (1) and (2) are separated by spaces. Field (3) is the way the unit is calculated from base units or other previously defined derived units. Calculations of derived units use the standard operands for multiplication (*), division (/), and power (\verb+^+). Addition and subtraction are not allowed. Numbers can be in floating point or exponential format. The comment, field (4), is {\bf required} and begins with a hashmark (\#). \begin{capacode} # Derived Unit # name symbol unit comment # name must be in oneword <> gram g 0.001 kg # mass hour hr 3600. s # time minute min 60 s # time day day 24.0 hr # time year yr 365.24 day # time pound lb 0.45359237 kg # mass ounce oz 1.77185E-3 kg # mass inch in 2.54 cm # length foot ft 12 in # length mile mi 5280 ft # length yard yd 0.9144 m # length nautical_mile n_mi 6080 ft # length, nautical mile (UK) rood rood 1210 yd^2 # area, rood acre acre 4840 yd^2 # area, acre hertz Hz 1/s # frequency litre L 10^3/cm^3 # volume newton N m*kg/s^2 # force pound_force lbf 4.44822 N # force dyne dyn 1E-5 N # force pascal Pa N/m^2 # pressure, stress bar bar 1E5 Pa # pressure mmHg mmHg 1.33322E2 Pa # pressure, millimeter of mercury torr torr 1 mmHg # pressure atm atm 760 torr # standard atmosphere joule J N*m # energy, work, heat electronvolt eV 1.6021892E-19 J # energy calorie cal 4.1868 J # energy Btu Btu 1.05506E3 J # energy watt W J/s # power, radiant flux coulomb C A*s # electric charge volt V J/C # electric potential, electromotive force ohm ohm V/A # electric resistance, use this in /ANS ohm ohms V/A # electric resistance ohm Ohm V/A # electric resistance ohm Ohms V/A # electric resistance siemens S 1/Ohm # electric conductance farad F C/V # electric capacitance tesla T V*s/m^2 # magnetic flux density weber Wb V*s # magnetic flux henry H V*s/A # inductance radian rad m/m # plane angle degree deg 1.745329E-2 rad # plane angle (Pi rad=180 deg) steradian sr m^2 /m^2 # solid angle lumen lm cd*sr # luminous flux lux lx cd*sr/m^2 # illuminance becquerel Bq 1/s # activity (radioactive) gray Gy J/kg # absorbed dose (of radiation) sievert Sv J/kg # dose equivalent (dose equivalent index) astroUnit AU 1.49598E11 m # mean distance earth to sun \end{capacode} %%%% %%%%%%%%%%% \end{enumerate} \newpage %%%%%%%%%%% \begin{itemize} \item {\bf Note:} The coded units are interpreted in the order of basic unit, derived unit, then prefix. For example, ``T'' will be matched against ``tesla'' instead of considered the prefix ``T''. Another example is that ``min'' will match ``minutes'' instead of treated as a combination of the prefix ``m'' and units ``in'' \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{\sf Quizzer} \begin{itemize} \item {\bf Location:} The {\sf Quizzer} application can reside in any directory and can be linked to a directory within the user's path. For example, linking {\sf Quizzer} to {\sl /usr/local/bin} as was directed in the installation instructions makes the application available to all users on the machine. \item {\bf Function:} The major functions of the {\sf Quizzer} application are: \begin{itemize} \item Create and edit problem set files (for homework, quizzes, and exams), named {\sl set1.qz}, {\sl set2.qz}, etc. which contain ASCII text only. \item Edit existing question files in ASCII text. \item Calculate and preview the answers generated by the problem set code. \item Preview the resulting problem sets in the following three modes: \begin{enumerate} \item Enscript Mode: See how the problem set appears to students who log into \capa\ through a terminal. \item Tex: Preview the \LaTeX\ typeset. \item Web: Preview the resulting problem set showing the coded HTML flags. \end{enumerate} \item Create a {\sl set$x$.dvi} and view an image of the printe student problem set. \item Generate the database file ({\sl set$x$.db}) which contains the time constraints on the availability of the problem sets to students for a given assignment. Each problem set must have an opening-date, a due-date, and a date when answers are available. \item Print the problem set(s) for a student, for one or more sections, or for the entire class. (We recommend printing the \capa\ ID on student papers. The {\sl HWTop} file included in the distribution does this already.) \item Analyze set: This gives the low end, high end, and distribution of answers for problems in a set. This can be done for all students in a class or for a random sample of students. \end{itemize} \item{\bf Mandatory Files}: {\sl set1.qz}, {\sl TeXheader}, {\sl TeXfooter}, and {\sl classl}. \begin {itemize} \item {\bf set$x$.qz}: Problem set files are the files containing the coded problems created by the instructor for each given assignment. They are labeled {\sl set1.qz}, {\sl set2.qz,} etc. There is a limit to 99 problem sets for each class. \item {\sl TeXheader} and {\sl TeXfooter:} These files specify the information needed by the \LaTeX\ formatter to create the document for printing. \item {\sl classl}: The class list file for each course using the system is the {\sl classl} file. The maximum number of students in one class is 4096. The format of the entries in the class list file is strict and must correspond exactly to that in the following example. \newpage \begin{capacode} 123456789012345678901234567890123456789012345678901234567890123456789012345... nsc 121 001 A12345678 Albertelli, Guy II albertel@pilot.msu.edu nsc 121 001 A23592320 Berryman, Felicia V. berryma5@pilot.msu.edu nsc 121 001 A73336318 Kashy, Edwin N. kashy@nscl.msu.edu nsc 121 001 A87654321 Student, Jaimie . \end{capacode} {\bf Note:} The first row of digits is {\bf not} part of the file but is given here to locate the information in the file. \begin {itemize} \item The fields used by this system are: \begin{enumerate} \item Section number which appears in columns $11$ to $13$ \item Student Number in columns $15$ to $23$ \item Student Name in columns $25$ to $35$ \item Student Email in columns $61$ to $101$ \end{enumerate} The maximum number of characters in the Student Name field is $30$. The course acronym and number (in columns $1$ to $10$) are not used by the system, but are convenient for recordkeeping. The format of the file must be exact. The section number is used for printing. \item Each line, including the last line, must end with a carriage return. \item The period (.) added for students with no middle names has facilitated importing \capa\ summaries into some spread sheet programs (i.e. Lotus) when preparing final grades for a course. \end{itemize} \end{itemize} \item {\sl records} directory: This folder must be present as a sub-directory of the class directory. {\sf Quizzer} writes the date information from {\sl set$x$.qz} in {\sl records/date$x$.db}. {\sf Capalogin} saves student input from the telnet session for {\sl set$x$} in {\sl records/log$x$.db}. {\sf Capasbin} saves student input for the web session for {\sl set$x$} in {\sl records/weblog$x$.db}. The summary information from both {\sl log$x$.db} and {\sl weblog$x$.db} is written to {\sl set$x$.db }. Both {\sf Capalogin} and {\sf Capasbin} create a {\sl set$x$} folder which contains other folders called {\sl problem$y$} if the set has a {\tt /SUBJECTIVE()} question. This folder contains files of the {\tt /SUBJECTIVE()} answer essays with student numbers as their names. The duration of student telnet sessions is saved in the file {\sl records/duration.db}. As students login via telnet, a file named {\sl active.log} is created. It is used to limit the number of concurrent telnet sessions per student. Also created are two files, {\sl submissions$x$.db} and {\sl websubmissions$x$.db} which records all student entries. For a 500 student class having 11 assignments you can expect this directory to grow to approximately 35Mb in size. \\ \\ The above files are also used by {\sf Grader} and {\sf Manager} for generating statistics and summaries. \item {\sf Qzparse} is an application separate from from {\sf Quizzer}. It's functions though can now be done using {\sf Quizzer} in \capa\ 5.0. \begin{itemize} \item {\bf Functions}: {\sf Qzparse} can be used to generate the .tex files needed to prepare problem sets in a batch mode without using {\bf quizzer}. It can create one output file for an entire section or a multiple number of sets for a given student. The output file can then be processed by \LaTeX\ and {\sf Dvips} to produce a postscript file for printing. The options of {\sf Qzparse} are displayed by typing {\tt qzparse -h}. \begin{capacode}capa2.nscl.msu.edu> qzparse -h USAGE: qzparse [ -[T|H|A][a|b] ] [-Sec [n|n:m] | -Stu sn [-o filename] ] [ -Set [n|n:m] ] [-c path_to_class] [-d outputdirectory] Example 1: qzparse -Tb -sec 2:3 -set 2:5 will generate tex files with both questions and answers for sections 2 to 3, sets 2 to 5 Example 2: qzparse -Ha -stu A12345678 -set 3 will generate html files with answer only for student A12345678 set 3 -T = tex mode -H = html mode -A = ascii mode = default question only a = answer only b = both question and answer -Sec 3 = for section 3 -Sec 3:7 = from section 3 to section 7 -Stu A12345678 = for a specified student -Set 1 = output set 1 -Set 3:4 = output from set 3 to set 4 -c class_path -o output_filename_with_absolute_path (only for a student) -d directory_to_create_files_in (default is class_path/TeX) -------This is version 5.0.3 @ 11:23-Apr-07-1999 ------------------------------------------------------ \end{capacode} \item Examples: \begin{enumerate} \item For preparing TeX files for set 4 papers for all students in sections 1 thru 45: \\ {\tt qzparse -T -sec 1:45 -set 4 } \item For preparing papers which only contain the answers of a particular set for all students in section 3: \\ {\tt qzparse -Ta -sec 3 -set 4} \item For preparing set 1 thru 5 for a student with student number A87654321:\\ {\tt qzparse -T -stu A87654321 -set 1:5 } \item For preparing set 1 for a student with student number A87654321, with the output file {\sl A87654321.tex} placed in the {\sl /usr/users/teacher} directory.\\ {\tt qzparse -T -stu A87654321 -set 1 -d /usr/user3/teacher} \end{enumerate} \item {\bf Files}: {\sf Qzparse} uses the same files as {\sf Quizzer}. In addition, running {\sf Qzparse} will create a {\sl TeX} sub-directory in the class directory. {\sf Qzparse} will write output files such as {\sl section1-set1.tex} or {\sl a87654321.tex} to this directory. The {\sl .tex} files must be passed through \LaTeX\ and the {\sf dvips} codes to make postscript files for printing. (See guided tour of {\sf Qzparse} for explanations on how this is accomplished.) \end{itemize} \end{itemize} % \subsection{{\sf Capalogin}, {\sf Capahtml}, and {\sf Capasbin}} \begin{itemize} \item {\sf Capalogin} \label{capalogin} \begin{itemize} \item {\bf Function}: The main function of the {\sf Capalogin} code is to handle remote sessions of the students who access \capa\ with VT100 terminals. The code is run instead of a UNIX shell in order to allow large numbers of students to easily login while controlling their access to the data files. {\sf Capalogin} queries active.log if the student is already logged-on in this class. If the student is already logged in, then a warning message is sent (see below) and the student is allowed in to the system. If the student has opened 2 sessions without exiting properly, the student is not allowed into the system and is sent a different warning message. \item {\bf Files:} The instructor can send general information to the entire class by typing messages into certain files. The login-specific files, {\sl welcome.msg} and {\sl goodbye.msg}, (and if needed the {\sl help.msg}, {\sl second-login.msg}, and {\sl third-login.msg}), can be edited to send information to students, reminding them of deadlines or of exam dates, telling them to disregard a particular problem (when a serious error has been made in coding), etc. Note that the instructor can code hints and explanations for individual problems directly in the set$x$.qz files. Files and their functions are listed below: \begin{tabbing} 123456789012345678 \= 12345\=67890 \kill {\sl welcome.msg} \> $\Rightarrow$ The message displayed to the student upon login. \\ {\sl help.msg} \> $\Rightarrow$ The message displayed when the student selects the menu item {\tt Help}. \\ {\sl goodbye.msg} \> $\Rightarrow$ The message displayed after a student selects menu item {\tt eXit}. \\ {\sl second-login.msg} \> $\Rightarrow$ The message displayed when a student already is logged on and \\ \> tries to begin a second session.\\ {\sl third-login.msg} \> $\Rightarrow$ The message displayed when a student already is logged on twice \\ \> and tries to begin a third session.\\ {\sl capa.config} \> $\Rightarrow$ Controls the functions as described in the {\sl capa.config} section.\\ \end{tabbing} \end{itemize} \item{\sf Capahtml} \begin{itemize} \item {\bf Functions}: The major functions of {\sf Capahtml} are to: \begin{itemize} \item Authenticate the student number and \capa\ ID entered by the student and generate the main menu page after verifying them. \item Produce the page that contains the corresponding problem set when a student selects ``Try current set'' button from the main menu page. \item Display a summary of student grades when ``Term summary'' button is selected. \end{itemize} \end{itemize} \item {\sf Capasbin} \begin{itemize} \item {\bf Functions}: The major functions of {\sf Capasbin} are to: \begin{itemize} \item Check the correctness of answers submitted by the student. \item Give the appropriate response to a student's entry and display the correct answer when the entry is satisfactory. \end{itemize} \end{itemize} \end{itemize} \subsection{\sf Grader} \begin{itemize} \item {\bf Functions}: The major functions of {\sf Grader} are to: \begin{itemize} \item Display a summary of student grades and \capa\ ID numbers for any problem set. \item Generate the reports found in the {\sl records} directory. \item Grade subjective answers, such as essays entered in through the \capa\ system. \item View a summary of a students login file (the problems correct vs. incorrect) with their \capa\ ID for that set. \item Grade hand-graded problems for a student while viewing the correct answers. \item Generate grade reports for a student, a section, or for the entire class. \item Excuse a problem for the class. \end{itemize} \item {\bf Files}: {\sf Grader} reads the {\sl classl} file and the files in the {\sl records} directory generated by {\sf Quizzer} and {\sf Capalogin} and/or {\sf Capasbin}. The reports created by {\sf Grader} are put into the class directory. The reports for the entire class are labeled {\sl ClassSet1.rpt} and reports for a section are labeled {\sl Sec1Set1.rpt}. They should be renamed if permanent records are required, i.e., a subsequent {\sl ClassSet1.rpt} file will overwrite any previous {\sl ClassSet1.rpt}. Grader also writes a file called {\sl gradingstatus} to the {\sl records/set$x$} directory. \end{itemize} \subsection{\sf Manager} \begin{itemize} \item {\bf Functions}: The following are functions of {\sf Manager}: \begin{enumerate} \item {\bf Manage Classl}. A convenient way to edit the classl file (add student, delete, sort, find, change section, merge, etc.). Don't forget to "save" after making a change. \item {\bf Scoring} Included in {\sf Manager} is a utility called {\sf Scorer} which the instructor uses to import a score report from a machine scored scantron individualized exam and grade that \capa\ generated exam where the correct pattern differs for each student. Up to 50 questions can be included in a quiz or exam. The information on the score report file is shown below: \begin{capacode} Sample format for one student, 3 capa questions Character numbers begin with zero! 0 1 2 3 4 5 6 7 8 9 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 515000012001090999003 5327 #0001 BERRYMAN F A23592320002EDEIAI 1 1 1 1 111 1 start end Example: SerialNumber { 5 8 } Exam above was the 12th exam to be scored LastName { 40 49 } BERRYMAN as last name. FirstInitial { 50 50 } F as first initial StudentNumber { 56 64 } student number is A23592320 Section { 65 67 } entered section 002 on scantron sheet CapaID { 68 73 } CapaID+ This is a six letter code which is printed on each student's exam. There is a space to enter the code on the scantron sheets (available from MSU). Here, the code was EDEIAI Question 1 { 76 85 } (starting at character 76, the student's response is recorded. Question 2 { 86 95 } The CAPA scantron form is has 10 bubbles with choices labeled Question 3 { 96 105 } both numerically and alphatically 1 through 10 and A through J. ..... Question 50 {566 575 } Each question is 10 columns and there are 50 possible questions. Each column for a question must have either a space or a 1 1 means it was marked, space means it wasn't. \end{capacode} Scorer puts the results of the scoring into a setX.sb file which the user may view to acertain that the scores are reasonable. The user can have the code also write the file to setX.db, at which time the students may see their grades. \item Print one or more assignments for a student without having to open the {\sl set$x$.qz} file in {\sf Quizzer}. You can choose the student by either name or student number. \item Randomize a user made seating file for assigned seating in exams. \item Use {\sf Manager} to access {\sf CapaUtils 1.1} which performs the following functions: \begin{enumerate} \item View summarized log files. \item Run statistics on a set. \item Generate a student course profile which summarizes all data from the class, exam, quiz, supplementary, and others paths. \item Get \capa\ IDs for one student or the entire class. \item Analyze the problems in the set and see how each problem discriminates between the upper and lower percents of the class, the correlation between different problems, and what degree of difficulty each problem had for your class. \item View the exact submissions a student enters into a telnet and Web session. \item Analyze a class report generated in grader and view the distribution of correct verses incorrect. \item Analyze and generate the output generated by scorer. \end{enumerate} \end{enumerate} \item {\bf Files}: {\sf Manager} reads the classl file, instructor generated seating files, and files generated from machine scoring. {\sf CapaUtils} reads report files in the class name directory and files found in the {\sl records} directory. \newpage \item An older version of {\sf CapaUtils} can be accessed through a terminal. \begin{footnotesize} \begin{verbatim} capa2.nscl.msu.edu> capautils.pl USAGE: capatools.pl -c Full_path_to_class Please enter the CLASS absolute path: /usr/users/teacher/CAPA5/nsc121s9 +-----------------------------------------------+ | Welcome to CAPA Utilities Ver 1.0 | +-----------------------------------------------+ +------/usr/users/teacher/CAPA5/nsc121s9--------+ | | | 1: Change class path | | 2: Run capastat | | 3: Log analysis on Y, N, S, U, and u | | 4: Student course profile | | 5: CAPA IDs for one student | | 6: All CAPA IDs | | 7: Item analysis | | 8: Item correlation | | 9: Print assignment(s) for a student | | 10: View submissions for a student | | 11: Quit | | | |SELECT: | +-----------------------------------------------+ \end{verbatim} \end{footnotesize} \item \capa\ IDs can also be generated through the terminal using the function {\sf AllCapaID}. \begin{footnotesize} \begin{verbatim} capa2.nscl.msu.edu> allcapaid -h USAGE: allcapaid [-s start-set] [-e end-set] [-stu student-number] [-c class-dir ectory] [-d output-directory] [-h] [-i] [-sec [n|n:m]] start-set : default 1 end-set : default 10 student-number : no default class-directory : no default output-directory: class-directory/capaID -Sec 3 : for section 3 -Sec 3:7 : from section 3 to section 7 -i : don't create files, print to the screen -h : prints this message CAPA version 5.0.3, 11:23-Apr-07-1999 \end{verbatim} \end{footnotesize} \end{itemize}