Lessons
Lesson 0: Configuring your computer
Lesson 1: Welcome and Introduction to JupyterLab
Lesson 2: Basic command line skills
Lesson 3: Variables, operators, and types
Lesson 4: More operators and conditionals
Lesson 5: Lists and tuples
Lesson 6: Iteration
Lesson 7: Introduction to functions
Lesson 8: String methods
Lesson 9: Dictionaries
Lesson 10: Packages and modules
Lesson 11: File I/O
Lesson 12: Version control with Git
Lesson 13: Errors and exception handling
Lesson 14: Style
Lesson 15: Comprehensions
Lesson 16: Introduction to Pandas
Lesson 17: Tidy data and split-apply-combine
Lesson 18: Making plots
Lesson 19: High level plotting with iqplot
Lesson 20: Styling Bokeh plots
Lesson 21: Introduction to Numpy and Scipy
Lesson 22: Plotting time series and generated data
Lesson 23: Random number generation
Lesson 24: Hacker stats I
Lesson 25: Hacker stats II
Lesson 26: Dashboards
Lesson 27: JavaScript for stand-alone Bokeh apps
Lesson 28: Survey of other packages and languages
Lesson 29: Bootcamp recap
Auxiliary lessons
Lesson 30: Control of external devices
Lesson 31. Apps for controlling external devices
Lesson 32: Control panels
Lesson 33: More about the command line
Lesson 34: Regular expressions
Lesson 35: Introduction to scripting
Lesson 36: Introduction to object-oriented programming
Lesson 37: Algorithmic complexity
Lesson 38: Testing and test-driven development
Lesson 39: Examples of TDD
Lesson 40: High level plotting with HoloViews
Lesson 41: High level plotting with Vega-Altair
Lesson 42: More plotting with Vega-Altair
Lesson 43: Dealing with overplotting
Lesson 44: Introduction to image processing with scikit-image
Lesson 45: Basic image quantification
Lesson 46: Plotting with Matplotlib and Seaborn
Exercises
Exercise 1
Exercise 2
Exercise 3
Exercise 3.1: Mastering .loc for Pandas data frames
Exercise 3.2: Split-Apply-Combine of the frog data set
Exercise 3.3: Adding data to a data frame
Exercise 3.4: Axes with logarithmic scale and error bars
Exercise 3.5: Automating scatter plots
Exercise 4
Exercise 5
Exercise 6
Exercise solutions
Exercise 1 solutions
Exercise 2 solutions
Exercise 3 solutions
Exercise 4 solutions
Exercise 5 solutions
Exercise 6 solutions
Schedule
Schedule overview
Daily schedule
Resources
Scientific Python distribution
Online instruction
Books
Griffin Chure’s templates for reproducible publishing
Programming Bootcamp
View page source
Exercise 3
Exercise 3.1: Mastering .loc for Pandas data frames
Exercise 3.2: Split-Apply-Combine of the frog data set
Exercise 3.3: Adding data to a data frame
Exercise 3.4: Axes with logarithmic scale and error bars
Exercise 3.5: Automating scatter plots