Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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"

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.