Alan Bickel
Elisa Beshero-Bondar
Tim Larson
Balisage 2021: Tuesday August 3 @ 3pm
Tim Larson
Big Ideas Learning
In all, a K-12 product line has >10^6 Learning Objects
Math Lessons from K-12 ~10^3 Lessons
Student Editions ~10^2 Learning Objects per Lesson
Teacher Editions ~10^2 Learning Objects per Lesson
Practice Resources ~10^3 Learning Objects per Lesson
Assessment Resources ~10^3 Learning Objects per Lesson
Planning Resources ~10^1 Learning Objects per Lesson
In all, a K-12 product line has ~10^4 Learning Objectives
Approximately 1-5 Learning Objectives Per Lesson
3-6 Conceptual Levels Per Learning Objective
Math Lessons from K-12 - ~10^3 Lessons
Over 5 million users and growing.
Students
Reviewers
Support Staff
Administrators
Experts
Teachers
Community
Policy Makers
Family
Alan Bickel
Big Ideas Learning
Variation in Structure, Progression, and Nomenclature
Composite in Nature
No Commonly Recognized Continuity Between Frameworks
Limitations of Internal
Measurable Learning Objectives (MLOs)
Written to lessons and units
Composite in nature
Born from and built for print
Composite MLOs limit the granularity of available evidence
Correlation to lessons and units means alignment can't be assured when contents are customized
Districts, Parents, and Teachers want evidence-based progression reporting
SKOS
LRMI
BIL
<bil:competency rdf:ID="competency/compare-numbers-by-quantity">
<skos:definition xml:lang="en-US">Identify more, less, and equal by...</skos:definition>
<skos:prefLabel xml:lang="en-US">compare numbers by quantity</skos:prefLabel>
<bil:extends rdf:resource="competency/compare-numbers"/>
<skos:broaderTransitive rdf:resource="competency/counting-and-cardinality"/>
</bil:competency>
Relationships are:
<lrmi:learningResource
rdf:ID="learningResource/content/investigate/5.1-investigate" rdf:resource="">
<lrmi:learningResourceType rdf:resource="learningResource/content/investigate"/>
<rdf:description xml:lang="en-US">NA 5.1 Investigate</rdf:description>
<dc:title>5.1 Investigate </dc:title>
<bil:alignmentCollection>
<lrmi:alignmentObject rdf:resource="competency/decompose-numbers-into-number-pairs">
<lrmi:alignmentType>teaches</lrmi:alignmentType>
<bil:competencyType>strategy</bil:competencyType>
<bil:processType>understand</bil:processType>
<bil:dok>2</bil:dok>
<bil:scopeList>
<bil:scopeReference rdf:resource="scope/within-10"/>
</bil:scopeList>
</lrmi:alignmentObject>
</bil:alignmentCollection>
</lrmi:learningResource>
<lrmi:learningResource rdf:ID="learningResource/curriculum/NA/kindergarten/chapter-5/5.1">
<lrmi:learningResourceType rdf:resource="learningResource/curriculum/section"/>
<dc:title>5.1 Partner Numbers to 5</dc:title>
<skos:OrderedCollection>
<skos:memberList>
<lrmi:learningResource
rdf:resource="learningResource/content/investigate/5.1-investigate-"/>
<lrmi:learningResource
rdf:resource="learningResource/content/key-concept/key-concept:-partner-numbers"/>
<lrmi:learningResource
rdf:resource="learningResource/learnosity/activity/in-class-practice-5.1"/>
<lrmi:learningResource
rdf:resource="learningResource/learnosity/activity/connect-to-real-life-5.1"/>
<lrmi:learningResource
rdf:resource="learningResource/learnosity/activity/practice-5.1"/>
</skos:memberList>
</skos:OrderedCollection>
</lrmi:learningResource>
<lrmi:learningResource rdf:ID="CC.K.OA.A.2">
<bil:alignmentCollection>
<lrmi:alignmentObject rdf:resource="competency/solve-subtraction-stories">
<bil:competencyType>strategy</bil:competencyType>
<bil:processType>apply</bil:processType>
<bil:dok>2</bil:dok>
<bil:scopeList>
<bil:scopeReference rdf:resource="scope/within-10"/>
</bil:scopeList>
</lrmi:alignmentObject>
</bil:alignmentCollection>
</lrmi:learningResource>
<bil:competencyScope rdf:ID="scope/within-10">
<skos:prefLabel xml:lang="en-US">Within 10</skos:prefLabel>
<skos:definition>Whole Numbers within 10</skos:definition>
<skos:broaderTransitive rdf:resource="scope/whole-numbers"/>
</bil:competencyScope>
Form-based data entry for content authors
Traversable collection for iterative edits
Jobs
Entity transformations each handled through their own job
Each job mapped to single 'endpoint' accessible via custom JS API
Each entity has a set of jobs to handle CRUD operations
(this included managing relationships between entities)
Reading Data: Transformations and Aggregations
Transformations are masked through functions in the JSON module.
Each transformative function has a corresponding JSON alias exposed via JS API
(: template function wrapper to get the transitive hierarchy for a competency :)
declare function local:get-transitive-tree($node as node()*, $model as map(*)){
let $id :=local:get-request-id()
return concepts:get-transitive-concept-tree($id)
};
(:retrieve transitive tree of a competency :)
declare function concepts:get-transitive-concept-tree($competencyId as xs:string){
let $domain := concepts:get-concept-by-id($competencyId)
let $hasBroader := concepts:get-broader-transitive-relations($competencyId)
for $instance in $hasBroader
return ($instance, concepts:get-transitive-concept-tree($narrower/@rdf:ID))
};
/*
a sample GET request using the JS API,
limit reqults of learning object tree query to a single node's children
*/
//initialize
let existClient = new ExistDbClientApi();
// create a query parameter
let queryParam = `scope=${scope}`;
//declare the ID of requested resource
let resourceId = "learning-object-tree";
//declare our request Options object
let options = {
resourceType : "json",
queryParam: queryParam
}
// execute the request
let payload = await this.existDbClient.request(resourceId, options);
/*
a sample POST request using the JS API, for creating a new competency
*/
//create some post data
let formData = new FormData()
formData.set('my-data', data)
...
//create options object
let options = {
requestMethod: "post",
requestContentType: "application/x-www-form-urlencoded",
requestBody: urlEncodeFormData(formData)
}
let resourceId = "save_new_competency"
let newCompetency = await this.existDbClient.request(resourceId, options);
Alignment type shows learning, practicing, assessing
DoK analysis possible along Bloom's & Webb's Pedagogical Matrices
Individual learning object alignment gives granular breakdowns
Scope alignment broadens as learners progress
Extends relationship provides access to progressive learning axis through the competency graph
Progress toward individual standard proficiency is quantifiable
Transitive relationships support resource grouping
Assessment questions bound to competencies allow us to surface appropriate learning objects for remediation
Resource lookup is possible along all relationship facets
Integrations with:
What XQuery / XSLT bring to the table
Organizational Web Stack Experience does not include
XML | XQuery | XSLT
Shifting data manipulation and transformation to a commonly used language increases our development capabilities
As a textbook publisher, we want to focus on cooking the 'secret sauce', not learning how to build the stove.
Does eXist-dB support:
Does a graph database support:
Making tough decisions about competency graph implementation