Skip to content

A set of learning modules in computing for engineering undergraduate students.

License

Notifications You must be signed in to change notification settings

engineersCode/EngComp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Engineering Computations

This project is a collection of learning modules in engineering computations for undergraduate students. The project lead is Prof. Lorena A. Barba at the George Washington University, Mechanical and Aerospace Engineering department. In Fall 2017, Prof. Barba worked with doctoral student Natalia C. Clementi to produce the first three modules of the series. With student Tingyu Wang, we wrote the fourth module in 2019. We began writing Module 5 in 2020 and Module 6 in 2021. These are work-in-progress

Eeach learning modules is made up of several lessons, written as a Jupyter notebook, and addressing an area of application or skills in computing. We use Python as the programming language.

Citation

How to clone this repository

This repository uses git submodules to include contents from individual repositories for each course module. To clone the complete collection, use the command:

git clone --recursive https://github.com/engineersCode/EngComp.git

Design philosophy

We take inspiration in the ideas of Seymour Papert about computational thinking. In particular, we want to design learning modules that adhere to Papert's Power Principle:

What comes first, "using" or "understanding"? The natural mode of learning is to first use, leading slowly to understanding. New ideas are a source of power to do something.

Learning Modules

Module 1: Get data off the ground — Learn to interact with Python and handle data with Python.

  1. Interacting with Python
  2. Play with data in Jupyter
  3. Strings and lists in action (a full example)
  4. Play with NumPy arrays
  5. Linear regression with real data

Module 2: Take off with stats — Hands-on data analysis using a computational approach and real-life applications.

  1. Cheers! Stats with beers
  2. Seeing stats in a new light
  3. Lead in lipstick (a full example)
  4. Life expectancy and wealth

Module 3: Tour the dynamics of change and motion — Tackling the dynamics of change with computational thinking.

  1. Catch things in motion
  2. Step to the future
  3. Get with the oscillations
  4. Bird's-eye view of mechanical vibrations

Module 4: Land on vector spaces — Using computational thinking to get deep insights on the foundations of linear algebra

  1. Transform all the vectors
  2. The matrix is everywhere
  3. Eigenvectors for the win
  4. Stick to the essentials: SVD

Module 5: Transform all the waves (Work-in-progress)

  • Manipulate complex numbers using Python. Explore information in wave form, programmatically and through visualization. Apply Fourier analysis on wave-like data.
  1. The simplicity of the complex (DONE)
  2. Untangle any waveform (WIP)
  3. From waves to Fourier
  4. What is a Fourier transform?

Module 6: Deep learning (Work-in-progress)**

  • Coming soon

License

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

About

A set of learning modules in computing for engineering undergraduate students.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published