97 lines
2.7 KiB
Markdown
97 lines
2.7 KiB
Markdown
# Working With Other MIT OCW Courses
|
|
|
|
This is the recommended pattern for bringing more MIT OpenCourseWare courses into Didactopus.
|
|
|
|
## Goal
|
|
|
|
Use MIT OCW as a structured source for learning, while preserving:
|
|
|
|
- attribution
|
|
- license references
|
|
- adaptation status
|
|
- noncommercial/share-alike flags
|
|
- a place to record excluded third-party content when it appears
|
|
|
|
## Minimal workflow
|
|
|
|
1. Pick a course and collect the specific pages you are actually using.
|
|
2. Create a local derived source file for reproducible ingestion.
|
|
3. Create a `sources.yaml` inventory beside that source file.
|
|
4. Run the ingestion/demo pipeline and emit a `pack_compliance_manifest.json`.
|
|
5. Review the generated pack before treating it as reusable teaching material.
|
|
|
|
## Recommended directory shape
|
|
|
|
For a new MIT OCW-derived example, mirror the existing pattern:
|
|
|
|
```text
|
|
examples/<course-slug>/
|
|
didactopus-course.yaml
|
|
course/
|
|
...
|
|
sources.yaml
|
|
```
|
|
|
|
The corresponding generated outputs should include:
|
|
|
|
```text
|
|
domain-packs/<course-slug>/
|
|
license_attribution.json
|
|
pack_compliance_manifest.json
|
|
source_inventory.yaml
|
|
```
|
|
|
|
## What goes in `sources.yaml`
|
|
|
|
Record each course page or resource page that materially informed the generated pack.
|
|
|
|
At minimum include:
|
|
|
|
- `source_id`
|
|
- `title`
|
|
- `url`
|
|
- `publisher`
|
|
- `creator`
|
|
- `license_id`
|
|
- `license_url`
|
|
- `retrieved_at`
|
|
- `adapted`
|
|
- `attribution_text`
|
|
- `excluded_from_upstream_license`
|
|
- `exclusion_notes`
|
|
|
|
Use `examples/ocw-information-entropy/sources.yaml` as the concrete model.
|
|
|
|
## When to add excluded-source records
|
|
|
|
Add explicit excluded records when:
|
|
|
|
- the course page points to third-party figures or readings
|
|
- the page itself warns that a particular asset is excluded from the main course license
|
|
- you want the record preserved even though you do not reuse the asset
|
|
|
|
That is the route for acknowledging future sources that require special handling.
|
|
|
|
## Practical advice for course selection
|
|
|
|
Good first OCW candidates:
|
|
|
|
- courses with a strong week-by-week or unit-by-unit structure
|
|
- courses with stable textual descriptions, readings, or assignments
|
|
- courses where you can summarize the progression into a single local source file
|
|
|
|
Harder candidates:
|
|
|
|
- courses whose value is mostly in embedded media
|
|
- courses with many third-party handouts or linked readings
|
|
- courses with weak textual structure
|
|
|
|
## Current repo reference
|
|
|
|
The MIT OCW Information and Entropy demo is the reference implementation of this pattern:
|
|
|
|
- course manifest: `examples/ocw-information-entropy/didactopus-course.yaml`
|
|
- source tree: `examples/ocw-information-entropy/course/`
|
|
- source inventory: `examples/ocw-information-entropy/sources.yaml`
|
|
- generated pack: `domain-packs/mit-ocw-information-entropy/`
|