In this tutorial OOP foundations will be explored fitting signals and waves into objects.
We will follow a top-down methodology, by modelling signals from scratch, creating fatty objects, and then tweaking their representation introducing inheritance and delegation. We will talk about Python magic methods to implement processing operations. We will eventually see how to implement the Iterator Design Pattern.
Trough the session, we will keep a special eye on code explicitness and simplicity, highlighting pros and cons of every implementation.
A laptop with Python installed is the sole requirement. Neverthless, it could be handful having a Jupyter notebook instance running to visualize and listen to signals easily. In this case only numpy and matplotlib should be already installed.