This page contains information for preparing for NeuroHackademy! Not everything suggested on this page is required; we expect you to chart your own path through the program, with this page serving as a convenient reference.
Setup and Technical Information
NeuroHackademy uses a JupyterHub cloud-computing server for lecture materials and hack projects. The JupyterHub provides an interface to Jupyter notebooks and terminals running on virtual machines remotely in the cloud. We have provisioned these virtual machines to have all of the software tools and configuration details that we typically need for projects in the course, and the machines should have plenty of computing power and memory for our purposes.
Critically, because we use remote virtual machines, you do not need to do anything to setup your laptop for the course aside from having a contemporary web-browser installed. If you would like to install tools like Python, the terminal/shell, and git on your local laptop, this page, maintained by the Carpentries organization, has instructions for installing these tools locally.
To connect to the JupyterHub, direct your browser to https://neurohackademy.2i2c.cloud/. Authentication is performed using your GitHub credentials, so after clicking the “Log In to Continue” button followed by the “Log On” button, you should be prompted for your GitHub username and password.
Logistics
Logistical information about travel, housing, and internet can be found on the Logistics Page!
Review Resources
You do not need to review any particular material prior to the NeuroHackademy—for topics like Python programming we will have lectures in two tracks: introductory Python and advanced topics. However, if you are interested in brushing up on some of the topics we cover, here are some useful resources.
- Software Carpentry. The Carpentries is a not-for-profit organization that publishes and administers public lessons on basic data science tools. This website contains a listing of their basic lessons on the UNIX shell (also frequently called BASH or the terminal), Python, Git/GitHub, and R. These lessons are written with commentary so that individuals can walk through them on their own, but it is also fairly easy to find in-person recordings of these lessons as lectures via YouTube (just search for “Software Carpentry”).
- Previous NeuroHackademy Lectures. Most of the lectures from previous years of the NeuroHackademy were recorded and can be viewed on YouTube. These lectures are organized by year and schedule on the neurohackademy.org website (navigate to “Courses” then to a specific year, then to a specific lecture). Here are several of the past lectures organized by topic rather than year; note that this list is mainly focused on basic data science skills, so past lectures on specific neuroscience topics may not be shown.
- Git and GitHub
- Version Control with Git and GitHub (Elizabeth DuPre, 2020)
- Using Git and GitHub for Collaboration, Part 1 (Ariel Rokem, 2021)
- Using Git and GitHub for Collaboration, Part 2 (Ariel Rokem, 2021)
- Introductory Python
- Introduction to Programming in Python (Tal Yarkoni, 2020)
- Introduction to Programming in Python, Part 1 (Noah Benson, 2021)
- Introduction to Programming in Python, Part 2 (Noah Benson, 2021)
- Data Manipulation in Python (numpy/pandas) (Tal Yarkoni, 2020)
- Creating Sharable Python Libraries (Ariel Rokem, 2020)
- Advanced Python
- Numerical Computing in Python (J.B. Poline, 2019)
- Data Visualization (Kirstie Whitaker, 2020)
- High Performance Computing (Ariel Rokem, 2020)
- Parallelization with Python/dask (Ariel Rokem, 2022)
- Advanced Programming in Python (Jon Kruper, 2023)
- Machine Learning and AI
- Introduction to Machine Learning (Tal Yarkoni, 2020)
- Machine Learning with Scikit-Learn (Tal Yarkoni, 2019)
- Deep Learning (Ariel Rokem, 2019)
- Introduction to PyTorch (Noah Benson, 2021)
- Deep Learning and CNNs (Noah Benson, 2022)
- Docker
- Docker (Chris Gorgolewsky, 2020)
- Docker, Part 1 (Noah Benson, 2021)
- Docker, Part 2 (Noah Benson, 2021)
- Cloud Computing
- Cloud Computing for Neuroimaging (Tara Madhyastha, Amanda Tan, and Ariel Rokem, 2020)
- Cloud Computing (Naomi Alterman)
- Neuroscience Tools and Data
- Workflows/Nipype (Satra Ghosh, 2020)
- NiBabel: Neuroimaging data and file structures in Python (Chris Markiewicz, 2020)
- Nilearn (Elizabeth DuPre, 2020)
- Nipreps (Oscar Esteban, 2020)
- Brain Imaging Data Structure (BIDS) (Kirstie Whitaker, 2020)
- Brain Imaging Data Structure (BIDS) (Ariel Rokem, 2024)
- Introduction to the Geometry and Structure of the Human Brain (Noah Benson, 2020)
- Machine Learning for Neuroimaging (Elizabeth DuPre, 2023)
- Git and GitHub
- The Python Data Science Handbook. This book, by Jake VanderPlas, is a somewhat more advanced reference for data science topics in Python. It is highly recommended for intermediate and advanced scientist programmers, and it is open source. This page has basic information about the book, including a link to a free version online.