resource.opendate #unix time of when the local machine should let the #student in resource.duedate #unix time of when the local machine should stop #accepting answers resource.answerdate #unix time of when the local machine should #provide the correct answer to the student resource.weight # points the problem is worth resource.maxtries # maximum number of attempts the student can have resource.tolerance # lots of possibilities here # percentage, range (inclusive and exclusive), # variable name, etc resource.significantfigures # one or two integers resource.feedback # at least a single bit (yes/no) may go with a # bitmask in the future resource.partid.solved # if not set, problem yet to be viewed # 0 == incorrect and attempted # 1 == correct by student work # 2 == correct, instructor override # -1 == incorrect, instructor override # E == excused, problem no longer counts for student resource.partid.tries # positive integer of number of unsuccessful attempts # made, malformed answers don't count if feedback is # on resource.partid.awarded # float between 0 and 1, percentage of # resource.weight that the stundent earned. resource.partid.submissons # list of all of the student submitted strings for all of # answers in the part resource.partid.awarddetail # list of all of the results of grading the submissions # in detailed form of the specific failure All of these attributes can appear as resource.attribute.partid for multipart problems