Next Steps in Numerical Methods

Unit 15, Lecture 1

Numerical Methods and Statistics

Prof. Andrew White, April 21, 2016

Take my advanced numerical methods course

Project-based course. Learn software engineering, advanced numerical methods, and how to create a compelling, cool-looking, accessible model/simulations.

Explore Other Packages

You've learned the basics of Numpy + Scipy. There is a huge number of other packages to explore.


  • SpacePy A suite of tools for interfacing with NASA data and numerical models of astrophysics.
  • BioPyhton An enourmously powerful package of tools for computational biochemistry
  • GIS Python A library for working with location based data (i.e., GPS)
  • PyCVF Computer vision library for image analysis

  • HOOMD-Blue A computational chemistry program writting in Python

Continue using Python in your other courses!

You can continue to use Python. As you become more professional, you should switch to using $\LaTeX$ in your homework. Use as place to write your Junoir Lab assignments or do your heat transfer class. Make your graphs in Python and do calculations, then place them into your LaTeX files.

Next Steps In Statistics

Take the Applied Statistics Courses in the Stats department

If you liked the distributions/hypothesis testing units, this is the class for you! You'll learn quite a bit more depth. If you prefer learning at your own pace, this Udacity course is a nice companion to the course you just took.

Machine Learning

If you liked the probability and model construction (regression) units, than you might like machine learning. There are many many online courses for this (Andrew Ng's course is the most famous online one) and most of it is done in Python. A hot field and I recommend digging a little bit into it


There is a new Data Science Institute on Campus. Check out its courses and consider taking a class there! Data-Science is built on statistics, so this course is good preparation.

Next Steps In Programming

Use it, Use it, Use it!

There is no other way to learn about programming other than to use it. The best way to learn is to do. Random project ideas:

  • Write a chat (FB, reddit, MSFT..) bot
  • Add to your CHE116 package with other functions
  • Learn to use Linux
  • Make a video game for your phone in Unity

Learn about Front-End

If you want to make website and make brazillions of dollars, continue learning HTML/CSS/JS. Learn to use Bootstrap or Foundation and make your first online business. Learn to write in AgularJS and grab a job tomorrow. Make the first thermodynamic property website, where people can look-up viscosity values without using a textbook. Phone-Apps can be written using the same tools as well

Learn another programming language

If you want to write high-performance speedy code, learn to write in C. If you want to experience the cutting-edge in programming language design, learn Rust. If you want to learn to write the most parallel programms, learn CUDA

Be Social

There is a vibrant and generally nice community of programmers. Make a Github account and you can help other people build software. Make a blog and share what you learn. Apply to conferences. Write a cool Python library and publish it. There is a lot out there!

Do Research

Now that you can programm in Python, you are positioned to be a top student for research both here and at other universities via REU programs. Apply for summer research and ask professors about research. I've had two past students get REUs due to Python knowledge. You are way ahead of the curve in engineering.