There are plenty of discussions about what data science is, what defines a data scientist, and how to position yourself as a competitive applicant. Far fewer resources exist that help aspiring data scientists acquire the necessary skills. Here we will provide a collection of freely accessible materials and content to kick off your understanding of Data Science theory and tools.
This incredible list of resources was compiled by Jonathan Dinu, Co-founder of , a school teaching data science through an immersive 12-week course. If you're interested in a more structured learning environment, Zipfian Academy's program provides project-based curriculum and industry connections.
A Practical Introduction to Data Science from Zipfian Academy
Python is a great programming language of choice for aspiring data scientists due to its general purpose applicability, a (or ) learning curve, and — perhaps the most compelling reason — the rich ecosystem of and actively used by the scientific community.
When learning a new language in a new domain, it helps immensely to have an interactive environment to explore and to receive immediate feedback. IPython provides an interactive REPL which also allows you to integrate a wide variety of frameworks (including ) into your Python programs.
Data scientists are better at software engineering than statisticians and better at statistics than any software engineer. As such, statistical inference underpins much of the theory behind data analysis and a solid foundation of statistical methods and probability serves as a stepping stone into the world of data science.
: A basic introductory statistics course.
: A applied Statistics course that teaches the complete pipeline of statistical analysis
: Introduction to probability, sampling, regression, common distributions, and inference.
While R is the de facto standard for performing statistical analysis, it has quite a high learning curve and there are other areas of data science for which it is not well suited. To avoid learning a new language for a specific problem domain, we recommend trying to perform the exercises of these courses with Python and its numerous statistical libraries. You will find that much of the functionality of R can be replicated with , @, @, and @
Well-written books can be a great reference (and supplement) to these courses, and also provide a more independent learning experience. These may be useful if you already have some knowledge of the subject or just need to fill in some gaps in your understanding:
: An Introduction to Probability and Statistics for Python programmers
: Textbook for Berkeley’s Stats 134 class, an introductory treatment of probability with complementary exercises.
: Compiled lecture notes of above textbook, complete with exercises.
: Statistics: Introductory text book with supplementary exercises and labs in an online portal.
: An simple introduction to Bayesian Statistics with Python code examples.
A solid base of Computer Science and algorithms is essential for an aspiring data scientist. Luckily there are a wealth of great resources online, and machine learning is one of the more lucrative (and advanced) skills of a data scientist.
: Stanford’s famous machine learning course taught by Andrew Ng.
: Statistical methods and data analysis applied to physical, engineering, and biological sciences.
: An introduction to the techniques of data mining and how to apply ML algorithms to garner insights.
: Introduction to Artificial Intelligence: The first half of Berkeley’s popular AI course that teaches you to build autonomous agents to efficiently make decisions in stochastic and adversarial settings.
: MIT’s introductory course to the theory and application of Computer Science.
: An introduction to machine learning concepts focusing on the intuition and explanation behind why they work.
: A web based book complete with code samples (in Python) and exercises.
: An introduction to computer science with code examples in Python — covers algorithm analysis, data structures, sorting algorithms, and object oriented design.
: An interactive Decision Tree guide (with hyperlinked lectures) to learning data mining and ML.
: One of the most comprehensive treatments of data mining and ML, often used as a university textbook.
: Textbook from a Stanford course on NLP and information retrieval with sections on text classification, clustering, indexing, and web crawling.
DATA INGESTION AND CLEANING
One of the most under-appreciated aspects of data science is the cleaning and munging of data that often represents the most significant time sink during analysis. While there is never a silver bullet for such a problem, knowing the right tools, techniques, and approaches can help minimize time spent wrangling data.
: A hands on approach to learning to clean data, with plenty of exercises and web resources.
: An introduction to the concepts and techniques of sampling data, accounting for erroneous values, and manipulating the data to transform it into acceptable formats.
(formerly Google Refine): A powerful tool for working with messy data, cleaning, transforming, extending it with web services, and linking to databases. Think Excel on steroids.
: Stanford research project that provides an interactive tool for data cleaning and transformation.
: “The ultimate stream editor,” used to process files with regular expressions often used for substitution.
: “Another cornerstone of UNIX shell programming” — used for processing rows and columns of information.
The most insightful data analysis is useless unless you can effectively communicate your results. The art of visualization has a long history, and while being one of the most qualitative aspects of data science its methods and tools are well documented.
: Graduate class on the techniques and algorithms for creating effective visualizations.
: A treatment of data visualization and how to meaningfully present information from the perspective of Statistics.
: Connects the concepts of computing with data to the process of interactively visualizing results.
: Not freely available, but perhaps the most influential text for the subject of data visualization. A classic that defined the field.
: A gentle introduction to plotting and charting data, with exercises.
: An introduction to the process of predictive modeling, and a treatment of the visualization of its results.
: Data-Driven Documents — Declarative manipulation of DOM elements with data dependent functions (with ).
: A visualization grammar built on top of D3 for declarative visualizations in JSON. Released by the dream team at , it provides a higher level abstraction than D3 for creating “ or SVG based graphics.
: A charting library built on top of D3 with a focus on interactive time series graphs.
: A lightweight library with a simple interface for working with maps in the browser (with ports to multiple languages).
: Very simple (only six charts) HTML5 “ based plotting library with beautiful styling and animation.
COMPUTING AT SCALE
When you start operating with data at the scale of the web (or ), the fundamental approach and process of analysis must change. To combat the ever increasing amount of data, Google developed the paradigm. This programming model has become the de facto standard for large scale batch processing since the release of Apache in 2007, the open-source MapReduce framework.
: A course — taught in close collaboration with Twitter — that focuses on the tools and algorithms for data analysis as applied to Twitter microblog data (with project based curriculum).
: An introduction to dealing with large quantities of data from the web; how the tools and techniques for acquiring, manipulating, querying, and analyzing data change at scale.
: A course on scaling machine learning algorithms on Hadoop to handle massive datasets.
: A treatment of handling large datasets through dimensionality reduction, classification, feature parametrization, and efficient data structures.
: A broad introduction to the systems, algorithms, models, and optimizations necessary at scale.
: Stanford course resources on large scale machine learning and MapReduce with accompanying book.
: An introduction to algorithms for the indexing and processing of text that teaches you to “think in MapReduce.”
: The most thorough treatment of the Hadoop framework, a great tutorial and reference alike.
: An introduction to the Pig framework for programming data flows on Hadoop.
PUTTING IT ALL TOGETHER
Data Science is an inherently multidisciplinary field that requires a of skills to be a proficient practitioner. The necessary curriculum has not fit into traditional course offerings, but as of the for individuals who have such abilities is growing, we are seeing universities and private companies creating custom classes.
: A course taught by Jeff Hammerbacher and Mike Franklin that highlights each of the varied skills that a Data Scientist must be proficient with.
: A lab oriented course that teaches you the entire pipeline of data science; from acquiring datasets and analyzing them at scale to effectively visualizing the results.
: A tour of the basic techniques for Data Science including SQL and NoSQL databases, MapReduce on Hadoop, ML algorithms, and data visualization.
: A very comprehensive course that covers all aspects of data science, with an humanistic treatment of the field.
(with ): Another Columbia course — teaches applied software development fundamentals using real data, targeted towards people with mathematical backgrounds.
(with and ): An applied statistics course that covers algorithms and techniques for analyzing data and interpreting the results to communicate your findings.
: The companion textbook to Syracuse University’s flagship course for their new Data Science program.
: A guided tour of setting up a development environment, an introduction to making your first competition submission, and validating your results.
Data Science is an infinitely deep field that requires time to master. We would love for you to join the over @ and let us know if you want to learn more about any of these topics.
Also, if you've made it this far, you should check out the 12-week immersive program at ZipfianAcademy.com.