FSRI: Introduction to Programming Bootcamp¶
This bootcamp provides an intensive, hands-on, pragmatic introduction to computer programming. Many of the examples are aimed at biologists and bioengineers, but scientists and engineers of all disciplines will learn useful programming skills. No previous programming experience is assumed. Python is the language of instruction. Students will learn basic concepts such as data types, control structures, string processing, functions, input/output, etc., while writing code applied to scientific problems. At the end of the course, students will be able to write code and analyze and plot data.
For timing of the live-via-Zoom offering of the bootcamp, see the schedule. Enrollees will be emailed a Zoom link.
People¶
Instructor
Justin Bois (bois at caltech dot edu)
TAs
Victoria Chen (vcchen at caltech dot edu), office hours: 6-8 pm Wednesdays
Jessica Sun (jsun2 at caltech dot edu), office hours: 6-8 pm Mondays
Git repository¶
Files you will need to complete the bootcamp can be found in this repository on GitHub. Instructions for forking and cloning the repository are found in Lesson 0.
- 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: Style
- Lesson 13: Introduction to Pandas
- Lesson 14: Tidy data and split-apply-combine
- Lesson 15: Making plots
- Lesson 16: High level plotting
- Lesson 17: Introduction to Numpy and Scipy
- Lesson 18: Plotting time series and generated data
- Lesson 19: Version control with Git
- Lesson 20: Errors and Exception handling
- Lesson 21: Testing and test-driven development
- Lesson 22: Examples of TDD
- Lesson 23: High level plotting with HoloViews
- Lesson 24: Dashboards
- Lesson 25: Survey of other packages and languages
- Lesson 26: Bootcamp recap