# engineersCode/EngComp

A set of learning modules in computing for engineering undergraduate students.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
modules
.gitignore
.gitmodules

# 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.

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

## 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: Fly at change in systems — 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