Open-source project
NeuromatchAcademy/course-content avatar
NeuromatchAcademy/course-content

NeuromatchAcademy/course-content: A Computational Neuroscience Syllabus You Can Fork

NMA Computational Neuroscience course

3,129 stars1,091 forksJupyter NotebookCC-BY-4.0

At a glance

What is it?
The course-content repository holds the notebooks behind the NMA Computational Neuroscience summer school, published under CC BY 4.0 with software under BSD-3-Clause. It is teaching material first and a reusable library second, and that ordering explains most of its constraints.
Who is it for?
Adopt course-content if you teach computational neuroscience and want a CC BY 4.0 notebook set you can adapt, or if you are a self-directed learner who will work through the tutorials and the linked precourse prerequisites in order. Do not adopt it as a Python library, a stable API, or a source of reproducible benchmark results, because nothing in the repository promises versioned interfaces.
Can I use it commercially?
Yes, with credit. CC-BY-4.0 allows commercial use as long as you credit the authors and indicate what you changed. It is written for creative content, so check how it applies to any code.
Is it still maintained?
Yes. The repository last received commits 63 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What the NMA course-content repository actually is

This is the source repository for the Neuromatch Academy Computational Neuroscience course, a three-week summer programme. The README states the 2025 run as July 7 to 25, and points readers to the ebook at compneuro.neuromatch.io as the primary access route, describing that ebook as under continuous development. The repository itself is written in Jupyter Notebook, and the topics listed are dynamic systems, machine learning, neuroscience and stochastic processes. Those four labels map closely onto how the tutorials are organised rather than describing a software package.

The audience is narrow and identifiable. Someone teaching a computational neuroscience module who needs worked notebooks on spiking models, decision making or dimensionality reduction. Someone running a study group who wants a schedule already broken into daily units. A learner with the prerequisites the README links to, which live in a separate NeuromatchAcademy/precourse repository under prereqs/ComputationalNeuroscience.md. If you do not already have that background, the README sends you elsewhere first, and that is a deliberate signal about who the material is for.

The version history matters here. Releases v3.2.0, v3.2.1 and v3.2.2 all landed within a few days of each other in July 2026, which fits the pattern of a course repository being patched in the run-up to a teaching period rather than a library following a deprecation policy.

How the notebooks, ebook and schedule fit together

The data flow is content-first. Notebooks live in the repository, the ebook renders them for reading, and a separate schedule file at tutorials/Schedule/daily_schedules.md maps tutorials onto days. The README is explicit that the content should primarily be accessed from the ebook, which tells you the repository is the editable source and the ebook is the intended surface for students.

That arrangement has a practical consequence for anyone forking it. If you edit a notebook, you are editing the upstream source, and the ebook will not reflect your change until whatever build process sits between them runs. The repository material does not describe that build pipeline in what is available here, so treat the notebook-to-ebook step as something you would need to investigate before relying on it. I cannot confirm from the supplied material whether the ebook is generated automatically on push or built separately.

There is also a contributor infrastructure layer that is easy to miss. The README contains an all-contributors badge and a generated table, with the comment markers telling maintainers not to remove or modify those sections. The table lists three contributors with code, content, tests, infrastructure and maintenance attributions. That is a maintenance mechanism, not a feature, and it means the repository expects contributions to be recorded through the all-contributors specification rather than through a conventional changelog.

Getting the material running: what the repository tells you

The README does not give an install command, a requirements file, or an environment specification. What it gives you is three entry points. The ebook URL, compneuro.neuromatch.io, for reading. The prerequisites document at github.com/NeuromatchAcademy/precourse/blob/main/prereqs/ComputationalNeuroscience.md for assessing readiness. And the schedule at tutorials/Schedule/daily_schedules.md for sequencing.

Because the primary language is Jupyter Notebook, the practical route is to clone the repository and open the notebooks in a Jupyter environment. That much follows from the repository layout. What does not follow, and what I cannot confirm from the supplied material, is which Python version, which packages, or which data files the notebooks expect. There is no requirements.txt, environment.yml, pyproject.toml or setup.py mentioned in the README. Anyone planning to run the tutorials rather than read them should budget time for dependency discovery, and should expect the first execution of a notebook to be a debugging session rather than a lesson.

One concrete thing the README does specify is the licence split, and it is worth reading carefully before you redistribute anything. The contents are shared under Creative Commons Attribution 4.0 International. Software elements are additionally licensed under BSD 3-Clause. The README states that derivative works may use the licence that is more appropriate to the relevant context. That gives you real latitude, but it also means you have to decide per artefact whether you are reusing prose and figures or code, and the repository does not draw that boundary for you.

Where the repository is the wrong tool

The clearest limitation is that this is not a library. There is no importable package, no documented API surface, and no compatibility promise across the v3.2.x releases. If you build a course on top of these notebooks and pin to v3.2.2, the next release can reorganise a tutorial without that counting as a breaking change, because the versioning is tracking a course edition rather than a software interface.

A second constraint is the dated schedule. The README names July 7 to 25, 2025 as the course window, while the most recent releases are dated July 2026. The schedule file is the authoritative source for sequencing, and if you are teaching in a different term or on a different cadence, you are adapting rather than adopting. Three weeks of daily tutorials do not compress cleanly into a twelve-week semester without cutting content, and the repository does not offer a short-form variant.

Third, the repository is thin on reproducibility infrastructure. No environment file is mentioned, no test harness beyond the contributor attributions, and no data manifest. For a course that covers stochastic processes and machine learning, where a random seed can change what a student sees, the absence of a pinned environment is a real friction point. That is a statement about what the supplied material shows, not a claim that no such files exist deeper in the tree.

Finally, the contributor base recorded in the README is three people. That is a small group to carry a three-week curriculum plus an ebook that the README itself describes as under continuous development. Expect response times on issues and pull requests to reflect that.

How it compares with Neuromatch's own precourse

The most useful comparison is not an external competitor but the sibling repository the README points to. NeuromatchAcademy/precourse holds the prerequisites document at prereqs/ComputationalNeuroscience.md. The division of labour is explicit: precourse prepares you, course-content teaches you.

The difference in approach is about scope and obligation. The precourse material exists to get a learner to a baseline, so it is assessed and linked from the main README as a gate. The course-content repository assumes that gate has been passed and moves directly into the three-week syllabus. If you are assembling self-study material, that split is genuinely useful, because it tells you where to start and gives you a readiness check before you commit three weeks.

If you are looking for a general-purpose computational neuroscience library rather than a curriculum, neither repository is the right place, and the README does not position either as one. The value here is the sequencing and the worked notebooks, not reusable code. Treating course-content as a dependency rather than as a corpus is the mistake to avoid.

Maintenance cost and the licence boundary

The release cadence visible in the supplied material is bursty rather than steady. Three releases in five days in July 2026, following a course that ran in July 2025. That pattern suggests maintenance is concentrated around teaching periods, with quieter stretches between them. If you fork the repository, you inherit the responsibility for keeping your fork aligned, and the upstream will not move at a pace that makes automated syncing worthwhile.

Upgrade cost is mostly editorial. A new release can change tutorial ordering, update figures, or adjust notebook content, and none of that will surface as a dependency conflict. Your review process has to be reading diffs, not running a package manager.

On licensing, the split is the thing to get right. Content under CC BY 4.0 requires attribution when you reuse it. Software elements under BSD 3-Clause permit reuse with the conditions that licence sets out. The README's own guidance is that derivative works may use whichever licence suits the context. Where a notebook mixes prose, figures and code, you are the one drawing the line. This is not legal advice, and if you are republishing at scale you should have someone qualified read the licence texts rather than the README summary.

Who should take this on

Take it if you teach computational neuroscience and want a CC BY 4.0 corpus you can adapt, provided you are willing to own the environment setup yourself. Take it if you are a self-directed learner who will work through the precourse prerequisites first and then follow tutorials/Schedule/daily_schedules.md in order. The three-week structure is a genuine asset for that use case, and the ebook at compneuro.neuromatch.io is the intended reading surface.

Do not take it if you need a stable API, a pinned environment, or a package you can declare as a dependency. Do not take it if your term does not fit a three-week intensive, unless you are prepared to cut material. Do not take it if you need a large maintainer group behind the content.

The first thing to verify is the schedule file, because it is the only sequencing authority the repository names, and the dates in the README and the dates in your own calendar will not match. The second is whether the notebooks you care about execute in your environment, since no dependency specification is offered in the README. The third is the licence boundary between content and software, because CC BY 4.0 and BSD 3-Clause impose different obligations and the repository leaves the split to your judgement.

Editorial conclusion

Adopt course-content if you teach computational neuroscience and want a CC BY 4.0 notebook set you can adapt, or if you are a self-directed learner who will work through the tutorials and the linked precourse prerequisites in order. Do not adopt it as a Python library, a stable API, or a source of reproducible benchmark results, because nothing in the repository promises versioned interfaces. Before you commit, check the daily_schedules.md dates against the term you are teaching, confirm which tutorials your environment can execute end to end, and read the licence split between the CC BY 4.0 content and the BSD-3-Clause software elements.

Official sources

  1. License: CC-BY-4.0
  2. NeuromatchAcademy/course-content on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes