Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/astrojuanlu/workshop-debugging-python
Workshop: "Into the rabbit hole: Debugging in Python"
https://github.com/astrojuanlu/workshop-debugging-python
Last synced: 2 months ago
JSON representation
Workshop: "Into the rabbit hole: Debugging in Python"
- Host: GitHub
- URL: https://github.com/astrojuanlu/workshop-debugging-python
- Owner: astrojuanlu
- Created: 2023-08-12T09:38:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-26T14:49:19.000Z (about 1 year ago)
- Last Synced: 2024-06-13T01:47:58.476Z (7 months ago)
- Language: Jupyter Notebook
- Homepage: https://github.com/astrojuanlu/workshop-debugging-python/blob/main/slides.ipynb
- Size: 3.47 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Workshop: "Into the rabbit hole: Debugging in Python"
![Rabbit hole](./img/rabbit-hole.gif)
Your code gives an error. Or worse: it doesn't give an error, but doesn't do what you want.
Welcome to the hard part of programming! What to do now?In this talk we will talk about debugging, which includes a broad set of techniques
to identify the root causes of undesired behavior in programs and eventually fix them.
We will start with a theoretical introduction of the different types of debugging,
we will describe a couple of techniques that you can use, and we will apply them in practice,
both in Jupyter Notebook (using its new interactive debugger) and in VSCode.## Outline
1. Why debugging is important
2. Sources of bugs
3. Types of debugging: tracing vs interactive
4. Debugging is problem solving: divide and conquer, hypothesis testing
5. Think of your future self
6. Practical debugging in Jupyter
7. Practical debugging in VSCode
8. Conclusions## Preparatory work
Ahead of the workshop, submit some code that *doesn't* work!
To do that, open a new issue at https://github.com/astrojuanlu/workshop-debugging-python/issues/new.
I will collect several examples and choose a few of them to show how to debug them.