Welcome to the NeuroAI Tutorials repository! This collection of interactive Jupyter notebooks provides hands-on learning materials for exploring the intersection of neuroscience and artificial intelligence.
These tutorials are designed for students taking the NeuroAI course. Each tutorial combines:
- Informative markdown content that explains key concepts
- Interactive code exercises for hands-on problem-solving
- Modern Python standards using the latest best practices
- Python 3.10 or higher
- uv - A fast Python package installer and resolver
-
Install uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Clone the repository:
git clone https://github.com/ChrisCurrin/neuroai-tutorials.git cd neuroai-tutorials -
Create a virtual environment and install dependencies:
uv sync --all-extras
-
Launch Jupyter:
jupyter notebook
Tutorials are organized by topic in the tutorials/ directory:
tutorials/
├── 00_the_neuron_from_scratch/ # <-- background material
│ └── ...
├── 11_introduction/ # <-- Week 1 day 1
│ └── what_is_neuroai.ipynb
├── 12_the_neuron/ # <-- Week 1 day 2
│ └── neuron_and_perceptron.ipynb
└── ...
Each tutorial notebook contains:
- Learning objectives - What you'll learn
- Concept explanations - Theory and background
- Code examples - Demonstrations of key concepts
- Exercises - Hands-on problems to solve
- Solutions - Reference implementations (in separate files)
We use modern Python tooling to maintain code quality:
- Ruff - Fast Python linter and formatter
- pre-commit - Git hooks for automated checks
To set up pre-commit hooks:
pre-commit installFormat and lint notebooks:
ruff format .
ruff check .
nbqa ruff tutorials/Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or issues, please open an issue on GitHub.
Happy Learning! 🧠✨