# Useful learning resources (machine learning, data science, and software engineering)¶

Here are some great learning resources that I’ve found helpful.

## Machine Learning¶

If you’re interested in jobs in this area, I highly recommend Workera to help figure out what the roles are, what you’re suited to, what you need to improve on, and personalised plans to make this progress.

Machine learning:

Machine learning, Coursera, Andrew Ng.

Video lectures, CS229, Standford University.

Machine Learning Engineering for Production (MLOps) Specialization, Coursera, DeepLearning.AI.

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition, Aurélien Géron, 2019, O’Reilly Media, Inc.

Artificial Intelligence: A Modern Approach, 4th edition, Stuart Russell and Peter Norvig, 2021, Pearson.

Deep learning:

Deep Learning Specialization, Coursera, DeepLearning.AI.

Video lectures, CS230, Stanford University.

Syllabus, CS230, Stanford University.

NYU Deep Learning, Yann LeCun and Alfredo Canziani, NYU, 2021.

Deep Learning with Python, 2nd Edition, François Chollet, 2021, Manning.

Neural Networks for Machine Learning, Geoffrey Hinton.

Reinforcement learning:

RL Lecture Series, DeepMind and UCL, 2021.

Reinforcement learning, Emma Brunskill, Stanford University CS234, 2019.

Maths:

Linear Algebra, Gilbert Strang, MIT 18.06, 2005.

Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Gilbert Strang, MIT 18.065, 2018.

Misc:

## Data Science¶

Foundations

Computational and Inferential Thinking: The Foundations of Data Science, Ani Adhikari and John DeNero, Data 8: Foundations of Data Science course, UC Berkeley.

Data Science, Steven Skiena, CSE 519, Stony Brook University, 2020.

Python Data Science Handbook, Jake VanderPlas, 2016.

Databases:

Intro to SQL, Kaggle.

Advanced SQL, Kaggle.

Experiments:

Trustworthy Online Controlled Experiments : A Practical Guide to A/B Testing, Ron Kohavi, Diane Tang, and Ya Xu.

Causal Inference:

Causal Diagrams: Draw Your Assumptions Before Your Conclusions, Miguel Hernan, Harvard University.

Causal Inference Book, Hernán MA, Robins JM (2020). Causal Inference: What If. Boca Raton: Chapman & Hall/CRC.

The Book of Why: The New Science of Cause and Effect, Judea Pearl & Dana Nackenzie, 2019.

Introduction to Causal Inference, Brady Neal.

## Software Engineering¶

If you’re interested in jobs in this area, I highly recommend Teach Yourself Computer Science by Oz Nova and Myles Byrne. This will help navigate the key topics and best resources. Many of the resources below are directly taken from this great guide.

Programming:

Composing Programs, John DeNero, 61A course, UC Berkeley.

Practical Python Programming, David Beazley.

Python Distilled, David Beazley, 2021.

The Pragmatic Programmer, David Thomas and Andrew Hunt, 2019.

Algorithms and Data Structures:

Introduction to Algorithms, Srini Devadas and Erik Demaine, MIT 6.006, 2011.

Analysis of Algorithms, Steven Skiena, CSE 373, Stony Brook University, 2020.

Computer Architecture:

Great Ideas in Computer Architecture (Machine Structures). Krste Asanović and Vladimir Stojanovic, UC Berkeley CS61C, 2015.

Databases:

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, Martin Kleppmann, O’Reilly Media, Inc., 2017.

Misc:

Python Packages, Tomas Beuzen & Tiffany Timbers, 2021.

Modern Python Developer’s Toolkit, Sebastian Witowski, PyCon US 2020.

Introduction to Discrete Mathematics for Computer Science Specialization, University of California San Diego HSE University, Coursera.