DBC Intro to Programming Courses 2020

Dynamic Brain Circuits "Intro to Programming" courses

Following the feedback at the DMCBH Faculty Research retreat and the DMCBH Neuroinformatics Working Group Needs Assessment Survey, Dynamic Brain Circuits (DBC) has organized introductory courses for MATLAB, Python, and R. These will be led by the DBC's Neurodata tutors. No prior experience is required. Rough outlines of topics are listed below. Proposed start date: Oct 30, 2020.


R tutorial: We will use materials from the UBC Master of Data Science program. Rough schedule:

  1. Week 1: Intro to R, setting up a programming environment, data types, getting help
  2. Week 2: Intro to R, reading data into R, data cleaning and pre-processing
  3. Week 3: Intro to R, control flow (if-else, loops, pipes, etc.)
  4. Week 4: Intro to R, writing functions, best practices
  5. Week 5: Working with R, visualizations using ggplot
  6. Week 6: Working with R, differential expression analysis using Limma-voom (or maybe DESeq2)
  7. Week 7: Working with R, dimensionality reduction
  8. Week 8: Working with R, statistical analysis: sampling, bootstrapping, hypothesis testing, etc
  9. Week 9: Working with R, developing interactive web apps using R Shiny
  10. Week 10: Working with R, how to handle big data


MATLAB tutorial: We will use the MATLAB materials from the DMCBH NINC MATLAB course available on the DBC Github organization. Rough schedule:

  1. Week 1: Install and Intro
  2. Week 2: Matrices & Basic Indexing
  3. Week 3: Basic & Logical Indexing
  4. Week 4: Strings
  5. Week 5: Figures & Plots
  6. Week 6: Review & Worked Image processing example
  7. Week 7: Loops 1
  8. Week 8: Loops 2
  9. Week 9: If Statements
  10. Week 10: Functions
  11. Week 11: Files
  12. Week 12: Input from Keyboard and Mouse
  13. Week 13: Intro to User Interfaces


Python tutorial: We will use the material from the Allen Institute for Brain Science/University of Washington Summer Workshop on the Dynamic Brain Python bootcamp. These are available on Github.

  1. Week 1: Notebooks 00_introduction & 01_Basic_Python_I_Object_and_Data_Structures
  2. Week 2: 02_Basic_Python_II
  3. Week 3: 03_Intro_to_Scientific_Computing & 04_Intro_to_numpy
  4. Week 4: 05_Custom_Modules_and_Version_Control
  5. Week 5: 06_Introduction_To_Matplotlib
  6. Week 6: 07_Introduction_To_Pandas