Skip to content

Course repository for the Fall 2023 edition of Introduction to Python for Neuroscientists, run by students in the Columbia Neurobiology and Behavior PhD program.

License

Notifications You must be signed in to change notification settings

Columbia-Neuropythonistas/IntroPythonForNeuroscientists2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pfnf23_lowres

Introduction to Python for Neuroscientists

Course repository for the Fall 2023 edition of Introduction to Python for Neuroscientists, run by the Columbia Neurobiology and Behavior PhD program.

Course description: This class will give students a general and applied introduction to Python within the context of neuroscience. Topics covered will include setting up python, using git to track and publicize work, programming basics, data manipulation and visualization, machine learning, and navigating existing codebases. The course will culminate in a project where students will analyze data of their choice in Python (options will be provided for students who don’t have their own datasets). Students will then work to understand each other’s projects to get experience reading and understanding each others’ code, and to incentivize good documentation. Students will present their work to the class.

Course Structure: Classes will consist of live programming and instruction, with minimal out-of-class homework (see important dates below for details). Pair and group-programming will be used in addition to individual programming. Please bring your laptop – if you do not have one / that will be an issue, please contact us.

Prerequisites: No background in programming or math is required. All we ask is that you come with a desire to learn :)

Grades will be based on participation and the final project.

Email: [email protected]

Important dates:

  • By 9/4: Watch pre-videos, setup computer, and make a github account following these instructions.
  • Weeks 7-8: set up a time if you want to discuss your project with us
  • By 10/27: Submit 1-page project proposal
  • Week 9: Meet with us to discuss project proposal if necessary.
  • By 11/27: Submit project.
  • 12/7: Presentations

Schedule (subject to change):

Week Topic Lecturer Homework
Week 1 (9/7) Python Workflow:
- Use python locally in VSCode in file form and as Jupyter Notebooks (hello world)
- Set up conda environment
- Git Basics – create a repo and commit to it
Sharon HW0 (Submit on courseworks)
Week 2 (9/14) Python Basics:
- Why use python?
- Data Types & Variables (float, int, str, list, dict, tuple)
- Booleans & If/Else
Sharon
Week 3 (9/21) Python Basics:
- Lists
- Dictionaries
Renata
Week 4 (9/28) Python Basics:
- Python IDEs and Code Editors
- Tuples
- For Loops
- List Comprehension
- Enumerate
Renata
Week 5 (10/5) Python Basics:
- While Loops
- Functions
- return
- *args and **kwargs
- Errors
- Try/Except
Renata
Week 6 (10/12) Numpy:
- Why do we need numpy?
- Basic numpy functionalty
- How to manipulate and read out arrays
- How to solve mathematical problems in Python.
Abhi
Week 7 (10/19) Pandas and Data Visualization:
- Why is Pandas useful, and why do we need it for data science in Python?
- How do we use Pandas to manipulate data?
- How can we load and save data in pandas?
- How can we plot basic data in Python?
Abhi
Week 8 (10/26) Data Visualization and Object-oriented programming
- How can we make more complicated plots in Python?
- How can we use Seaborn to travers and plot large, complex datasets?
- How do we use documentation to find solutions to programming questions and problems?
- What is the basic structure of OOP in Python?
- How do we read others' OOP code?
Abhi HW8 (Submit on courseworks)
Week 9 (11/2) Navigating an expert codebase:
- Given a problem/input and a desired output, how can we use existing resources to implement a solution?
- Working through documentation and online resources to learn a package
- Adapting prewritten pipelines to custom needs
Sam
Week 10 (11/9) Project Day
Week 11 (11/16) Project Day
Skip for Thanksgiving (11/23) NO CLASS
Week 12 (11/30) Understanding Day
Week 13 (12/7) Presentations

Miscellaneous Resources

About

Course repository for the Fall 2023 edition of Introduction to Python for Neuroscientists, run by students in the Columbia Neurobiology and Behavior PhD program.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •