Skip to content

About

Interactive learning cores across biology, chemistry, mathematics, engineering, robotics, tissue engineering, and geroscience.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

uniStemCourseSimulators

This is a personal hobby and learning project. Code and educational drafts were developed with substantial assistance from AI coding tools.

Repository: dylanstechmann/uniStemCourseSimulators. All 25 existing course plans have usable routes for their scheduled components, including projects; see the course-plan index. The semester-course authoring pass adds 66 foundations and 86 connected assignments across 24 courses and audits the developed Cell Biology core. That record distinguishes delivered instruction from remaining depth and review limits. Every package is partial and unreviewed; open practice does not establish full-course depth or academic credit. The progress review records AI-assisted development and validation.

Interactive, source-grounded courses across science, mathematics, engineering, computing, and biomedicine.

An independent open-source learning platform under development. It does not confer academic credit, accreditation, degrees, or university prerequisite equivalency. Pathway mappings do not establish admission eligibility or transfer credit. Institutional references identify scope comparators; they do not imply affiliation or endorsement.

Current course maturity

Status Packages Meaning
catalog-only 0 Catalog metadata only
outlined 0 Structured plan without developed teaching
partial 25 Authored readings, connected coursework and formative checks; depth and review remain limited
beta 0 Developed course awaiting required review/gates
complete 0 All full-course gates satisfied
externally reviewed 0 Qualified named reviewer examined a specified version

No current package meets the complete-course standard. The repository contains 25 partial packages with 634 lessons, 3,537 formative questions, 2,131 retrieval cards and 151 self-assessed case prompts. These counts measure authored material; they do not establish semester depth, measured workload, scientific review or university equivalence.

The packages span life sciences, chemistry, mathematics, physics, statistics, computing and engineering. Original readings, worked examples, synthetic datasets and practice are available in each subject, with uneven coverage and depth. See the package inventory, measured content gaps, and MIT OpenCourseWare scope audit for the current boundaries and priorities. Detailed development history belongs in the progress review.

Development now proceeds across the repository in bounded instructional batches. Follow-up priorities address demonstrated instructional gaps, broader course boundaries and learner evidence identified against official MIT OpenCourseWare syllabi and calendars. New material is original and attributed; references compare scope and expectations without claiming affiliation, copied course delivery, or equivalent credit. Metadata and review-report refreshes are bundled with substantive changes.

The curriculum map adds 37 catalog-only subject nodes and 8 pathway maps beside the 25 partial course packages. Catalog-only entries describe planned study areas and dependencies; they contain no authored lessons and cannot be enrolled in. Mapped prerequisite order is planning guidance and does not establish university equivalency.

See the audit, quality standard, and remaining work.

Package inventory

Course Domain Status
Biochemistry I: Proteins, Enzymes & Metabolism Biochemistry partial
Biomaterials & Tissue Engineering Bioengineering partial
Bioreactors & Tissue Culture Engineering Bioengineering partial
Calculus I: Differential and Integral Calculus Mathematics partial
Calculus II: Integration, Series & Applications Mathematics partial
Calculus III: Multivariable & Vector Calculus Mathematics partial
Foundations of Cell and Molecular Biology Life sciences partial
Cellular Biomechanics & Mechanobiology Bioengineering partial
Electrical Circuits & Instrumentation Electrical engineering partial
Differential Equations for Living & Engineered Systems Mathematics partial
General Chemistry I Chemistry partial
General Chemistry II Chemistry partial
Genetics & Genomics Life sciences partial
Geroscience & Regenerative Biology Life sciences partial
Linear Algebra for Modeling & Robotics Mathematics partial
Organic Chemistry I for Life Sciences Chemistry partial
Physics: Electricity & Magnetism Physics partial
Physics: Mechanics for Biomedical Engineers Physics partial
Human Physiology for Engineers Life sciences partial
Programming & Numerical Methods for Bioengineering Computing partial
Robotics & Mechatronics Mechanical engineering partial
Signals, Systems & Feedback Control Electrical engineering partial
Statics & Mechanics of Materials Mechanical engineering partial
Probability, Biostatistics & Experimental Design Quantitative methods partial
Thermodynamics & Transport in Bioengineering Bioengineering partial

Run locally

Install Docker with Compose, then from the repository root:

docker compose up --build

Open http://localhost:8080. Startup generates a database credential in a private Docker volume, starts PostgreSQL, applies Alembic migrations and serves the React reader through a same-origin API proxy. No API key, database password, cloud account or .env is required for a fresh development installation. Existing installations must preserve their Compose project identity before updating to the renamed defaults; see rename migration. .env.example documents optional settings. Ports bind to localhost; HTTP cookies are a development setting. Production needs HTTPS and operator-supplied secrets.

Tested learning system

  • React/TypeScript reader with public catalog, explicit maturity/limitations, syllabus, lesson objectives and prerequisite lists. Lesson Markdown renders tables (remark-gfm) and LaTeX mathematics with KaTeX (remark-math and rehype-katex, MIT licensed), loaded as a separate chunk only for text that contains math.
  • FastAPI/Pydantic with PostgreSQL SQLAlchemy/Alembic, server guest sessions, account registration/login/logout and guest-to-account preservation.
  • Enrollment, private notes, bookmarks and learner-marked reading progress stored on the server; the React notebook searches saved note text across current enrolled courses and links each result back to its lesson. Lesson pages include self-assessment retrieval cards with revealable answers.
  • Immutable choice, numeric, symbolic, data-interpretation, structured-rubric, fixed-axis graph-coordinate and bounded CSV-table formative practice attempts with diagnosis, hints, next steps, lesson links, and independent criterion scores. The graph exercise plots learner coordinates against supplied replicate data and awards coordinate-level credit; it does not grade axis choice, uncertainty bars, interpolation or interpretation. A cell-biology upload scores replicate counts and means from UTF-8 CSV as inert data with cell-level credit. It does not run uploaded files or grade free-form reasoning; correct results do not establish sound reasoning or mastery.
  • Course-level public formative practice sets delivered from version-pinned manifests through answer-free API DTOs. The week-8 cell-biology cumulative rehearsal is labeled ungraded and not a midterm, and the week-14 cumulative final review (25 questions, 13 of them new integrative items on a synthetic clone dataset) is labeled ungraded and not a final exam; weeks 9–14 also have topic practice sets. Biochemistry has eight open homework practice sets, a week-7 midterm review and a week-14 cumulative final review practice set, each labeled ungraded and not an exam, plus a project rehearsal. Their authoring keys remain openly visible in the repository and are not secure exam materials.
  • Separate formative practice gradebook and configured weighted-assignment gradebook, attempt/feedback history and an objective-level study indicator based on distinct items, published thresholds and best reviewed formative scores. Graded submissions are deterministic, version/source-pinned, and limited to a strict deadline. Learners can request one human review per formative or graded attempt; operator-provisioned instructors can record a separate score adjustment while the automatic result stays immutable. Graded adjustments affect the weighted calculation and appear in learner history. None of the 25 current packages contains graded work, so none displays a course grade.
  • Spaced retrieval review: enrolled learners self-rate revealed retrieval cards, the server schedules each card with a documented deterministic interval rule, and a course Review queue lists due, new and upcoming cards. Ratings are self-assessments and never change practice scores or objective evidence.
  • Learner JSON export and confirmed account deletion, keyboard focus/skip link, larger text/high-contrast controls and safe Markdown rendering, including tables.
  • Docker development/production examples, reverse proxy, CI and automated content/security-boundary tests.

Single-choice, multiple-select, numeric, bounded symbolic-expression, narrow data-interpretation, structured-rubric, fixed-axis graph-coordinate and constrained CSV numeric-table graders are deterministic. The same supported response formats can be used in versioned graded-assignment submissions; question DTOs omit answer keys, source files are SHA-256 checked, and the API enforces release, attempt and strict-deadline rules. A separate read-only private assessment mount supports server-only private:// answer packages; no current course references one, and no graded assignment is shipped. When a graded plan is pinned, the exact source bytes are also stored in a private database archive keyed by course version, assignment and digest. Instructor appeals reconstruct the original prompt and form from that archive, including after a course update; non-decline decisions fail closed if its digest or saved grader specification cannot be verified. Database backups therefore contain answer keys and require the same access controls as private assessment files. The automatic score is never rewritten. The tested graded flow uses synthetic fixtures: current catalog packages contain no graded assignments. Numeric grading supports constrained unit conversions, dimensional checks, absolute and relative tolerances, and significant figures. Symbolic grading compares rational expressions through a restricted grammar; it does not execute Python or accept arbitrary SymPy syntax. Structured items map criteria to exact keyed responses; they do not score prose or keyword overlap. The graph grader scores coordinates on fixed axes and does not assess axis choice or scientific interpretation. CSV uploads are size-limited, parsed as UTF-8 and scored only against authored numeric output cells; file contents are never executed. Practice attempts and graded assignments pin question/source specifications. Alembic 0011 also stores a deterministic snapshot of every public course-package file at enrollment and version upgrade, with per-file SHA-256 values and same-version edit rejection; private answer sources are excluded, and existing enrollments are not automatically backfilled. The operator-only report/apply command can recover a legacy archive only with an independently verified package SHA-256; a version-string match alone is insufficient. Enrolled learners can browse saved versions and open them in a read-only view that uses answer-free course and lesson DTOs. Numeric parameter generation, broader data rubrics, arbitrary CSV analysis, historical regrading from archived course-package versions, protected exams and isolated code execution remain unfinished. Instructors receive access only through the operator CLI. This does not make public practice questions secure exams. Course-version changes preserve historical records. Unsupported specifications fail explicitly. Code execution and LLM providers are disabled. The eight pathway maps and broad catalog layer are planning aids. Every week of the proposed fourteen-week biology schedule has authored lessons; eight open homework companions, three synthetic labs, week-8 and week-14 cumulative reviews, and an optional integrative project (a guide, rehearsal practice and five Case studio milestone self-checks) provide ungraded practice. Reviewed graded homework/lab packages, summative exams and a graded project remain unfinished. See the roadmap.

Preserved local study tools

The React reader now includes six scientific calculators under Study tools, available without enrollment: dilution, buffer pH, enzyme kinetics, RC charging, diffusion timescale, and Ohm's law. Each shows units and model assumptions and links to related courses. Calculator scratch work is ungraded.

The React Case studio also exposes the authored prompts and self-check criteria across all 25 partial courses. Enrolled learners can save a private written response and checklist marks; drafts stay bound to the course version and prompt, remain available in account exports, and do not affect grades. Archived cases are read-only.

The previous calculators, cards, case self-assessment and browser notebook remain preserved in legacy/; the React reader now has its own searchable notebook over server-saved lesson notes. To use the old reader separately:

python -m http.server 4173 --directory legacy

Open http://localhost:4173. Valid previous storage is copied to a uniStemCourseSimulators key with a retained backup. Browser scores stay unverified; they are not silently imported as server grades. The default web image does not serve the legacy reader or authoring answers. The separate local reader intentionally exposes its public practice solutions and is unsuitable for secure exams.

Repository boundaries and checks

Directory Purpose
frontend/ React/TypeScript application, Vitest and Playwright
backend/ FastAPI, SQLAlchemy, Alembic and Pytest
content/ Original Markdown, schemas, manifests, public authoring specifications and provenance
legacy/ Preserved static teaching/study reader
tools/ Content validation and credential/bundle checks
docs/ Audit, design, quality, deployment and validation evidence

No third-party instructional assets have been imported. Public repository authoring solutions remain discoverable; a production operator must store restricted exam keys privately. Learner DTOs and default frontend bundles exclude assessment answer specifications and unreleased solution feedback. Educational worked examples remain public readings.

pip install -r requirements-dev.txt -r backend/requirements.txt
python tools/validate_content.py
python -m pytest tests -q
npm run test:legacy
cd backend
python -m pytest -q
ruff check .
cd ../frontend
npm ci
npm run lint
npm test
npm run build
npx playwright install --with-deps chromium
npm run test:e2e

Start Compose before E2E. Run python tools/check_security.py --bundle frontend/dist from the root after building. python tools/validate_content.py --check-links performs network probes; earlier checks recorded HTTP 403 responses from two JHU pages, so those checks did not establish that all live links passed. Offline schema/content validation reports zero errors and zero explicit limitation/depth warnings. Detailed commands, test counts and boundaries are in VALIDATION_REPORT.md. Browser QA of the protected, graded mode, which runs outside Docker against a throwaway fixture, is described in QA_PROTECTED_GRADED.md. Production guidance: DEPLOYMENT.md.

Contributing and licensing

Read CONTRIBUTING.md. To review a lesson, or to understand what reader feedback, AI-assisted checks and subject-matter review can each change, read the reviewer guide; AI-assisted check records are in docs/reviews/ai-assisted. Software retains MIT. Educational licensing is separate in LICENSE-CONTENT and content/SOURCES_AND_LICENSES.md. Historical MIT grants remain valid. Adapted OCW material requires applicable CC BY-NC-SA 4.0 attribution/ShareAlike conditions and asset-level checks; JHU catalogs are alignment references only.

Security: SECURITY.md. Test evidence: docs/VALIDATION_REPORT.md.

About

Interactive learning cores across biology, chemistry, mathematics, engineering, robotics, tissue engineering, and geroscience.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages