All Projects → numerical-mooc → Numerical Mooc

numerical-mooc / Numerical Mooc

Licence: other
A course in numerical methods with Python for engineers and scientists: currently 5 learning modules, with student assignments.

Projects that are alternatives of or similar to Numerical Mooc

Eigentechno
Principal Component Analysis on music loops
Stars: ✭ 655 (-3.82%)
Mutual labels:  jupyter-notebook
Learnpython
以撸代码的形式学习Python
Stars: ✭ 6,040 (+786.93%)
Mutual labels:  jupyter-notebook
Medium notebook
Repository containing notebooks of my posts on Medium
Stars: ✭ 671 (-1.47%)
Mutual labels:  jupyter-notebook
Tensorslow
Re-implementation of TensorFlow in pure python, with an emphasis on code understandability
Stars: ✭ 657 (-3.52%)
Mutual labels:  jupyter-notebook
Tensorflow tutorials
From the basics to slightly more interesting applications of Tensorflow
Stars: ✭ 5,548 (+714.68%)
Mutual labels:  jupyter-notebook
Captcha Tensorflow
Image Captcha Solving Using TensorFlow and CNN Model. Accuracy 90%+
Stars: ✭ 660 (-3.08%)
Mutual labels:  jupyter-notebook
Architectureplaybook
The Open Architecture Playbook. Use it to create better and faster (IT)Architectures. OSS Tools, templates and more for solving IT problems using real open architecture tools that work!
Stars: ✭ 652 (-4.26%)
Mutual labels:  jupyter-notebook
Hchasestevens.github.io
A collection of miscellaneous thoughts that aren't on my blog.
Stars: ✭ 678 (-0.44%)
Mutual labels:  jupyter-notebook
Self Driving Car
The Udacity open source self-driving car project
Stars: ✭ 5,769 (+747.14%)
Mutual labels:  jupyter-notebook
Asteroids atlas of space
Code, data, and instructions for mapping orbits of asteroids in the solar system
Stars: ✭ 668 (-1.91%)
Mutual labels:  jupyter-notebook
Deep Recommender System
深度学习在推荐系统中的应用及论文小结。
Stars: ✭ 657 (-3.52%)
Mutual labels:  jupyter-notebook
Just Pandas Things
An ongoing list of pandas quirks
Stars: ✭ 660 (-3.08%)
Mutual labels:  jupyter-notebook
Notebook
Stuff going through my mind
Stars: ✭ 664 (-2.5%)
Mutual labels:  jupyter-notebook
Batchgenerators
A framework for data augmentation for 2D and 3D image classification and segmentation
Stars: ✭ 655 (-3.82%)
Mutual labels:  jupyter-notebook
Pseudo lidar
(CVPR 2019) Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for Autonomous Driving
Stars: ✭ 674 (-1.03%)
Mutual labels:  jupyter-notebook
Tutorials
Ipython notebooks for math and finance tutorials
Stars: ✭ 654 (-3.96%)
Mutual labels:  jupyter-notebook
Jdata
京东JData算法大赛-高潜用户购买意向预测入门程序(starter code)
Stars: ✭ 662 (-2.79%)
Mutual labels:  jupyter-notebook
Shapash
Shapash makes Machine Learning models transparent and understandable by everyone
Stars: ✭ 673 (-1.17%)
Mutual labels:  jupyter-notebook
Cracking The Data Science Interview
A Collection of Cheatsheets, Books, Questions, and Portfolio For DS/ML Interview Prep
Stars: ✭ 672 (-1.32%)
Mutual labels:  jupyter-notebook
Keras Io
Keras documentation, hosted live at keras.io
Stars: ✭ 664 (-2.5%)
Mutual labels:  jupyter-notebook

Practical Numerical Methods with Python

This project started in 2014 as a multi-campus, connected course (plus MOOC) on numerical methods for science and engineering.

In Fall 2015 and 2016, second and third run of the connected courses, we had these instructors participating (using the materials as part of their syllabus):

"Practical Numerical Methods with Python" is an open, online course hosted on an independent installation of the Open edX software platform for MOOCs. The MOOC (massive open online course) was run in 2014 for the first time by Prof. Barba at the George Washington University. At the same time, two other participating instructors ran a local course, for credit at their institution.

The MOOC

You can register for the MOOC at any time in the GW Online Open edX platform to experience the complete course (including quizzes, examples and discussion board).

All content is open —really open, i.e., you can use, share, mod, remix— and most is available outside the course platform also (on GitHub and YouTube).

Find the list of IPython Notebooks, with links to nbviewer, in the Wiki.

Getting Started

  1. Introduction to the command line: OS X version; RedHat version
  2. Installing Jupyter
  3. Introduction to Jupyter notebooks
  4. Introduction to git

Course Modules

  1. The phugoid model of glider flight. Described by a set of two nonlinear ordinary differential equations, the phugoid model motivates numerical time integration methods, and we build it up starting from one simple equation, so that the unit can include 3 or 4 lessons on initial value problems. This includes: a) Euler's method, 2nd-order RK, and leapfrog; b) consistency, convergence testing; c) stability Computational techniques: array operations with NumPy; symbolic computing with SymPy; ODE integrators and libraries; writing and using functions.
  2. Space and Time—Introduction to finite-difference solutions of PDEs. Starting with the simplest model represented by a partial differential equation (PDE)—the linear convection equation in one dimension—, this module builds the foundation of using finite differencing in PDEs. (The module is based on the “CFD Python” collection, steps 1 through 4.) It also motivates CFL condition, numerical diffusion, accuracy of finite-difference approximations via Taylor series, consistency and stability, and the physical idea of conservation laws. Computational techniques: more array operations with NumPy and symbolic computing with SymPy; getting better performance with NumPy array operations.
  3. Riding the wave: convection problems. Starting with an overview of the concept of conservation laws, this module uses the traffic-flow model to study different solutions methods for problems with shocks: upwind, Lax-Friedrichs, Lax-Wendroff, MacCormack, then MUSCL (discussing limiters). Reinforces concepts of numerical diffusion and stability, in the context of solutions with shocks. It will motivate spectral analysis of schemes, dispersion errors, Gibbs phenomenon, conservative schemes.
  4. Spreading out: diffusion problems. This module deals with solutions to parabolic PDEs, exemplified by the diffusion (heat) equation. Starting with the 1D heat equation, we learn the details of implementing boundary conditions and are introduced to implicit schemes for the first time. Another first in this module is the solution of a two-dimensional problem. The 2D heat equation is solved with both explicit and implict schemes, each time taking special care with boundary conditions. The final lesson builds solutions with a Crank-Nicolson scheme.
  5. Relax and hold steady: elliptic problems. Laplace and Poisson equations (steps 9 and 10 of “CFD Python”), seen as systems relaxing under the influence of the boundary conditions and the Laplace operator. Iterative methods for algebraic equations resulting from discretizign PDEx: Jacobi method, Gauss-Seidel and successive over-relaxation methods. Conjugate gradient methods.

Planned modules:

  • Perform like a pro: making your codes run faster Getting performance out of your numerical Python codes with just-in-time compilation, targeting GPUs with Numba and PyCUDA.
  • Boundaries take over: the boundary element method (BEM). Weak and boundary integral formulation of elliptic partial differential equations; the free space Green's function. Boundary discretization: basis functions; collocation and Galerkin systems. The BEM stiffness matrix: dense versus sparse; matrix conditioning. Solving the BEM system: singular and near-singular integrals; Gauss quadrature integration.

Sponsors

The initial deployment of the GW SEAS Open edX instance and the creation of the first course in the platform (Fall 2014) were funded with a seed grant from the GW VP for Online Education and Academic Innovation, TA support from the GW School of Engineering and Applied Sciences, and additional support from Nvidia Corp. Academic Programs and Amazon AWS (donated cloud credits for the first year).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].