Engineering Computations is a collection of stackable learning modules, flexible for adoption in different situations. It aims to develop computational skills for students in engineering, but it can also be used by students in other science majors. The course uses the Python programming language and the Jupyter open-source tools for interactive computing.
Manipulate complex numbers using Python. Explore information in wave form, programmatically and through visualization. Apply Fourier analysis on wave-like data.
Pre-requisites: learning modules EngComp 1 and EngComp 4 of our collection.
Lesson 0: The simplicity of the complex
What are complex numbers? Visualize it! Play with complex numbers in Python. Functions of complex numbers. Euler's formula. Geometry of complex numbers— The conjugate is a reflection. Geometry of multiplication and De Moivre's formula. Reciprocal and division. Patterns i^n.
Lesson 1: Untangle any waveform
What is sound? Waveforms. Play with audio in Python. Read and write audio files. Understanding the Fourier transform, with an "almost" Fourier approach: wind a waveform around a unit circle; the winding frequency affects how the signal maps on the complex plane; when the frequency is "just right," see a peak in the mean value of the real parts of the wound signal—we have a "frequency detection machine"!
(c) 2019 Lorena A. Barba, Natalia C. Clementi. All content is under Creative Commons Attribution CC-BY 4.0, and all code is under BSD-3 clause. We are happy if you re-use the content in any way!