Open and Reproducible Neuroscience: Rough course outline

Rough course outline

course_outline

Schedule

Day 1 08:30 The layers of computing Where, exactly, is my data? Where should it be?
Where is the computer analyzing my data? Can I make it go faster?
How do all of these places relate to each other?
What is the shell and why do I care?
What is python? What is IPython? What is Juypter?
What are the tools we’ll be using in the course?
09:00 Variables and Assignment How can I store data in programs?
09:20 Data Types and Type Conversion What kinds of data do programs store?
How can I convert one type to another?
09:40 Built-in Functions and Help How can I use built-in functions?
How can I find out what they do?
What kind of errors can occur in programs?
10:05 Morning Coffee Break
10:20 Lists How can I store multiple values?
10:45 Iteration in Python How can I make a program do many things?
11:10 Introduction to the data Where can I get neuroimaging data
What is FAIR data
11:35 Working with the command history and script-files How can I save and edit my previous input commands conveniently?
12:00 Open Science Why the push for open science?
12:30 Finish
Day 2 08:30 Libraries and pathlib How can I use software that other people have written?
How can I find out what that software does?
09:00 Introduction to Version Control and Git What is version control and why should I use it?
How do I get set up to use Git?
Where does Git store information?
09:30 Versioning edits with Git How do I record changes in Git?
How do I record notes about what changes I made and why?
10:00 Debugging How can I debug my program?
10:10 Conditionals How can programs do different things for different data?
10:30 Modular programming How can I create my own functions?
11:00 Keeping track of changes with Git How can I identify old versions of files?
How do I review my changes?
How can I recover old versions of files?
11:30 Pandas
12:30 Finish
Day 3 08:30 Plotting with Seaborn
09:00 Converting data to the BIDS directory structure
09:30 Collaboration with Git and GitHub How do I share my changes with others on the web?
How can I use version control to collaborate with other people?
What do I do when my changes conflict with someone else’s?
10:30 Coffee Break
10:45 How to share neuroimaging data
11:45 How to not fool yourself
12:15 Finish
Day 4 08:30 Containers What is a software container?
What’s Docker? What’s Singularity? And what is each good for?
How do I run software in a container?
How do I build a container?
What are some best practices to ensure reproducibility and ease of use?
How do I use containers that are publicly available on Docker Hub and Singularity Hub?
Where can I go to learn more?
09:30 Standardization in Neuroimaging
10:30 Coffee Break
10:45 Study pre-registration
11:30 Pre-print servers
11:45 Wrap-up
12:30 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.