OSID Specifications
course program package
Version 3.0.0
Release Candidate Preview
TitleCourse Program Open Service Interface Definitions

The Course Program OSID provides course management services for programs.


The Program is a canonical learning unit describing the overall content of a program, completon requirements, and earned credentials.

Courses may be associated with Programs . but completion requirements are managed in the Course Requisite OSID.


A ProgramOffering is a canonical Program offered for a Term. ProgramOffering replicates some of the data managed in the Program in the case it is refined or tweaked. The purpose of the ProgramOffering is to define the Term in which students may enroll in a Program. While a Program may span several Terms, the offering tracks when the student enrolled for the purpose of relating the completion requirements at a point in time.


The Enrollment is an OsidRelationship between a student and a ProgramOffering. For multi-term Programs, the Enrollment may continue beyond the Term of the ProgramOffering since the Term indicates what requirements are applied to the student.


A Credential is a something awarded to the student at the completion of a Program.

Course Catalog Cataloging

Programs, ProgramOfferings, Enrollments, and Credentials can be organized into federateble OsidCatalogs.

Sub Packages

The Course Program Batch OSID contains a Course Program Batch OSID for managing Programs, Credentials, ProgramOfferings, and Enrollments in bulk.