All Projects → cjekel → Introduction-to-Python-Numerical-Analysis-for-Engineers-and-Scientist

cjekel / Introduction-to-Python-Numerical-Analysis-for-Engineers-and-Scientist

Licence: MIT license
Introduction to Python: Numerical Analysis for Engineers and Scientist. In 2017, Python became the world's most popular programming language. This course covers the basic syntax, linear algebra, plotting, and more to prepare students for solving numerical problems with Python.

Programming Languages

Jupyter Notebook
11667 projects
TeX
3793 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Introduction-to-Python-Numerical-Analysis-for-Engineers-and-Scientist

Owl
Owl - OCaml Scientific and Engineering Computing @ http://ocaml.xyz
Stars: ✭ 919 (+735.45%)
Mutual labels:  linear-algebra, plotting
Cpp-Examples
Numerical C++ examples.
Stars: ✭ 38 (-65.45%)
Mutual labels:  linear-algebra, numerical-analysis
Julia-data-science
Data science and numerical computing with Julia
Stars: ✭ 54 (-50.91%)
Mutual labels:  linear-algebra, numerical-analysis
numerics
library of numerical methods using Armadillo
Stars: ✭ 17 (-84.55%)
Mutual labels:  linear-algebra, numerical-analysis
python for scientists
Python Open Courseware for Scientists and Engineers
Stars: ✭ 55 (-50%)
Mutual labels:  engineer, scientists
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+1726.36%)
Mutual labels:  linear-algebra, numerical-analysis
Data-Science-Tutorials
Python Tutorials for Data Science
Stars: ✭ 104 (-5.45%)
Mutual labels:  introduction-to-programming, introduction-to-python
introduction-to-computer-science
Microsoft TEALS Program - Introduction to Computer Science
Stars: ✭ 93 (-15.45%)
Mutual labels:  students, introduction-to-programming
math-for-ml
Mathematical preliminaries for machine learning
Stars: ✭ 15 (-86.36%)
Mutual labels:  linear-algebra, numerical-analysis
python-for-everybody-solutions
Solutions to Python for Everybody: Exploring Data using Python 3 by Charles Severance
Stars: ✭ 166 (+50.91%)
Mutual labels:  introduction-to-programming, introduction-to-python
Mathter
A flexible and fast matrix, transform and geometry library.
Stars: ✭ 105 (-4.55%)
Mutual labels:  linear-algebra
Naive-Bayes-Evening-Workshop
Companion code for Introduction to Python for Data Science: Coding the Naive Bayes Algorithm evening workshop
Stars: ✭ 23 (-79.09%)
Mutual labels:  introduction-to-python
tmap
A very fast visualization library for large, high-dimensional data sets.
Stars: ✭ 146 (+32.73%)
Mutual labels:  plotting
bandicoot-code
Bandicoot: GPU accelerator add-on for the Armadillo C++ linear algebra library
Stars: ✭ 21 (-80.91%)
Mutual labels:  linear-algebra
PDMats.jl
Uniform Interface for positive definite matrices of various structures
Stars: ✭ 97 (-11.82%)
Mutual labels:  linear-algebra
Chia-Plot-Status
GUI Tool for beginners and experts to Monitor and Analyse Chia Plotting log files, show health and progress of running plots and estimated time to completion. No setup, configuration or installation of python or whatever required. Just install and enjoy.
Stars: ✭ 187 (+70%)
Mutual labels:  plotting
numereval
A small library to locally calculate the scores on numer.ai tournament's diagnostics dashboard.
Stars: ✭ 31 (-71.82%)
Mutual labels:  plotting
Linear-Algebra-and-Its-Applications-notes
《线性代数及其应用》笔记
Stars: ✭ 196 (+78.18%)
Mutual labels:  linear-algebra
qdldl
A free LDL factorisation routine
Stars: ✭ 54 (-50.91%)
Mutual labels:  linear-algebra
pyMeteo
Meteorological routines
Stars: ✭ 59 (-46.36%)
Mutual labels:  plotting

About

Python is a general purpose programming language. This course covers the basics, linear algebra, plotting, and more to prepare students for solving numerical problems with Python. Python is a viable free and open alternative to MATLAB. Prerequisite: Some intro to programming course or equivalent.

This is a 1 credit hour course that was taught in the MAE department at the University of Florida during the Fall 2017 semester. There are fourteen 50 minute lectures.

View the syllabus!

View the course flyer used for advertising the course within the department.

Why

During the 2016 academic year I noticed that there were a large number of students wanting to learn Python. Unfortunately for the students, there are limited opportunities at UF to learn and apply Python. To fill this void, I created a 1 credit hour course on Python tailored for graduate students in the MAE department.

References

These books were the inspiration for a large portion of the lectures.

  1. J. VanderPlas. A Whirlwind Tour of Python. O'Reilly Media 2016. https://github.com/jakevdp/WhirlwindTourOfPython http://www.oreilly.com/programming/free/files/a-whirlwind-tour-of-python.pdf
  2. J. VanderPlas. Python Data Science Handbook: Essential Tools for Working with Data. O'Reilly Media 2016. https://github.com/jakevdp/PythonDataScienceHandbook http://shop.oreilly.com/product/0636920034919.do
  3. W. McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython 2nd Edition. O'Reilly Media 2017. http://shop.oreilly.com/product/0636920050896.do https://github.com/wesm/pydata-book

Course material

Lectures were performed using the presentation slides along with a Jupyter Notebook. If you are working through this material on your own, I recommend that you interact with the Jupyter Notebook while following through the lecture slides. Jupyter Notebooks can be launched after installing Anaconda (with Spyder) or Canopy. Supplementary material, including files necessary to complete the home work, is available in the lecture folders.

Lecture Description Slides Jupyter Notebook Home Work Solutions
About Python (2 vs 3), IDEs, IPython , notebooks, and installation lecture00.pdf NA hw00.pdf NA
Basics: data types, math, loops lecture01.pdf lecture01.ipynb hw01.pdf HW01 Solution
Loops, functions, classes, objects lecture02.pdf lecture02.ipynb hw02.pdf HW02 Solution
Objects, Namespace, Python libraries, and pip lecture03.pdf lecture03.ipynb hw03.pdf HW03 Solution
Numpy and Matrix operations lecture04.pdf lecture04.ipynb hw04.pdf HW04 Solution
More Numpy and Matplotlib for 2D plots (First quiz 15 mins before end of class) lecture05.pdf lecture05.ipynb hw05.pdf HW05 Solution
Contour plots, 3D plot, Histograms lecture06.pdf lecture06.ipynb hw06.pdf HW06 Solution
Statistical distributions and functions lecture07.pdf lecture07.ipynb hw07.pdf HW07 Solution
Optimization in Scipy lecture08.pdf lecture08.ipynb hw08.pdf HW08 Solution
Python read and write: opening and modifying text/csv files lecture09.pdf lecture09.ipynb hw09.pdf HW09 Solution
Symbolic math with SymPy , DOE with pyDOE (Second quiz 15 mins before end of class) lecture10.pdf lecture10.ipynb hw10.pdf HW10 Solution
Scikit-learn: surrogate modeling lecture11.pdf lecture11.ipynb hw11.pdf HW11 Solution
Scikit-learn: surrogate modeling and machine learning lecture12.pdf lecture12.ipynb hw12.pdf HW12 Solution
Pandas and DataFrames / Review for final lecture13.pdf lecture13.ipynb hw13.pdf HW13 Solution

Quiz

Exam

Python Code Editing environment

If you are just starting out with Python, I highly recommend installing Anaconda. Anaconda will include the most popular scientific libraries. My favorite text editor / IDE for Python is Visual Studio Code which is free and open source. I have a blog post on how to setup Code for Python. Code has many wonderful features for working with Python, and will help you write Python code that follows the PEP 8 style guide.

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