Schedule overview ----------------- The bootcamp runs August 18–21, 2025, 9:00–16:00. We meet in the K. B. Weissman Auditorium in Weissman Building, which houses part of the Faculty of Physics. ---- Daily schedule -------------- - **Pre-bootcamp** + :ref:`Lesson 0: Configuring your computer for the bootcamp` - **Day 1: Monday, August 18** + **9:00** - :ref:`Lesson 1: Welcome and Introduction to JupyterLab` + **9:45** - :ref:`Lesson 3: Variables, operators, and types` + **10:35** - :ref:`Lesson 4: More operators and conditionals` + **11:20** - :ref:`Lesson 5: Lists and tuples` + **12:00** - Lunch break + **13:00** - :ref:`Lesson 6: Iteration` + **13:45** - :ref:`Lesson 7: Introduction to functions` + **14:35** - :ref:`Lesson 8: String methods` + **15:20** - :ref:`Exercise 1` - **Day 2: Tuesday, August 19** + **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` + **12:00** - Lunch break + **13:00** - :ref:`Lesson 12: Version control with Git` + **13:45** - :ref:`Lesson 13: Errors and exception handling` + **14:35** - :ref:`Lesson 14: Style` + **15:20** - :ref:`Exercise 2` - **Day 3: Wednesday, August 20** + **9:00** - :ref:`Review of Exercise 2` + **9:45** - :ref:`Lesson 15: Comprehensions` + **10:35** - :ref:`Lesson 16: Introduction to data frames and Polars` + **11:20** - :ref:`Lesson 17: Tidy data and split-apply-combine` + **noon** - Lunch break + **13:00** - :ref:`Lesson 18: Making plots` + **14:00** - :ref:`Lesson 19: High level plotting with iqplot` + **15:00** - :ref:`Exercise 3` - **Day 4: Thursday, August 21** + **9:00** - :ref:`Review of Exercise 3` + **9:45** - :ref:`Lesson 20: Styling Bokeh plots` + **10:35** - :ref:`Lesson 21: Introduction to Numpy and Scipy` + **11:20** - :ref:`Lesson 22: Plotting time series and generated data` + **noon** - Lunch break + **13:00** - :ref:`Exercise 4` + **15:15** - :ref:`Lesson 23: Survey of other packages and languages` + **15:45** - :ref:`Lesson 24: Bootcamp recap` - **Auxiliary lessons** + :ref:`Lesson 2: Basic command line skills` + :ref:`Lesson 25: Random number generation` + :ref:`Lesson 26: Hacker stats I` + :ref:`Lesson 27: Hacker stats II` + :ref:`Lesson 28: Dashboards` + :ref:`Lesson 29: JavaScript for stand-alone Bokeh apps` + :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 Vega-Altair` + :ref:`Lesson 42: More plotting with Vega-Altair` + :ref:`Lesson 43: Dealing with overplotting` + :ref:`Lesson 44: Introduction to image processing with scikit-image` + :ref:`Lesson 45: Basic image quantification` + :ref:`Lesson 46: Plotting with Matplotlib and Seaborn` - **Auxiliary exercise** + :ref:`Exercise 5`