Tour of the dynamics of change and motion using computational thinking with Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE change module name, update Binder link Nov 5, 2018

Engineering Computations Module 3

Engineering Computations is a set of stackable learning modules, that can be 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.

After the two foundation course modules, equipping you with the coding patterns for numerical computing, this module is our launching pad to investigate the dynamics of change and motion using computational thinking.

Module 3: Tour the dynamics of change and motion

Tackling the dynamics of change with computational thinking.

Get an interactive session in with these course materials by clicking on the button below. Select the folder notebooks_en to access the five lessons of this course as fully executable Jupyter notebooks.


Lesson 1: Catch things in motion

Working with images and videos in Python using imageio. Interactive Matplotlib figures in the notebook, and capturing mouse clicks on images for digitizing an object's position. Computing velocity and acceleration from position captures: a falling ball, and projectile motion. Computing numerical derivatives using differences. Free-fall acceleration from real data.

Lesson 2: Step to the future

Computing velocity and position from accelerometer data: a roller-coaster ride. Using the subplot() function go draw more than one plot in the same figure. Euler's method for initial-value problems, and Taylor expansion showing first-order accuracy. The second-order differential model for an object in free fall written as two first-order differential equations, leading to a vector form. General design of a code to solve ordinary differential equations (ODEs). Application to free fall of a tennis ball and comparison with experimental data. Improved model accounting for air resistance.

Lesson 3: Get with the oscillations

Differential model of a spring-mass system without friction: state vector and system in vector form. Amplitude growth with Euler's method on oscillatory systems, and the fix: Euler-Cromer method (semi-implicit Euler). Numerically observed order of accuracy using a convergence plot: numerical error with different time increments, ∆t. Modified Euler's method, and observed order of accuracy.

Lesson 4: Bird's-eye view of mechanical vibrations

General spring-mass systems with damping and a driving force, revealing a variety of behaviors. Presents a powerful new method to study dynamical systems based on visualizing direction fields and trajectories in the phase plane.

Copyright and License

(c) 2017 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!

License License: CC BY 4.0