Schedule overview ----------------- The bootcamp runs June 26–July 1, 2022, 9 am-6 pm in AAC 020. ---- Daily schedule -------------- - **Pre-bootcamp** + :ref:`Lesson 0: Configuring your computer` - **Day 1: Monday, June 27** + **9:00** - :ref:`Lesson 1: Welcome and Introduction to JupyterLab` + **9:45** - :ref:`Lesson 2: Basic command line skills` + **10:35** - :ref:`Lesson 3: Variables, operators, and types` + **11:20** - :ref:`Lesson 4: More operators and conditionals` + **noon** - Lunch break + **1:00** - :ref:`Exercise 1` + **1:45** - :ref:`Lesson 5: Lists and tuples` + **2:35** - :ref:`Lesson 6: Iteration` + **3:20** - :ref:`Lesson 7: Introduction to functions` + **4:10** - :ref:`Lesson 8: String methods` + **5:00** - :ref:`Exercise 1` - **Day 2: Tuesday, June 28** + **9:00** - :ref:`Review of Exercise 1` + **9:45** - :ref:`Lesson 9: Dictionaries` + **10:35** - :ref:`Lesson 10: Packages and modules` + **11:20** - :ref:`Lesson 11: File I/O` + **noon** - Lunch break + **1:00** - :ref:`Exercise 2` + **2:00** - :ref:`Lesson 12: Version control with Git` + **2:45** - :ref:`Lesson 13: Errors and exception handling` + **3:35** - :ref:`Exercise 2` + **5:20** - :ref:`Lesson 14: Style` - **Day 3: Wednesday, June 29** + **9:00** - :ref:`Review of Exercise 2` + **9:45** - :ref:`Lesson 15: Comprehensions` + **10:35** - :ref:`Lesson 16: Introduction to Pandas` + **11:20** - :ref:`Exercise 3` + **noon** - Lunch break + **1:00** - :ref:`Lesson 17: Tidy data and split-apply-combine` + **2:00** - :ref:`Lesson 18: Making plots` + **3:00** - :ref:`Exercise 3` + **5:10** - :ref:`Lesson 19: High level plotting with iqplot` - **Day 4: Thursday, June 30** + **9:00** - :ref:`Review of Exercise 3` + **9:45** - :ref:`Lesson 20: Styling Bokeh plots` + **10:40** - :ref:`Exercise 4` + **noon** - Lunch break + **1:00** - :ref:`Lesson 21: Introduction to Numpy and Scipy` + **1:45** - :ref:`Lesson 22: Plotting time series and generated data` + **2:35** - :ref:`Exercise 4` + **5:10** - :ref:`Lesson 23: Random number generation` - **Day 5: Friday, July 1** + **9:00** - :ref:`Review of Exercise 4` + **9:45** - :ref:`Lesson 24: Hacker stats I` + **10:35** - :ref:`Lesson 25: Hacker stats II` + **11:20** - :ref:`Exercise 5` + **noon** - Lunch break + **1:00** - :ref:`Lesson 26: Dashboards` + **1:45** - :ref:`Lesson 27: JavaScript for stand-alone Bokeh apps` + **2:35** - :ref:`Exercise 5` + **5:00** - :ref:`Lesson 28: Survey of other packages and languages` + **5:45** - :ref:`Lesson 29: Bootcamp recap` - **Auxiliary lessons** + :ref:`Lesson 30: Control of external devices` + :ref:`Lesson 31. Apps for controlling external devices` + :ref:`Lesson 32: Control panels` + :ref:`Lesson 33: More about the command line` + :ref:`Lesson 34: Regular expressions` + :ref:`Lesson 35: Introduction to scripting` + :ref:`Lesson 36: Introduction to object-oriented programming` + :ref:`Lesson 37: Algorithmic complexity` + :ref:`Lesson 38: Testing and test-driven development` + :ref:`Lesson 39: Examples of TDD` + :ref:`Lesson 40: High level plotting with HoloViews` + :ref:`Lesson 41: High level plotting with Altair` + :ref:`Lesson 42: More plotting with Altair` + :ref:`Lesson 43: Dealing with overplotting` + :ref:`Lesson 44: Introduction to image processing with scikit-image` + :ref:`Lesson 45: Basic image quantification` - **Auxiliary exercise** + :ref:`Exercise 6`