Repository navigation
Description
Move the general mathematics that CSCI 201 and the data science courses share out of Morrison-Lab/mds and into this repository.
mds will link to it, not include it.
Decided by Ezra on 2026-11-03.
Nothing has started: this issue records the plan and the reasoning behind it.
The working document is Math repos: where the shared content lives.
Decision
- mcs stays the CSCI 201 notes site, keeps its name, its URL and its 19 chapters, and becomes the home of the shared basics:
- logic and proof writing
- sets
- functions and relations
- induction and growth rates
- number systems
- expressions and algorithms
- notation
- mds keeps the topics that only data science uses: algebra, calculus, linear algebra, vector calculus, optimization, measures and indicator functions.
It links to mcs pages for shared definitions and does not add mcs as a submodule. - No new repository.
Splitting the course out into a separate repo (asmaa) was considered and rejected.
Why
- The shared content sat in mds ("math for data science"), so the name did not match the contents.
- Linking keeps mds independent: mcs and mds never pin each other, and an mds render does not depend on mcs.
- Keeping the course in mcs moves about 300 files once, rather than also moving the course's 748 subfiles to a new repo.
Alternatives considered
| Option | Why not |
|---|---|
| Keep mds as the shared home, perhaps retitled | The name and contents still disagree. This was decided earlier on 2026-11-03 and then reopened. |
| Three-way split, with a new repo for CSCI 201 | Twice the moves: the course leaves mcs and the shared content arrives there. |
| A new repo for the shared basics | Adds a fourth site to maintain. |
Rename mcs to maa and create a new mcs |
Reusing the name mcs breaks GitHub's rename redirect. Old Morrison-Lab/mcs PR and issue links would open the new repo, sometimes the wrong item with the same number. |
| mds includes mcs through a submodule | Ruled out by the decision: mds links instead. |
Facts behind the plan (measured 2026-11-03)
-
mds holds about 300 shared subfiles.
By directory:proof-writing103,sets57,functions55,expressions-algorithms28,number-systems26,relations8,induction6,growth-rates6,notation3. -
mcs has about 90 include lines that pull these subfiles in through its
mds/submodule. -
Other sites link to the shared mds pages.
GitHub code search counted files linking to each page; the counts are a floor, since search returns at most one page of results.Page Linking files sets.html26 (lds 11, lds-site 9, sds 4, pds 2) functions.html30 (lds 8, psw 7, sds 6, dds 5, pds 4) expressions-algorithms.html30 or more (lds) number-systems.html11 (lds 6, lds-site 5) notation.html6 proof-writing.html3 (mcs 2, rme 1) -
GitHub Pages has no server-side redirects.
A stub page with a meta refresh and a short script that keeps the#iddoes forward readers, so old links keep working while they are repointed. -
No students have the mcs URL yet (Ezra, 2026-11-03).
Plan
Each phase is its own PRs, and each leaves every site building and every old link working.
- Freeze.
- Close Record why mds is the shared home for the math mcs uses mds#606, which records the superseded "mds is the shared home" decision.
- Hold Add the distributive laws and negating a conditional to Proof Writing mds#599 and land its content here instead.
- Ask the owners of open shared-page PRs in mds (Cite Wikipedia after the proposition definition it supports mds#617 at the time of writing) to finish first.
- Move the shared subfiles from mds into mcs.
- Copy them by script into
_subfiles/<topic>/, keeping every#id. - Repoint this repo's
{{< include ../mds/_subfiles/... >}}lines to the local copies. - Verify each move with a content diff.
- Copy them by script into
- Give mcs a page for each shared topic, separate from the course chapters, so that other sites have a stable page to link to.
One open question: whether these pages sit in their own navbar section or the course chapters serve as the link targets. - Turn each moved mds page into a redirect stub to the matching mcs page, keeping
#ids.
Delete the moved subfiles from mds. - Repoint mds's own cross-references.
Where an mds page cites a moved definition, link to the published mcs page.
That needs a filter like this repo'scross-page-refs.lua, in reverse. - Repoint incoming links.
Run a scripted sweep of lds, lds-site, pds, sds, dds, psw and rme, one PR per repo.
Then rerun the code search to confirm no hits remain on the old mds paths. - Update the records:
- the
CLAUDE.mdof mcs and of mds (replacing mds's "Relationship to mcs" section); - ai-config's course-sequence fragment, which should put mcs before mds;
- project memory.
- the
Open questions
- May a scripted, pure-move PR exceed the push hook's 10-file cap, if a content diff verifies it?
At 10 files per PR, phase 2 alone takes about 30 PRs. - Does mcs keep the
mdssubmodule for the DS-side content it still uses, such as the one algebra subfile and thereferences.bib?
Or does it link to mds for those too? - Should mcs's site title change to name the shared role, such as "Math for computational sciences"?
Generated by Claude Code
Activity
d-morrison commentedon Nov 4, 2026
why shouldn't the algebra subfile move to mcs?
dem-extra1 commentedon Nov 4, 2026
No good reason: the algebra subfile mcs uses,
_subfiles/algebra/_def-transitive.qmd(included bychapters/relations.qmd), is discrete math that belongs with the shared basics, so it moves with the rest. Only thereferences.bibquestion is still open (the moved definitions cite entries in it, so mcs needs those entries either way).Taking this over: first phase-2 PR is #61 (growth-rates, 7 files).
Generated by Claude Code
Take the proposition definition from the mds branch that moves its ci…
Document the root _subfiles directory and its mds file names