Skip to content

Supplementary Materials

Gilad Gressel edited this page Oct 5, 2016 · 7 revisions

To Contribute Resources

If you have a resource you would like to share with the group, bring it to the attention of the Slack admins in #to_admin, and we'll add it to our list for everyone to see.

How to organize your Data Science Projects (Folder structure)

Excellent Material on how to organize your data-science project

Sites

Textbooks and Links

Nanodegree Links

Supervised Learning

Unsupervised Learning

Machine Learning

Mathematics

  • A free source for math textbooks
  • An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, Shewchuck
  • Computational science and engineering, Gilbert Strang
  • Concrete Mathematics, Graham, Knuth, Patashnik
  • Introduction to Linear Algebra, Gilbert Strang
    • My favorite book of all time, @joshuacook (seconded, @nash)
    • Ask @joshuacook about why linear algebra is the bee’s knees and how to study it
  • Introduction to Mathematical Statistics, Hogg
  • Linear Algebra Done Right, Axler
  • Linear Algebra Done Wrong, Treil
  • Linearity, Symmetry, and Prediction in the Hydrogen Atom, Singer
  • Pearls in Graph Theory, Hartsfield, Ringel
  • Convex Optimization, Stephen Boyd and Lieven Vandenberghe

Python and Programming

  • A Guide to Numpy, Travis Oliphant free here
    • Timothy Oliphant wrote numpy and now runs Continuum Analytics
  • All the Mathematics You Missed But Need to Know for Graduate School, Garrity
  • Becoming a Better Programmer, Pete Goodliffe
  • Data Structures and Algorithms in Python, Goodrich, Tamassia, Goldwasser
  • Effective Computation in Physics, Scopatz, Huff
  • Expert Python Programming, Ziade
  • Flask Web Development, Grinberg
  • Fluent Python, Ramalho
  • Functional Python Programming, Lott
  • Introduction to Computing Using Python, Perkovic
  • IPython Interactive Computing and Visualization Cookbook, Rossant
    • IPython Notebook is now called Jupyter. Still a great reference.
  • Learn Python the Hard Way, Zed Shaw
  • Numerical Python, Johansson
  • NumPy Cookbook, Idris
  • Python Scripting for Computational Science, Langtangen
  • Python 3 Object Oriented Programming, Phillips
  • SciPy and NumPy, Bressert
  • scikit-learn Cookbook, Hauck
  • Structure and Interpretation of Computer Programs, Abelson, Sussman
  • The Pragmatic Programmer, Hunt, Thomas
  • The TexBook, Knuth

The Think Series

A series of books by Allen Downey. Excellent introduction and exploration of Python topics both related to the Python Data Model and Mathematical Python.

  • Think Python (free)
  • Think Bayes
  • Think Stats
  • Think Complexity
  • Think DSP

Installing Jupyter

Jupyter is extremely well documented. Their installation instructions are here.

If you are feeling adventurous, running Jupyter via Docker is not only very well supported, it might even in the long run be easier. Here is how to run Jupyter in Docker:

  1. Install Docker - instructions for Mac, Windows, and Linux.
  2. From the command line type:
    • $ docker run jupyter/scipy-notebook
  3. When the above process completes (downloading the jupyter/scipy-notebook image from Docker Hub), it should start and now be running (usually at localhost:8888). Enter that URL in your browser.