Service Requirements

Course Management Service Requirements

Date: May 3, 2005
Version: 6

1. Overview

The following requirements are defined for the Sakai Course Management Service. This service provides the ability to define and organize courses in a higher educational environment. These requirements were gathered from a number of sources including:

The Open Knowledge Initiative Open Service Interface Definitions

The first version of this document also includes requirements from a variety of other sources including Sakai email, SAMigo Façade classes, and legacy course management APIs. Subsequent versions include substantial input from members of the Sakai Architecture and Tools Teams.

2. Definitions

A Canonical Course is a general course that exists across sessions. It is an abstract course.

A Course Offering can occur in a specific session and have a grade type, status type, etc. A course offering is a canonical course associated with a specific session. It may be concrete where the canonical is abstract. The roster associated with a course offering allows sections to be aggregated.

A Course Section is an instance of a course offering that has a schedule, location, roster, etc. A section is a way to represent a group of people associated with a course or class. These groups may include everyone in the class or course, or may be subsets of that whole group. Sections may have sub-sections. Sections are defined differently in different universities. Some define sections strictly in a student information or registrar system. Others define them completely within the course management systems. Still others use a mix of both approaches.

A Course Set is a group of canonical courses that can be used to describe majors, departments and other high level collections of canonical courses.

A Session is a unit of time in which a course offering exists. It can include a schedule of events, such as holidays.

An Enrollment Record describes the participation of a person in a course, their role, and their status in the course.

A Student is a participant in a course. Students will have an enrollment status.

A Leader is the leader of a course section. Sections that are classes will have one or more instructors as leaders. Sections that are not classes, such as labs or discussion groups may optionally have a lab manager, discussion group leader, etc.

3. General Requirements

1. For Sakai to produce a product that is useful for education, it needs a rich view of course management, groups, and sites, as well as grading and other services.
2. Course Management objects must be persistent, according to the guidelines laid down by the Sakai Framework.
3. The Course Management API should be a proper superset of the OKI Course Management OSID.

4. The API must support the situation where a student is enrolled in more than one course offering.
5. Provisions must be made to access course management information from a remote enterprise service such as a central database, student information system, or registration system.
6. A means must be provided to populate course information from external sources. A means shall be provided to batch load course numbers and titles, instructors, assistants, and student relationships. Similarly, a means must be provided to save or archive such information. Where possible, these methods will use existing data interchange standards.

7. Course Management shall be fully integrated into the Sakai SuperStructure. This structure defines a hierarchy of courses and allows additional information to be associated, such as content and tools.

4. Course Structure

4.1. The Canonical Course

1. A means must be provided to represent a canonical course.

2. A canonical course must include the following pieces of information: a title, a catalog description, a number, a unique identifier, a course type, and default credits. Actual course credit may be modified on a per person basis.

3. Canonical courses may include a list of topics, a list of equivalent canonical courses (for cross listing), a list of prerequisites, a list of canonical courses derived from this one, and a list of course offerings based on this one.

4. Canonical courses may be persistent across sessions.

4.2. The Course Offering

1. A means must be provided to represent a course offering.

2. A course offering must include the following pieces of information: a title, a description (subject), a number, a status, a unique identifier, session reference, cross listed flag, and an offering type. The course offering must allow other information to be associated with it, such as a grade type, grade record, or descriptive course information.

3. The course offering may contain a list of course sections derived from it.

4. The course offering must have a person designated as the default leader of this course. The course offering must have a list of enrolled students. Each enrolled student is required to have an enrollment status type and an enrollment record. The course offering must also include a list of other people who are associated with this course, such as assistants, substitutes, etc. Roles of the people included in this list are outside the scope of these requirements (see Authorization and Agent/Groups).

Enrollment in the offering is separate from enrollment in a section. This allows for working with the offering's enrollment as a whole separate from working with enrollment for a particular section. The offering enrollment may be the simple sum of all the section enrollments or may include people in the offering but not in a section. People may be included in multiple sections.

5. The course offering may include an asset (site?) reference.

6. The course offering is specific to a session and is not necessarily persistent across sessions except for archival purposes. Special sessions may be defined for course offerings that fall outside the norm, such as those that span regular sessions, or consist of half sessions.

4.3. The Course Section

1. A means must be provided to represent a course section.

2. A course section must include the following pieces of information: title, description (subject), number, session reference, maximum number of students, cross-listed flag, and unique identifier. The course section must allow other information to be associated with it, such as a grade type, grade record, or descriptive course information.

3. The course section may have a schedule of meeting dates / times and a location.

4. Sections may optionally have sub-sections. There is no limit on how many sub-sections are present in a section, or how deeply nested.

5. The course section may have a person designated as the leader of this section. A leader may have a participation role, such as instructor. The course section must have a list of enrolled students. Each enrolled student is required to have an enrollment status type and an enrollment record. The course section must also include a list of other people who are associated with this course, such as assistants, substitutes, etc.

6. A means must be provided to create uniform sets of sections identified by type.
Labs and discussion groups are examples of these secondary groups. Members of these groups are restricted to the set formed by the instructor, enrolled students, and list of other people. One member section of these sets may be designated as a hold-section to hold students unassigned to a member of this section set.

7. A means must be provided to create multiple instances of a section type and group them.

8. A means must be provided to allow students to enroll in one instance of a set of sections of a given type. Self-enrollment must have an override by the instructor or administrator. Some method to specify a start and end time of enrollment must be defined. Additionally, open-ended enrollment must be allowed.

4.4. The Course Set

1. A means must be provided to represent a course set.

2. A course set contains the following information: title, unique identifier, and course group type.

3. It may contain a list of canonical courses associated with this set.

4.5. The Session

1. A means must be provided to represent a session.

2. A session contains the following information: title, abbreviation, school year, current session flag, unique identifier, session type, start/end time or schedule, and grading start/end time or schedule.

4.6. Enrollment Records

1. A means must be provided for an enrollment record.

2. An enrollment record contains the following information: a reference to a person, type, role, status, credits, and course reference. Course credit is based on the default credits in the Canonical Course and may be modified on the basis of participation status.

5. Management Operations

1. The Sakai Collaboration and Learning Environment includes embedded administration operations. Management and administrative requirements are included here.

5.1. Canonical Course Management

1. A means must be provided to create, delete, and update information in a canonical course.

2. A means must be provided to add or remove a canonical course from another canonical course.

3. A means must be provided to add or remove a course offering from a canonical course.

4. A means must be provided to create course equivalence.

5.2. Course Offering Management

1. A means must be provided to create, delete, and update information in a course offering.

2. A means must be provided to add or remove a course section, a student, and an asset from a course offering.

3. A means must be provided to add or remove sub-groups to a course offering (labs, project groups, etc.).

5.3. Course Section Management

1. A means must be provided to create, delete, and update information in a course section.

2. Capability to add or remove a student, asset, location, or schedule to a class section must be provided.

3. A means must be provided to add or remove sub-groups to a course offering (project groups, special projects, etc.).

4. A means must be provided to allow instructors or administrators to bulk add students to a section. A method of moving a student from one section to another must be provided. Means must be provided to require enforce distribution of students in section instances of a type. A method must be provided to optionally allow them to move themselves from one section to another.

5. A means must be provided to get aggregated lists of students in a section set. A means must be provided to get an aggregated list of students in a section set filtered by a set of criteria (tbd). A means must be provided to get the students in a particular section. A means must be provided to get a list of students in a particular section filtered by a set of criteria (tbd).

6. A means must be provided to perform an operation on a set of sections. These operations include add a piece of content, change a schedule, change a location, etc. (tbd).

7. A means must be provided to filter sections by selection criteria (tbd).

8. A method to associate a section with a SuperStructure node must be provided. The SuperStructure is used to contain resources associated with it such as tools, content, etc. A means must be provided to share content across different sections. A means must be provided to share content space across different sections so that content can be pushed once and shared by all.

5.4. Course Group Management

1. A means must be provided to create, delete, and update information in a course group.

3. A method must be provided to add or remove canonical courses from a course group.

5.5. Import and Export

1. The ability to archive and import descriptions of courses should be supported using data interchange standards where they exist.

6. Query and Access Operations

1. A means must be provided to get canonical courses associated with a given canonical course. An additional means must be provided to get a list of canonical courses by type or session.

2. A means must be provided to get the course offerings associated with a given canonical course. An additional means must be provided to get a list of course offerings by type.

3. A means must be provided to get equivalent courses associated with a given canonical course.

4. A means must be provided to get the course sections associated with a given course offering.

5. A means must be provided to get a list of people, schedule items, or assets from a course offering or section. Means should be provided to get a list of people who have a particular role such as professor, student, or assistant. These lists of people should provide access to additional information about the, such as email address, names, etc. The actual mechanism to do this is beyond the scope of this requirement document (see Agent / Group and Authorization).

6. A means must be provided to get a list of sub-groups within a course offering or section.

7. A means must be provided to get the canonical courses associated with a given course group.

8. A means must be provided to get a list of course offerings or sections which a person is associated with, given a particular role such as teacher, student, or assistant.

Contributors

Name

Affiliation

Mark Norton

Sakai Educational Partnership Program

Charles Severance

University of Michigan

Peter Wilkins

MIT

Craig Counterman

MIT

Scott Thorne

MIT

Rachel Golub

Stanford University

Daisy Fleming

Stanford University

Oliver Heyer

U. of California at Berkeley

Glenn Golden

University of Michigan

Document History

Date

Version

Changes

1/28/05

1

Initial requirements where gathered from the OKI Course Management OSID, the Sakai Course Management API, email and personal discussions.

1/31/05

2

Additional requirements suggested by UCB including sub-groups within offerings and sections. Get courses given person query.

2/1/05

3

Define student and instructor. Refine definitions of other terms. Restructured sections, added requirement numbers. Added instructor role. Added other participants. Added requirement to associated generic information with an offering or section, this includes grading and descriptive information. Restricted members of sub-groups to members of this course.

2/8/05

4

Final requirements. Corrections provided by Craig Counterman. Course Offerings may be based on special term definitions. Clarifications made to enrollment in Course Offering. Clarifications made on course credits by providing for default credits in a Canonical Course and actual credits in the Enrollment Record, potentially modified by participation status. Definition of course grade record was removed since grades are now considered generic additional information. This allows it to be specified in the Grading API instead. The definition of Enrollment Record was added.

4/6/05

5

Misc. changes, unpublished.

5/3/05

6

Requirements suggested by the Sakai Tools Team for sectioning. See earlier version, Section-Requirements-v1. Expanded the definition of Course Section. General requirement to be integrated into the Sakai SuperStructure. Re-drew the structure diagram to remove Groups and make sections being recursive. Removed groups from offerings and sections. Change the name of Course Groups to Course Sets. Terms become Sessions. Substantial additional requirements added for course section.