Web Homework System Logo, Math Sciences, UK Web Homework System
     About the system...

The WQS programs are designed to offer on-line homework for students which are automatically graded, recorded, returned to the student(s) and to allow them to respond to the instructor about the graded quizzes via e-mail. The questions, answers and key are maintained by the instructor and support both text-based as well as HTML-based formats.


From the students' view...

Students will need to obtain a login ID and password from their instructor and access the main WQS web-page.

The typical usage sequence is as follows:

  1. Students connect to the system with a web browser authenticating themselves with the login ID and password established for their work in a particular class. Information about the student such as their e-mail address and record of their homework scores is kept on a per account basis and is secured only by the account password.
  2. From the main page the student can select their homework assignment, review their homework scores, browse homework for other classes, as well as do such things as change their e-mail address and/or password.
  3. The selected quiz is presented to the student. Students can either print out a copy to work on off-line or can select multiple choice answers. Instructors often include video clips of solutions of similar problems; these can be viewed as supplements to particular problems. The student may review and/or change the answers before clicking the SUBMIT button.
  4. The system grades the quiz and presents the results to the student. The results include a description of each problem, the answer chosen by the student, an indication of whether or not it is correct and the correct answer. The instructor can also arrange for additional comments specific to the particular answer that the student selected. It also records the grades for each user and sends an e-mail report to the student.

    After each question, a comment area is provided to allow the student to respond to the specific question's results. (For example: "I thought the answer was 'C' because I tried to solve the problem using Chaney's Proof by Ridiculous Comparison Method.   What should I have used?")

  5. Finally and optionally, clicking the SUBMIT button will send a copy of the comments to the instructor as well as to the student.


  6. Note, a more complete discussion of the data is available here.

    From the instructor's view...

    The WQS configuration is based on a data file which is a plain text file that looks like this:
    	E1: chaney@ms.uky.edu
    	F1: /u/disk3/staff/chaney/public_html/wqs/sample
    	U1: http://www.ms.uky.edu/~chaney/wqs/sample
    
    	Q1: What do you think of this system?
    	(Hint -  The right answer is A3: with a colon)
    	R1: A3
    	A1: I like it just the way it is
    	A2: I do not like it at all
    	A3: It is too soon to tell but I'll let you know what I think later
    	
    	Q2: {include:q2_1.html}
    	R2:  A1
    	A1: Answer 1
    	A2: Answer 2
    	A3: Answer 3
    	A4: Answer 4
    	A5: Answer 5
    

    Notice that the general format of each line is:

    tag : information Where: tag is an indicator of the type of information on the rest of the line. Each tag is a single character followed by a number.
    Examples of supported tags include:

      -- Simple text questions, answers and which one is the right answer

    • Q1: - The text of question number 1.
    • R1: - Which answer is right for question 1.
    • A1: - The text of answer 1 for the question.
    • A2: - The text of answer 2 for the question.
    • A3: - The text of answer 3 for the question.

      -- Questions with explanatory sentences associated with each answer.

    • Q2: What is the square root of 81?
    • R2: A3
    • A1: 40.5
    • P1: No, 81/2 = 40.5 but the square root deals with multiplication
    • P1: and division, not just addition and subtraction.
    • A2: 6561
    • P2: No, 81 * 81 = 6561 but that is 81 squared. The square root
    • P2: "goes the other waay", so to speak. 81 is the square root
    • P2: of 6561.
    • A3: 9
    • P3: Right!
    • A4: 3
    • P4: No, 3 would be the 4th root of 81 because 3*3*3*3 = 81

      -- Questions which include files such as HTML code.
      To include files, you must have one F1 and one U1 in the data file! ( Maple users, see the notes below! )

    • Q3: {include:quest3.html}
    • R3: A2
    • A1: {include:q3_ans1.html}
    • A2: {include:q3_ans2.html}
    • A3: {include:q3_ans3.html}

      -- General information lines
      Each of these lines should be used only one time, the numbers associated with each line is required but not significant.

    • E0: E-mail address of the instructor(s) (One line per file)
    • F0: The full pathname to the location of the (HTML) files.
      This directory must be accessible by the WWW server and match the U line below.
    • U0: The full web address to the location of the (HTML) files.
      This URL must be accessible by the WWW server and match the F line above.

    Obviously each Q line must have an R line and at least two A lines. Expanding on answers (via P lines) is optional.

    Each data should have an E line to allow students to submit their comments back to the instructor(s).

    If files (such as HTML files) are to be included, there must be a U and F line pair in the datafile.

    Each quiz will have a data file associated with it. The name and location of each quiz's data file must be registered with the administrator of the system, along with the student information. These issues are discussed below. To build a text quiz in a datafile, just follow a straightforward outline, such as:

    E1: chaney@ms.uky.edu
    
    Q1: Which of the following is not considered a primary color?
    R1: A2
    A1: Blue
    A2: Black
    A3: Yellow
    A4: Red
    
    

    From the Maple user instructor's view...

    Maple can generate HTML files but makes heavy use of images which are included as relative HTML links. This makes the use of Maple-generated HTML files a little tricky.

    1. Make the questions up in a maple worksheet
    2. Export the questions as HTML into individual files, naming them Q1_ for question 1, Q2 for question 2...Q11_ for question 11, etc.
      This is necessary because Maple generates individually named files by appending a 1, 2, ... 10, 11, 12... onto the base filename which would allow Q11.html (for Question 11) to be over-written by a supporting file for question 1 (Q11). Make sure each HTML filename ends in an underscore, to play it safe.
    3. Export each of the answers as individual HTML files, to allow the system to identify the answers more easily. Use the same underscore filenaming convention as above, such as Q1_A1_ for Answer 1 of question 1, Q1_A2_ for answer 2 of question one, etc.

      You may export all of the HTML to the same directory and the generated images may all go (automatically) into the same 'images' subdirectory.

    4. In a directory that you have verified with the WQS administrator, create the data file, making sure that you:
      • Place the HTML files in a WWW-readable location, such as a subdirectory within your public_html directory.
      • make the directory, the images subdirectory and all files world-readable. (The unix command for this is: chmod 755 [filename/dirname] )
      • include an E: line with your email address
      • include an F: line which is the pathname to the directory used above
      • include an U: line which is the URL to the directory above.

        Example: If my Maple HTML files are in ~chaney/public_html/wqs/dan, the appropriate entries in the data file would be:

        U: http://www.ms.uky.edu/~chaney/wqs/dan
        F: /u/disk3/staff/chaney/wqs/dan
        
        Furthermore, I would have made sure I had executed the following commands:
        chmod 755 ~chaney/public_html/wqs/dan
        chmod 755 ~chaney/public_html/wqs/dan/*
        chmod 755 ~chaney/public_html/wqs/images/*
        
      • Test the setup by making sure you can read the Q1_1.html file from the web. Note that q1_1.html is the Maple-generated file containing the data from Q1_ (or Question 1, following our convention) and the images should be included correctly.

        Trouble spot: If the images are not showing up at this point, you may have an upper/lower case problem with the exported Maple files. Maple generates images in the images/ subdirectory with q*.gif filenames and refers to them as IMG SRC="images/q*.gif" in the HTML code. In the export or transfer process, the case of the Q*gif files may have been changed which can result in broken image links. Check the case of the images called fr in the HTML source against the filenames in the images directory. If there uis a discrepancy, change the filenames in the images directory. This will be a pain if the HTML code is looking for Qblah.gif (not the uppercase Q and the lower case gif.) If you need to change just the q to Q, try something gross like:

            ls q*gif | awk '{ print "mv " $1 " " $1 }' | tr q Q | sed -e s/Q/q/ | sh
        
      • Assuming everything is working fine to this point, just add the appropriate entries into the data file, such as:
        		Q8: {include:q8_1.html}
        		R8: A3
        		A1: {include:Q8_a1_1.html}
        		A2: {include:Q8_a2_1.html}
        		A3: {include:Q8_a3_1.html}
        		A4: {include:Q8_a4_1.html}
        
        Note that for Question8, we actually use q8_1.html as opposed to the q8.html file you may find in the directory. The q8_1.html file should contain the non-frames version of the HTML exported Maple file. If this is not the case, well, that's why we love Maple.


      From the administrator's view...

      There are four CGI scripts in the WQS as well two support perl files. We'll look at the Perl files first, since they are common across the CGI scripts. The first one is cgi-lib.pl. (pause) Okay, we've spent enough time on that one. The next one is readit.pl and it contains a lot of tweakable variables:
      • ADMIN - Set this to the name and/or email address of the WQS admin.
      • ADMIN_MAILTO - Set this to the URL link to send the ADMIN mail
      • WQSDIR - The pathname to the scripts herein discussed
      • WQSURL - The URL to reach the WASDIR from the web
      • PWDFILE - The full path to the WQS password file. This should not be stored in a web-readable place but should be readable by the WWW system if user-UID CGI isn't supported.
      • CLASSFILE - The full path to the WQS class list. This should probably be in the same location/setup as the PWDFILE.
      • LOGDIR - This should be a WWW-writable directory used to store per-user logfiles, which will include everything from scores to timestamps logged in to comments submitted after quizzes.

      Now the scripts themselves:

      • login.cgi
      • doit.cgi
      • gradeit.cgi
      • mailit.cgi
      These files are documented and I've run out of steam. Caveat administrator.

    Update as of Thu Jan 14 01:45:04 EST 1999

    From: Web-based Quiz System at Math Sciences 
    Subject: Latest changes to WQS
    To: wqs-users@ms.uky.edu
    Date: Thu, 14 Jan 1999 01:30:45 -0500 (EST)
    
    
    [ If you are getting this message, you are on the wqs-users@ms.uky.edu list.
      If you want off, send a note to Dan Chaney (chaney@ms.uky.edu) -dan ]
    
    Latest changes to the WQS system, as of Thu Jan 14 01:25:37 EST 1999:
    
    - The WQS system has moved to a new place:
    	URL  	http://www.ms.uky.edu/~wqs
    	Email	wqs@ms.uky.edu
    
    	To login, visit http://www.ms.ukyk.edu/~wqs/login.html
    
    - The login screen has changed in a few ways:
    
    	   There is now a guest user account, per Dr. Kubota's suggestion.  
    	   It simply uses the password 'guest' as well.  The idea of letting 
               someone enter a mail id and later actually sending email there 
               struck me as too bold.  The note at the top of the login screen is:
    		"You should obtain a login and password from your instructor. 
    		 If do not have a login/password, you may temporarily use the 
       		 login ID guest along with the password guest. 
          		 NOTE! Students should not use the guest account if they 
    	 	 need proof of usage."
    
    - Multiple classes are now (more easily) supported.
    
    	The login screen now asks for only three things:
    		1. Login
    		2. Password
    		3. Class.  The current options for class are:
    			- Watch video lectures
    			- Register as a new user
    			- MA123 -- Dr. Eakin's sections
    			- MA123 -- Dr. Eberhart's sections
    			- CS470 -- Dr. Kubota's sections
    			- MA193 -- Dan Chaney's test quizzes
    
    	   After successfully logging in, a list of quizzes for
    	   that course is put on the screen.  The student may choose
    	   one of those, click "Proceed" and take their quiz.
    
    - A new file (wqs-dirs) allows instructors to post quizzes automatically
    
    	   Per Dr. Eakin, each class now has a control file which is
    	   to be maintained by the individual instructor for a course.
    	   This file, called wqs-dirs, lists two items of info per line:
    		Quiz Name, Quiz file location
    
    	   The first field (Quiz Name) is what is listed in the email
    	   and on the 'quiz selection' screen, (#2 above) and is 
    	   separated from the second field by a comma, so don't use
    	   commas anywhere else in this file. :-)
    
    	   The second field is the DIRECTORY which contains the actual
    	   quiz data file.  Thus, the system will look for a file called
    	   'data' wherever this second field points.  Recall, the 'data'
    	   file holds the info about the quiz questions and answers.  The
    	   control file just tells WQS where to find that file for a given
    	   quiz.  Keep in mind, if this entry is wrong, the students get an 
    	   error message which asks them to send an email message both to 
    	   me as well as the instructor.
    
    	   Each instructor will maintain his/her own wqs-dirs file.  They
    	   are currently expected to be found in the following locations
    	   but can be changed (one time only, please) if you like:
    
    			MA123-001 Paul Eakin 	/u/disk2/ma/paul/dolts
    			MA123-002 Carl Eberhart	/u/disk13/ma/carl/dolts
    			CS470     Ken Kubota    /u/disk5/staff/ken/wqs 
    			MA193     Dan Chaney    /u/disk3/staff/chaney/wqs
    	
    
    	So, as an example, suppose Carl wanted to use this system.  He would:
    		1. Make ~carl/dolts, if it isn't already there
    		2. Create the ~carl/dolts/wqs-dirs file, which would list
    		   all of the quizzes he has ready.  For example:
    			Quiz 1, /u/disk13/ma/carl/dolts/quiz1
    		3. Next,  create ~carl/dolts/quiz1, if necessary
    		4. Make ~carl/dolts/quiz1/data, which would list all of
    		   the questions and answers for quiz 1, such as:
    			Q1: Do you like Calculus?
    			R1: A1
    			A1: Yes.
    			A2: No
    			A3: I plead the fifth
    
    			F1: /u/disk13/ma/carl/public_html/quiz1
    			U1: http://www.ms.uky.edu/~carl/quiz1
    			Q2: {include:q2_.html}
    			R2: A2
    			A1: {include:q2_a1_.html}
    			A2: {include:q2_a2_.html}
    			A3: {include:q2_a3_.html}
    			A4: {include:q2_a4_.html}
    
    		5. Assuming his Maple files are in ~carl/public_html/quiz1
    		   and readable from the web (this is necessary because Maple
    		   will make web references to the included pictures, btw),
    		   he would be able to test the system by:
    			- going to the WQS login page
    				http://www.ms.uky.edu/~wqs/login.html
    			- Choosing his class (MA123-015) and logging in
    			- Noting the new quiz entry and choosing it
    			- Making sure the quiz appears as he expects
    			- Sending a note out to his vict...students.
    
    	That's the long and short of it.  Okay, the long of it.  The short 
    	of it is: maintain your wqs-dirs file, make a data file for each quiz 
    	and things should work okay.  If you use maple, make sure the HTML 
    	and GIFs are in a web accessible (i.e.,: ~/public_html) subdirectory 
    	and the E1: and U1: lines correspond to it.
    
    - A registration screen is now available. 
    
      The registration screen (http://www.ms.uky.edu/~wqs/register.html) asks
    the student for their first and last name, their class and their email 
    address.  It offers them a tenative loginID and password but it WON'T work
    until I add them into the main passwd file.  The instructor will receive a
    copy of the request via email, please verify it so I can be sure the student
    actually exists.
    
    -dan
    
    

    Update as of Wed Jan 20 21:29:36 EST 1999

    
    - The sorting option on the quiz list has been turned back on.
      If you need to force an order to your quizzes that is non-alphabetic,
      put a number at the beginning of the quiz name in wqs-dirs to produce
      the order you desire.  I no longer have the time to chase that bug
      down right now and some kind of order is better than none at all.
    
    - Text lines (Tn:) lines have been added to the data file to allow
      text to be presented before each question.  T1: lines will be displayed
      immediately before the Q1: lines, T2: lines before the Q2, etc.  If you
      only wish to have a 'header' to your quiz, just use a T1: line at the
      top which includes several <P> markers to separate it from the first 
      question.
    
    - Quiz results are now sent only to the students, not the instructors.
      Comments on the quizzes still go to both instructor and student(s).
      Both are recorded in each user's log file.
      
    - Ungraded quizzes, a possible oxymoron, are now supported.  We'll call
      them surveys.  Surveys will use the same data file format as quizzes
      but will be distinguished as surveys in the wqs-dirs file.  To make a
      survey, follow the process you normally do for a quiz data file.  When
      you add the line in the wqs-dirs, append a ",survey" much like you did
      for the "hidden" instructor-only quizzes.  Surveys will be marked with
      a green "Survey" on the quiz selection screen.  If you want to test a
      survey, just append ",hidden survey" at the end of the appropriate 
      line in wqs-dirs.
      
    - The logging routines have been completely re-written.  Some students 
      were using the system while the changes were being phased in but after
      midnight, everyone should be logging pretty much the same.  
    
      The format of the log file line is:
    		[TIMESTAMP][PID][LOGTYPE]: Text of log entry
    	Where:
    		[TIMESTAMP] is month/day/year-hour:minute:second
    		[PID] is the process ID of the CGI script
    		[LOGTYPE] is one of the entries detailed below
    			(RESULT, COMMENT, etc.)
    		and the remainded of the line is the text of the
    		log entry.  The text will follow a format detailed below.
    
      On a per-user basis, the following LOG entries are made and timestamped:
    
    	LOGIN: From [dan8.msext.uky.edu] as part of [dan,jim,betty,lou]
    		Indicates the user has successfully logged in from
    		dan8.msext.uky.edu (may also be an IP number if the
    		remote machine's nameserver entries do not include
    		reverse lookups or it may be null if the browser
    		doesn't pass the data) and logged in as part of a group
    		which included the users dan, jim, betty and lou.
    
    	SELECTION: Viewed MA123-005-QUIZ 5
    		This indicates the the user started looking at quiz 5.
    
    	GUEST_NAME: Dan Chaney
    		This indicates that the guest account was used and
    		that the user typed in the name of "Dan Chaney" before
    		submitting their answers.
    
    	SCORE: [MA123-005,Quiz 1] Ques: 10, Ans: 5, Right: 2
    		This indicates that the user answered 5 of 10 questions,
    		only two of them correctly.
    
    	RESULT: [MA123-005,Quiz 1] 22: Missed.  Answered 4.
    		Indicates a student in MA123-005 took Quiz 1 and
    		missed question 22 by choosing answer 4.
    
    	RESULT: [MA123-005,Quiz 1] 23: Right.  
    		Indicates a student in MA123-005 took Quiz 1 and
    		correctly answered question 23.
    
    	COMMENT: [MA123-005,Quiz 4] feedback-Q5: [I hate this question!]
    		Indicates a student in MA123-005 took Quiz 4 and
    		responded to question 5 with "I hate this question!".
    		Note, the comment field may include newlines (^M).
    
    	SURVEY: [MA123-005,Survey 6] 
    		Indicates user is looking at Survey 6 in MA123-005 
    
    	RESPONSE: [MA123-005,Survey 6] Q6: A5
    		Indicates user responsed with answer 5 to question 6 of
    		Survey 7 in MA123-005.
    
    This concludes this development cycle of WQS.  The next development cycle
    is not scheduled to begin until February.  Thank you and goodnight.
    -dan
    
    Thu Oct 14 16:58:56 EDT 1999
    
    Just because Ken knew I was getting things done....he asked me for an addition.
    
    The system now supports the use of an L: line in the data file, similar to the
    T: line, which appends text to a question (after the answers are put up)
    
    Much like text following Tx: lines is prepended to the question, Lx: lines
    will be appended to the page *after* the questions.
    
    -dan