Tutorial Codebook (Human): Overview
Next Steps: Before Programming¶
The remainder of this notebook series is a hands-on programming tutorial. From this point onwards, we will implement the methods introduced so far using Python, while introducing additional neuroscience and programming concepts as they become relevant.
Before continuing, we recommend working through the Programming Guide section. While the tutorial will gradually introduce the required Python syntax and explain new concepts along the way, having a basic understanding of the topics below will make it much easier to follow.
Preparation (Essential)¶
Before starting, you should be comfortable with:
Installing Python
Installing and using Visual Studio Code
Installing the Python and Jupyter extensions for VS Code
Running both
.pyscripts and.ipynbnotebooksCreating and activating Conda environments
Installing and importing Python packages (e.g., NumPy and Pandas)
Python Fundamentals (Essential)¶
You should be familiar with the following Python concepts:
Variables
Lists
Dictionaries
ifstatementsforloopszip()Writing simple functions using
def
NumPy and Pandas (Recommended)¶
A basic understanding of the following will be helpful:
The structure of 1D and 2D NumPy arrays
Creating, inspecting, and manipulating Pandas DataFrames
Matplotlib (Recommended)¶
You only need a basic familiarity with creating figures, for example:
plt.<plot_type>(...)
plt.xlabel(...)
plt.ylabel(...)
plt.title(...)
plt.show()All of the above concepts have been scaffolded for you at our Programming Guide.
Furthermore, don’t worry if you don’t remember everything from the Programming Guide. The goal is simply to work through it once and gain some hands-on experience with each concept, so that you have seen how the different pieces of Python work together. You are not expected to memorize the syntax.
As you progress through the neuroscience tutorials, these programming concepts will be revisited repeatedly and reinforced through practical applications. Our aim is for you to become comfortable with Python by using it to solve real neuroscience research problems, rather than by memorizing programming concepts in isolation.
If you have limited time, we strongly recommend focusing on the Preparation and Python Fundamentals sections before continuing. The necessary NumPy, Pandas, and Matplotlib concepts will be introduced and explained as they are needed throughout the tutorials.
Tutorial Overview¶
Tutorial 1 (Introductory): Visualizing Timeseries
Learn how to load, explore, subset, and visualize resting-state fMRI timeseries data using common Python libraries. This tutorial introduces the basic structure of neuroimaging timeseries data.
Tutorial 2 (Introductory): Functional Connectivity
Learn how to calculate and visualize functional connectivity (FC) matrices from timeseries data, and save each subject’s FC matrix locally for future analyses.
Tutorial 3 (Advanced): Graph Theoretical Analysis of Functional Networks
Learn the fundamentals of graph theory in neuroscience and calculate common graph theoretical measures from functional connectivity networks.
Tutorial 4 (Introductory): Linking Brain and Phenotypes (Part 1: Comparative Statistics)
Learn the fundamental concepts of statistical inference, including descriptive statistics, hypothesis testing, multiple comparison correction, bootstrapping, and permutation testing, before applying them to investigate relationships between brain measures and phenotypes.
Tutorial 5 (Advanced): Linking Brain and Phenotypes (Part 2: Correlation/Regression)
Learn how to model relationships between brain measures and phenotypes using correlation, simple linear regression, and multiple linear regression, and understand how these methods are used to answer neuroscience research questions.
Accessing the Dataset and Codebook¶
There are two ways to access the competition materials, depending on how you intend to use them.
Option 1: Read the Handbook Online¶
If you are simply reading the tutorials or learning about neuroimaging, you do not need to install anything.
You can simply read along. Or, the handbook you are currently reading can be downloaded directly using the Download button in the top-right corner of this page. This provides an offline copy of the tutorial materials and handbook.
Option 2: Download the Competition Repository¶
If you would like to perform the analyses yourself, you should download the official Connectome 2026–2027 GitHub repository.
The repository contains:
the competition codebook,
all programming tutorials,
and the preprocessed LEMON dataset
The repository is available at:
Software Requirements¶
Throughout this track, we will use Python for data analysis.
In addition to downloading the competition repository, participants will eventually need to install several software tools and packages, including:
Python
Conda (recommended for managing Python environments)
An integrated development environment (IDE), such as Visual Studio Code (VS Code)
Nilearn, a popular Python library for neuroimaging analysis: https://
nilearn .github .io /stable /quickstart .html NetworkX, a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks: https://
networkx .org /documentation /stable /index .html
You can learn how to install any packages in the Programming Guide.
Hardware Requirements¶
The tutorials are designed to run on a standard personal computer and do not require access to a high-performance computing (HPC) cluster or a dedicated GPU.
You should be able to complete all analyses on Windows, macOS, or Linux.
We recommend at least 8 GB of RAM if you are using Windows or Linux. If you are using a MacBook, it should be sufficient for the tutorials.
You should also have at least 10 GB of available disk space to accommodate the Python environment, competition repository, the preprocessed dataset, and any files you generate during your analyses.
If your computer does not meet these requirements, or you encounter hardware-related difficulties, please contact the competition organizers at clematis
We may be able to suggest alternative options depending on your circumstances.