Data model
Jump to navigation
Jump to search
User
- User #atom
- username
- tags
- contact/personal info
- authentication information
- role
- addCourse() #behavior
- joinTeam(course,teamID) #behavior
- getTeams() #behavior
Team
- Team #atom --- "group of users that act as one"
- student (list)
- description
- course
- clone() #behavior
- getMembers() #behavior
- Team/User #relationship
- Status --- "Active/inactive"
Course
- Course #atom
- descriptive information --- "some or all may actually be top level"
- professor
- term
- start date
- end date
- conf
- state --- "open/closed"
- addUser() #behavior
- Course/Participant #relationship
- tags
- overrides --- "start date, end date, state, etc."
- status --- "active/inactive"
- getSets() #behavior
- addSet() #behavior
- description
- getType #behavior
- Course/User #child-class
- role --- "referenced by name?"
- getGrade() #behavior
- getTeams() #behavior
- Course/Team #child-class
- role
Set
- Set #atom
- Descriptive Info
- name
- etc.
- tags
- getProblemPoolList() #behavior --- "enumerated"
- versioning information --- "this can be templated?"
- strategy name
- required strategy data
- grading Information --- "this can be templated?"
- strategy name
- required strategy data
- Course/Set #relationship
- Due/Assignment/Answer Date Info
- overrides for set data --- "any field from set can be over ridden"
- IP Restriction Info
- getAssignedParticipants() #behavior
- tags
- Course/Set/Participant #relationship
- overrides for set course data --- "any field from course/set can be over ridden"
- tags
- state --- "working/done"
- getSetGrade() #behavior
- Course/Set/Participant/Problem Pool #relationship
- current grade
- getCurrentProblemInstance() #behavior
- getNewProblemInstance() #behavior
- incorrect attempts --- "int"
- correct attempts --- "int"
- number of instances --- "the number of times getNewProblemInstance has been called"
- Course/Set/Participant/Problem Pool/Attempt #relationship
- time
- score
- tags
- problemInstance --- "all information required to faithfully recreate the problem"
- Descriptive Info
Problem
- Problem #atom
- id
- PG info --- to be expanded
Role
- Role #atom --- "global immutable sysadmin role included"
- Permissions
- Name