Schedule overview ----------------- The bootcamp runs Monday through Friday June 14-June 25, 2021 from 1-5:30 pm PST via Zoom. Enrollees have a private Zoom link emailed to them. Each lesson is approximately 40 minutes and is followed with a break. The lessons are given live via Zoom, but are recorded for future reference. Enrollees will also have private video links emailed to them. ---- Daily schedule -------------- - **Pre-bootcamp** + :ref:`Lesson 0: Configuring your computer` - **Day 1: Monday, June 14** + **1:00** - :ref:`Lesson 1: Welcome and Introduction to JupyterLab` + **1:45** - :ref:`Lesson 2: Basic command line skills` + **2:30** - :ref:`Lesson 3: Variables, operators, and types` + **3:20** - :ref:`Lesson 4: More operators and conditionals` + **4:05** - :ref:`Lesson 5: Lists and tuples` + **4:50** - :ref:`Exercise 1` - **Day 2: Tuesday, June 15** + **1:00** - :ref:`Review of Exercise 1` + **1:30** - :ref:`Lesson 6: Iteration` + **2:45** - :ref:`Lesson 7: Introduction to functions` + **3:15** - :ref:`Lesson 8: String methods` + **4:05** - :ref:`Exercise 2` - **Day 3: Wednesday, June 16** + **1:00** - :ref:`Review of Exercise 2` + **1:45** - :ref:`Lesson 9: Dictionaries` + **2:35** - :ref:`Lesson 10: Packages and modules` + **3:20** - :ref:`Lesson 11: File I/O` + **4:10** - :ref:`Exercise 3` - **Day 4: Thursday, June 17** + **1:00** - :ref:`Review of Exercise 3` + **1:45** - :ref:`Lesson 12: Version control with Git` + **2:35** - :ref:`Lesson 13: Errors and Exception handling` + **3:20** - :ref:`Lesson 14: Testing and test-driven development` + **4:10** - :ref:`Lesson 15: Examples of TDD` + **4:45** - :ref:`Exercise 4` - **Day 5: Friday, June 18** + **1:00** - :ref:`Review of Exercise 4` + **1:45** - :ref:`Lesson 16: Style` + **2:35** - :ref:`Lesson 17: Introduction to Pandas` + **3:20** - :ref:`Lesson 18: Tidy data and split-apply-combine` + **4:10** - :ref:`Exercise 5` - **Day 6: Monday, June 21** + **1:00** - :ref:`Review of Exercise 5` + **1:45** - :ref:`Lesson 19: Making plots` + **2:35** - :ref:`Lesson 20: High level plotting` + **3:20** - :ref:`Lesson 21: Introduction to Numpy and Scipy` + **4:10** - :ref:`Exercise 6` - **Day 7: Tuesday, June 22** + **1:00** - :ref:`Review of Exercise 6` + **1:45** - :ref:`Lesson 22: Plotting time series and generated data` + **2:35** - :ref:`Lesson 23: Random number generation` + **3:20** - :ref:`Exercise 7` - **Day 8: Wednesday, June 23** + **1:00** - :ref:`Review of Exercise 7` + **1:45** - :ref:`Lesson 24: Comprehensions` + **2:35** - :ref:`Lesson 25: Hacker stats I` + **3:20** - :ref:`Lesson 26: Hacker stats II` + **4:10** - :ref:`Exercise 8` - **Day 9: Thursday, June 24** + **1:00** - :ref:`Review of Exercise 8` + **1:45** - :ref:`Lesson 27: High level plotting with HoloViews` + **2:35** - :ref:`Lesson 28: Dealing with overplotting` + **3:20** - :ref:`Lesson 29: Dashboards` + **4:10** - :ref:`Exercise 9` - **Day 10: Friday, June 25** + **1:00** - :ref:`Review of Exercise 9` + **1:45** - :ref:`Lesson 30: JavaScript for stand-alone Bokeh apps` + **2:35** - :ref:`Lesson 31: Introduction to scripting` + **3:20** - :ref:`Lesson 32: Survey of other packages and languages` + **4:05** - :ref:`Lesson 33: Bootcamp recap` - **Auxiliary lessons** + :ref:`Lesson 34: More about the command line` + :ref:`Lesson 35: Regular expressions` + :ref:`Lesson 36: Introduction to object-oriented programming` + :ref:`Lesson 37: Algorithmic complexity` + :ref:`Lesson 38: Introduction to image processing with scikit-image` + :ref:`Lesson 39: Basic image quantification` + :ref:`Lesson 40: Control of external devices` + :ref:`Lesson 41: Apps for controlling external devices` + :ref:`Lesson 42: Control panels` - **Auxiliary exercise** + :ref:`Exercise 10`