Overview
RC bootcamp is a hands‑on resource for beginners in reservoir computing (RC). It walks through core concepts and practical methods of RC across a series of chapters. The content aims to help newcomers get practical skills quickly while also covering current research topics. The platform supports multiple languages and currently offers English and Japanese editions. This page presents the English edition.
Table of Contents
Practical exercises with Jupyter Notebooks
Each chapter is provided as a Jupyter Notebook.
Exercises require implementing core parts rather than only running example code.
This format promotes conceptual understanding and practical coding skills.
All exercises use a consistent format: fill in missing code to reinforce learning.
For example, a task asking you to implement a function that multiplies its input by six shows the missing code as ..., as in the example below.
def solution(val):
val = ... # TODO Multiply `val` by 6.
return val
There are two exercise types: fill only the right-hand side of an expression or implement the full expression.
Validate your implementation using the test_func helper.
test_func(solution, "**_**") # Replace ** with the relevant exercise number.
If you cannot solve an exercise, use show_solution to reveal the answer.
show_solution("**_**") # Replace ** with the relevant exercise number.
RC bootcamp supports execution on Google Colaboratory (Colab) and on local machines.
For local use, we recommend uv and VSCode.
Some chapters cannot run on Colab; see the Setup for local environment section below for installation and execution instructions.
Contents of each chapter
Each chapter has two editions: exercise notebooks with ... placeholders and solution notebooks with complete implementations.
Use the solution edition to quickly verify results.
Use the exercise edition to deepen understanding by implementing the missing code.
I. Python / NumPy basics
Chapters 1 and 2 cover the Python and NumPy fundamentals needed for RC. Python is used throughout the bootcamp. Chapter 1 introduces core programming and computer‑science concepts, including syntax and basic algorithms. Chapter 2 covers NumPy, the main library for efficient array-based numerical computation in Python, and explains common usage and techniques. These chapters target readers with limited programming experience. Skip them if you are already comfortable with Python and NumPy.
| Exercise | Solution | ||
|---|---|---|---|
| 01 | python basics | ||
| 02 | numpy basics |
II. Basics of RC
Chapters 3–8 cover core concepts and practical methods of RC. Chapter 3 walks you through implementing an echo state network (ESN) to explain RC’s basic mechanism. Chapter 4 explains practical approaches to hyperparameter tuning commonly used in RC. Chapter 5 introduces key concepts and analysis methods from nonlinear dynamical-systems theory and uses dynamical analysis to evaluate reservoirs. Chapter 6 shows how to evaluate reservoir memory by implementing memory capacity (MC). Chapter 7 presents information processing capacity (IPC), an extension of MC that provides a broader measure of a reservoir’s information-processing ability. Chapter 8 covers closed‑loop control, where the reservoir output is fed back into its input for control tasks.
Note: the latter part of Chapter 7 includes compute‑intensive steps that may run very slowly on CPUs. In Colab, enable a GPU runtime (Change runtime type) to accelerate execution. Colab offers limited free GPU time.
| Exercise | Solution | ||
|---|---|---|---|
| 03 | ESN basics | ||
| 04 | ESN fine tuning | ||
| 05 | ESN dynamics | ||
| 06 | memory capacity | ||
| 07 | information processing capacity | ||
| 08 | closed loop control |
III. More advanced topics
The remaining chapters cover advanced RC research topics in RC. Chapter 9 explains how to train internal reservoir connections, including ESNs, and implements innate training to control high‑dimensional chaotic trajectories. Chapter 10 implements bifurcation embedding, which leverages bifurcation phenomena to learn a teacher system’s structure from limited data. Chapter 11 implements a state space model (SSM), a class of recurrent models noted for long-term memory capabilities.
Note: Chapter 9 does not fully run on Colab. Please follow the local execution instructions below and run this chapter locally.
Also note that Chapter 11, like Chapter 7, contains computationally intensive steps that are slow without a GPU. If you run it on Colab, enable a GPU runtime (change it via “Change runtime type” in the top-right) to speed up execution.
| Exercise | Solution | ||
|---|---|---|---|
| 09 | internal optimization | ||
| 10 | bifurcation embedding | ||
| 11 | state space model |
Setup for local environment
RC bootcamp can be run locally.
For research or development we recommend setting up a local environment, e.g., using uv and VSCode.
Download the zip archive from the links below and follow the included instructions to set up the environment.
- Download zip archive from GitHub (exercise edition)
- Download zip archive from GitHub (solution edition)
README is also available in the repository: https://github.com/rc-bootcamp/rc_bootcamp/blob/en/README.md
License
RC bootcamp is released under the MIT License. You are free to use, modify, and redistribute the material. Please include the copyright notice and this permission notice in all copies or substantial portions of the software.
Contribution
Contributions to RC bootcamp are welcome!
Reporting issues
If you find any issues or have suggestions for improvement, please report them on the GitHub Issues page.
Contributing code
If you would like to contribute, please fork the repository, make your changes, and submit a pull request on GitHub. Before contributing, please read the developer README and follow the coding style. Maintainers will review PRs, give feedback, and approve, decline, or request changes.
Citation
If you use RC bootcamp in your research or publications, please cite the following paper.
@article{inoue2025rcbootcamp,
title = {Reservoir computing bootcamp---from Python/NumPy tutorial for the complete beginners to cutting-edge research topics of reservoir computing},
author = {Inoue, Katsuma and Kubota, Tomoyuki and Tran, Quoc Hoan and Akashi, Nozomi and Terajima, Ryo and Kabayama, Tempei and Guan, JingChuan and Nakajima, Kohei},
year = 2025,
month = XX,
journal = {XX},
volume = {XX},
number = {X},
pages = {XXXXXX},
issn = {XXXX-XXXX},
doi = {xxxxxx/xxxxxx}
}
Contact
For questions or feedback about RC bootcamp, please email k-inoue[at]isi.imi.i.u-tokyo.ac.jp.