Logo

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: Survey of other packages and languages
  • Lesson 24: Bootcamp recap

Auxiliary lessons

  • Lesson 25: Random number generation
  • Lesson 26: Hacker stats I
  • Lesson 27: Hacker stats II
  • Lesson 28: Dashboards
  • Lesson 29: JavaScript for stand-alone Bokeh apps
  • 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 solutions

  • Exercise 1 solutions
  • Exercise 2 solutions
  • Exercise 3 solutions
  • Exercise 4 solutions
  • Exercise 5 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
Previous Next

Last updated on Jun 24, 2024.

© 2015–2024 Justin Bois. With the exception of pasted graphics, where the source is noted, this work is licensed under a Creative Commons Attribution License CC-BY 4.0. All code contained herein is licensed under an MIT license.

This document was prepared at Caltech with financial support from the Donna and Benjamin M. Rosen Bioengineering Center.



Built with Sphinx using a theme provided by Read the Docs.