Helpful Resources

This list will be updated throughout the semester as we find more to add. Here is something to get you started.

Math Topics

Videos

3Blue1Brown - Linear Algebra, Calculus, others

StatQuest with Josh Starmer - Statistics, Regression, also ML

Towards Data Science - especially Machine Learning algorithms

ritvikmath: data science for all

Dr. Trefor Bazett - Discrete Math, Linear Algebra, and Calculus

Readings

Logistic Regression slides from Penn State

Logistic Regression slides from UMass

Introduction to Probability and Statistics - MIT Open Courseware

General Programming

https://www.codewars.com/

https://regex101.com/ -- The ultimate regex troubleshooting site.

https://docs.python.org/3/library/re.html -- The Python doc page for regex, lots of good examples.

https://www.geeksforgeeks.org/ -- Fantastic site for "how to" pages -- If I see a listing from this site in my Google search results, it is the first place that I go to.

https://chrisalbon.com/ -- Site has a lot of "recipes" of how to do things in Python, from the most basic to advanced machine learning.

https://pythontutor.com -- Site that one can input code and see how it executes.

https://docs.python.org/3/tutorial/errors.html#raising-exceptions -- Documentation page on errors and exceptions in Python. Good explanations and examples.

https://towardsdatascience.com/comprehending-the-concept-of-comprehensions-in-python-c9dafce5111 -- Good article that explains various "comprehensions" in Python, along with the loops that they replace

Notebook 4

https://www.soa.org/news-and-publications/newsletters/compact/2014/may/com-2014-iss51/losing-my-precision-tips-for-handling-tricky-floating-point-arithmetic/ -- Good article on floating point arithmetic. At the end, it essentially walks through the underlying theory/application of how to solve NB4 Part 1.

https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html -- "What Every Computer Scientist Should Know About Floating-Point Arithmetic". The title says it all, very good "next reference" from the lectures.

https://www.h-schmidt.net/FloatConverter/IEEE754.html -- Online floating point converter. Like regex101 for floating point numbers.

Notebook 5

https://developer.chrome.com/docs/devtools/dom/ - How to use built in browser developer tools in Chrome (useful for viewing HTML source code)

Notebook 7

https://moonbooks.org/Articles/How-to-copy-an-array-matrix-in-python-/ -- Discussion of how to make a copy of an array. It may be simple, but this is often the root cause of students' code not working for this notebook.

https://www.geeksforgeeks.org/copy-python-deep-copy-shallow-copy/ -- Another good copy article on deep vs. shallow copies

Notebook 9

https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf -- Pandas "Cheat Sheet" with good pictures of what the code is doing.

https://www.youtube.com/playlist?list=PLeo1K3hjS3uuASpe-1LjfG5f14Bnozjwy -- YouTube video series of how to work in Pandas, organized by what one is trying to do. Walks through code examples in Jupyter Notebooks.

https://learnsql.com/tags/cheat-sheet/ - A few different SQL "Cheat Sheets" with examples of common queries and syntax

https://realpython.com/python-f-strings/ - Basic guide to string formatting in Python, useful for inputting variables into SQL queries

Notebook 10

https://www.w3schools.com/python/numpy/numpy_intro.asp -- Tutorials for Numpy functionality. Another good overall programming site (W3 Schools).

https://www.tutorialspoint.com/numpy/index.htm -- Tutorials for Numpy functionality.

https://numpy.org/doc/stable/user/basics.broadcasting.html - Additional resource on Broadcasting functionality from the Numpy documentation.

Updated: 2024-01-08