scaffold
should be a function that takes in two inputs:
topicHierarchy
scaffoldSpec
topicHierarchy
{
{
<major topic : String>: [
<minor topic : String>
<minor topic : String>
<minor topic : String>
<minor topic : String>
<minor topic : String>
]
},
{
<major topic : String>: [
<minor topic : String>
<minor topic : String>
<minor topic : String>
<minor topic : String>
<minor topic : String>
]
},
}
scaffoldSpec
Somehow specify the structural constraints for the scaffold (see below). Start
without this input and hard core the PBL constraints into the scaffold funtion.
Once you get this working, then you can try and refactor for a topicHiearchy
input to make scaffolding functionality customizable.
[
// each of these objects specifies a Unit
{
name: String,
materials: [
// each of these objects is a Material of some type
{
name: <String>,
type: <String>,
content: <String>
},
{
name: <String>,
type: <String>,
content: <String>
}
]
},
{
name: String,
materials: [
{
name: <String>,
type: <String>,
content: <String>
},
{
name: <String>,
type: <String>,
content: <String>
}
]
},
]
Note: order of applying constraints does matter! Do not try and replicate all of the complexity of this, just use it as general guidelines / reference for logic we have already worked out
[X (integer)] [Insertion Course Element] per [topic level] (Course Element Template)
- Unit per topic (Unit template X)
- Exam per topic (Exam template X)
- Project per topic (Project template X)
- Lesson per subtopic (Lesson template X)
- Coursework per subtopic (Coursework template X)
[X (integer)] [Insertion Course Element] [relative location][general ordinal] [Existing Course Element] ([Course Element Template])
- Feedback @ end of each Unit (Feedback Template X)
- Self-assessment @ end of each Unit (Self-Assessment Template X)
- Feedback @ end of each Project (Feedback Template X)
- Self-assessment @ end of last Project (Self-Assessment Template X)
- Self-assessment before each Lesson (Self-Assessment Template X)
- Unit @ end of Course
- Project in last Unit