NEURBIO 247: Programming for Neuroscience Research is taught in Fall Quarter by Professor Craig Stark.


Dr. Craig Stark

Overlaps with PSYCH 205A.

Course Objective:

A neuroscience-specific introduction to programming and data analysis using either MATLAB or Scientific PYTHON. Students will learn general programming skills and effective use of programming for data management, statistical analysis, and image analysis.

Topic Overview:

# Topic
PART I Basics of Programming and Python
ints, floats, and bools
Strings in Python 3
Tuples, Sets,  Dictionaries
Preview of NumPy Arrays
Anatomy of a Program (Dive Into Python: Chapter 1)
Data Types in Python  (Dive Into Python: Chapter 2)
Understanding Scope, Variables, and Functions
Using the IDE
Bonus Material

  • Directories, Files, and Compressions (Drive into Python: Chapter 3)
  • The Filesystem Structure
  • Portable Code Issues
  • Managing and Creating Paths
  • Globbing
PART II Basics of NumPy and SciPy
Differences Between NumPy Arrays and Python Lists
Creating Arrays

  • Empty, Ones, Zeros, etc
  • The Make-It-Like Functions
  • “Views” or “Slices” and the Power / Danger of Equals Sign
Indexing Arrays

  • Simple Indexing
  • Slices
  • Logical Indexing
Math Function in ndarray objects

  • Built-in Function Sampler
  • Array-Based Math vs. Iteration (Why we use NumPy)
File I/O
Masked Arrays
Statistical Function in SciPy
Basic Plotting in Matplotlib
PART III Using Pandas for Data Analysis 
Data Frames and Series
Selecting Portions of Data
Importing and Exporting Data inData Frames
Using Pandas for Pretty Plots

Download Sample Syllabus