The examples and supporting code for this book are written in Python. You should know core Python and be familiar with its object-oriented features, specifically using and defining classes.
If you are not already familiar with Python, you might want to start with a Runestone text that is appropriate for people who have never programmed before– there are now several good choices.
We will use the NumPy, SciPy, and NetworkX libraries throughout the book. If you are familiar with these libraries already, that’s great, but we will also explain them when they appear.
Some mathematics is also used. Logarithms are used in several places and vectors in one example. But that’s about it.