RaleighDesignNotes

From WeBWorK_wiki
Jump to navigation Jump to search

Database design notes

Data Objects

==

INSTITUTION: groups together courses (e.g, UBC Math Dept)

COURSE: (e.g. Math 100)

  * has PROBLEM SETS

SECTION: (e.g. Math 100/Section 1A)

  * belongs to a COURSE
  * inherits problem sets from a course
  * overrides due dates
  * has list of USERS (students, profs, ta's)

USER: agent identifying a human agent interacting with WeBWorK

  * has a unique userid
  * may have different roles in different courses/sections
  * has password or other authentication credentials
  * contact information?

PROBLEM-ASSIGNMENT: an instance of a problem in an assignment

  * has weight
  * has number of attempts
  * has preamble, postamble
  * has parent (to allow hierarchy)

PROBLEM-SET: a named collection of PROBLEM-ASSIGNMENTs (e.g. homework or quiz)

ASSIGNMENT: an association of a USER with a PROBLEM-SET

  * has open and close dates
  * has type (HW, quiz)
  * has random seed
  * can be over-ridden by a different PROBLEM-SET

GRADE:

  * record of a student interaction with a problem from an assignment
  * records present answer and past attempts

SETTINGS:

 * System wide
 * Institution wide
 * Course specific
 * Section specific

LOG: a record of significant events

 * examples: assignment created, assignment opened, student added, student dropped, course created, grade changed, 
     configuration changes, etc.
 * System wide
 * Institution wide
 * Course specific
 * Section specific