Didactopus/docs/mit-ocw-course-guide.md

2.7 KiB

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.

For a new MIT OCW-derived example, mirror the existing pattern:

examples/<course-slug>/
  didactopus-course.yaml
  course/
    ...
  sources.yaml

The corresponding generated outputs should include:

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/