Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

4.3 Gradebook/Attendance API

Note

TODO Robin, also mention calendar events (or leave me a place to do so)

Offers advanced grade management options, integrated student photos, recitation and section support. The latest release of this module integrates the newly designed Assignments component, which integrates on-demand assignment creation and submission capabilities within the Gradebook Module interface. 

Attendance Module: provides a centralized means for tracking and grading student attendance via a customizable calendar.

 

4.3.1 Example

 

...

The Gradebook API is organized around objects including Gradebook, Assignment, Student, Grade.

Gradebook:

Gradebook is the overarching object by which all other objects are contained.

 

Assignments:

There is a hierarchy of assignments within a gradebook.

SimpleAssignment:
The most fundamental is a simple assignment which maps to an actual class assignment. Simple assignments can be simple holders of grades, or they can be homework assignments, and have associated materials stored in the materials service, including student submissions.

GradingSchemes on simple assignments: assignments can be set to us numeric grading schemes, letter grading schemes, or in the case of homework assignment, arbitrary values or phrases.

 

AssignmentCategories & Root Assignment:
SimpleAssignments are grouped by AssignmentCategories. The root assignment in a gradebook is parent to all categories, and is where the student's overall grade is stored. The rules by which grades for categories and the overall grade are calculated are determined in part by AssignmentAggregation settings -- e.g. they can be weighted average, normalized average, or numeric totals.

Assignments as calendar events: when assignments are created or updated, there is background communication with the calendar api, so that this information shows up on user calendars.

 

Students:

Calls to get students get basic student information, and can also get overall grade information, and assignment grade information (one or all assignments, one or all students).

 

Groups:

Gradebook group information, including staff and students, is gotten from the membership service. Most calls can be limited by section, adding /section/{groupId} to url, e.g. /assignments/{gradebookId}/section/{groupId}

Grades:

Grades can be set manually on student-assignment pairs. They are by default derived as you move up the assignment hierarchy (ie, category grades, and overall grade), though these also have the option of being manually set.

The grading scheme associated with the assignment determines the types of values that should be submitted (e.g. numeric, letter).

At the assignment level, grades are associated with submissions on assignments. This means that a "make-up" grade can be a set as a second submission, and will be taken as the grade. Only one submission is marked as default -- the most recent, unless otherwise set.

 

ExcelExport/ExcelImport:

There are a several calls that allow the export of information to excel, and some of which allow the import from excel to update information in gradebook.

 

Timeline:

The timeline calls are used by the you@lmod UI, which is replacing the you@Stellar interface. This provides remidners and notifcations such as assignments being due or posted, restricted by date range provided

 

4.3.1 Examples

To test these calls, you must login via touchstone. Redirection to touchstone will not happen automatically. If using calls via resttest.html, use LOGIN link at top of page.


GRADEBOOK:
Get Gradebook
https://learning-modules-dev.mit.edu/service/gradebook/gradebook?uuid=STELLAR:/project/gb-training&autocreate=true&skipValidityChecks=false

Get/Set Gradebook options
https://learning-modules-dev.mit.edu/service/gradebook/gradebook/options/2586 (GET/PUT)


ASSIGNMENTS:
Get all assignments for a gradebook
https://learning-modules-dev.mit.edu/service/gradebook/assignments/2586?includeMaxPoints=true&includeAvgStats=true&includeGradingStats=true
Note: to get grade data, look in the get students calls; this only provides details about the assignments themselves

Get one assignment
https://learning-modules-dev.mit.edu/service/gradebook/assignment/4522?includeMaxPoints=true&includeAvgStats=true&includeGradingStats=true

Get categories for a gradebook
https://learning-modules-dev.mit.edu/service/gradebook/assignment/4522?includeMaxPoints=true&includeAvgStats=true&includeGradingStats=true


STUDENTS:
Get all students with overall grades as well as grades for all assignments. Special value of 1 is used to represent all assignments. To get information for just a single assignment, pass the assignment id where the 1 is. Leaving off assignment id altogether will get just the basic student information, and no assignment-specific grade info. includeGradeInfo determines whether or not to return the Overall Grade info for the student.
https://learning-modules-dev.mit.edu/service/gradebook/students/2586/1?includePhoto=true&includeGradeInfo=true&includeGradeHistory=true&includeDroppedStudents=true&includeGradingSchemeDetails=false&includeAssignmentMaxPointsAndWeight=false&includeCompositeAssignments=false&includeAllSubmissions=false&convertGradesToParentGradingScheme=false

 

4.3.2 Intended Use Cases

Course assigns grades to assignments.

Course assigns grades to assignments, and also provides homework assignment content, and means for students to make submissions.

PE manages attendance, and determines grades based on attendance thresholds they set.

 

4.3.3 Pitfalls
  • Membership group changes take approximately 15 minutes to propagate to gradebook.  Sometimes the first access to a gradebook in a long time will get "stale" permissions since unused gradebooks are not agressively synced to membership. This may mean that after a permission change the consuming application may need to retry a query before giving up.  The 15 minutes can be shortened if a sysadmin manually kicks off a membership sync for a group.
  • Similarly, membership user changes take approximately 6 hours to propagate to gradebook.  This is largely unnoticeable since one can always query membership for up-to-date person metadata.  The only time this would be an issue in gradebook is if a user has a new system-wide privilege change.  In this case, a new sysadmin may need to wait 6 hours to be able to do sysadmin tasks in gradebook.  The 6 hours can be shortened if a sysadmin manually kicks off a membership sync for a user.

https://learning-modules-dev.mit.edu/service/gradebook/doc.html

Test Page Link: https://learning-modules-dev.mit.edu/service/gradebook/resttest.html

 

4.4 Calendar API

The Calendar module provides a user-friendly interface for managing and displaying custom-created and time-specific events, as well as events listed on the Institute's academic calendar.

...