Objectives come in three types: TOPICs, OUTCOMEs and GENERIC_OUTCOMEs.
You can also find an objective (given an Id even if you do not know the objective bank where it is stored. http://mc3-demo.mit.edu/handcar/services/learning/objectives/objective%3A1%40MIT-OEIT
If you have a list of ids for objectives in a bank and you want to fetch them all at once you can do this by specifying BULK in the url then listing the ids as query parameters.
Topics are often nested or organized into a hierarchy so that they have parents and children so that topics may have sub-topics and sub-sub-topics finally ending in specific outcomes. Note: Although the typical pattern is that topics have parent child relationships, the system also supports the creations of outcomes that themselves have child children.
This returns the root objectives AND its children down to a depth of 10 levels deep. This is called an “ObjectiveNode” because contains all the fields of an objective but also contains three extra fields:
You can optionally add a query parameter “descendentlevels” to restrict or expand the levels down it goes down. For example this gets just the root objectives with no children.
You can also just get the ids of the root objectives
Note: most objectives have just ONE parent but the system allows for a topic to fall under multiple parents, for example ROBOTICS might have both COMPUTER SCIENCE and MECHANICAL ENGINEERING as parents.
You may also optionally specify the depth of the hierarchy to return by supplying a query parameter “?descendentlevels={n}” so that this returns just the objective with no children.
Objectives can also be organized into chains of pre-REQUISITES. These are objectives that typically must be mastered before attempting to master the current objective.
These are just the objectives in the bank that do not have any REQUISITE objectives defined.
This gets the beginner objectives down to 10 levels deep to restrict or increase the levels you can add an optional query parameter “descendentlevels”
You can also just get the beginner ids.
For example: Anti-derivative has three requisites: Function, Derivative, and Differential
Note: it returns that single objective but also with three extra fields:
You may also optionally specify the depth of the hierarchy to return by supplying a query parameter “?descendentlevels={n}” like this so that this returns just the objective with no dependents.