Skip to content

Latest commit

 

History

History
47 lines (44 loc) · 2.01 KB

File metadata and controls

47 lines (44 loc) · 2.01 KB

Intro

  • visual neuroscience and electrophysiology
  • joined Laura Busse's lab, work on mouse vision and behaviour, while recording neurophysiology and doing optogenetic manipulation
  • my python experience:
    • needed visual stimulus presentation program
    • found VisionEgg, written in Python by a neuroscientist/entomologist, flexibility, features we needed, and it was free!
    • not just free, open source: code can be inspected and modified by anyone, if desired
    • Python was the first open-source thing I'd used, eventually switched from windows to linux
  • also use python for:
    • neural spike sorting & data analysis
    • database system for storing all our lab data
    • simpler things like renaming a bunch of files/folders in nested hierarchy
    • arithmetic, simple calculations instead of a calculator
  • motivation:
    • example: load data, analyze, plot, save
  • quick intros: name, status, programming background, data analysis wants/needs
  • helping each other out
  • course is lecture + exercise class (Nick)
    • lecture: introduce concepts, exercise class: practice the concepts
  • grades:
    • attendance: 30%, all or nothing
      • can miss up to 3 out of 14 days, any more and no credit
    • participation in both lecture and exercise class: 30%
      • good, mediocre, none: 100%, 50%, 0%
    • final project: 40%
      • meet list of requirements that are fairly easy to fulfill
      • code needs to run successfully
      • work on it during last 2 or 3 exercise classes
    • no homework! but programming is a skill, like any other language, need to practice listening/speaking it, or in this case, reading/writing it

Outline

  1. Python basics
  2. Python basics 2
  3. collections, files
  4. numpy 1D arrays
  5. plotting with matplotlib
  6. numpy ND arrays, numpy functions
  7. algorithms
  8. organizing code, data, results
  9. version control with Git
  10. object-oriented programming
  11. data analysis with Pandas
  12. command line interfaces
  13. intro to GUIs: Jupyter notebook & PyQt
  14. data acquisition