Using the IPython notebook as the computing platform for signals and systems courses

Abstract
The use of open-source Python as opposed to traditional computing platforms such MATLAB, Mathematica, and C/C++, is becoming more and more noticeable as all forms of opensource software develop. The Python user community itself is very vibrant, but what really stands out for those of us in signals and systems, is what is happening in the numerical computing side of Python. This paper will describe how in particular, the IPython notebook can be used as an analysis and simulation tool for teaching signals and systems courses. Specific code modules have been developed to augment existing Python code contained in the scipy.signal module. Case studies will be used to demonstrate the capabilities of the IPython notebook to augment lecture material with live calculations and simulations. Additionally, examples of how the IPython notebook has been successfully used by students for homework problems, computer projects and lab reports will be illustrated. Both student and industry team members in subcontract work, have responded favorably to the use of Python as an engineering problem solving platform.