Briefly introduce computer programming and its connection to neuroscience, and teach the basic fundamentals of computer programming in a one-day short-course.
For the latter, use a neuroscience related dataset and structure CS concept presentation around exploring that data. More on the dataset is in the dataset README. If there's time, introduce a basic neural net implementation.
Use a low barrier-to-entry scripting language (Python here, but R or possibly Ruby would be good too).
Provide some motivation and an introduction to computer science and how it's connected to neuroscience (mini-lecture).
Cover basic use of the scripting language, and get a file loaded into memory (on the computer).
To get started, open this code repository in a jupyter tab.
- Introduce the Jupyter Notebook, and run a "Hello World!" program in a notebook.
- Variables and variable access.
- I/O & load data from file.
- Functions and modules. (We've used a function already!)
- Loops and iteration.
- Row field access. (Remember accessing values in a list by position or in a dictionary by key?)
Cover some more basic programming constructs, and perform basic processing of the file data.
- Type conversions and template strings for output formatting.
- Write formatted output to screen.
- Math (i.e., change in measurement from A to B, percentage).
- Conditionals.
- Bonus! Implementation of a simple 3-layer neural network.
- Review what we learned
- Discuss methods to continue exploring computer programming
- Provide resources for further study