1713
Bernoulli publishes the law of large numbers
Ars Conjectandi introduced a result connecting repeated observations with long-run frequency. It established a mathematical bridge between chance models and empirical regularity.
Data and AI
How the field of a Data Scientist got here: the sourced milestones from every published course of this career, on one axis.
1713 to 2025
287 milestones across 30 courses
The axis stretches toward recent years, where most milestones fall. Bars count milestones per year; dots are single milestones.
71 milestones
1713
Ars Conjectandi introduced a result connecting repeated observations with long-run frequency. It established a mathematical bridge between chance models and empirical regularity.
1763
The posthumous essay gave a rule for updating a probability after observing evidence. It became the basis for the prior, likelihood, and posterior structure used in Bayesian inference.
1786
William Playfair used statistical graphics to present commercial and political data. The work established charts as a form for comparing quantitative change and magnitude.
1805
Legendre's appendix on determining comet orbits introduced the least squares criterion for combining observations, the estimation rule every regression fit still uses.
1809
Gauss's Theoria motus developed the method independently and grounded it in the theory of errors, giving least squares the probabilistic foundation that underpins regression inference.
1812
Laplace consolidated probability methods and their applications to observational error and inference. The work helped establish probability as a general analytical tool rather than a gambling topic.
1855
The report included a map of cholera cases around the Broad Street pump. It made spatial distribution part of an argument about a public-health question.
1869
Charles Joseph Minard combined geographic position, army size, direction, and temperature in one statistical graphic. It remains a reference for combining several variables without treating a chart as decoration.
1886
Galton's analysis of hereditary stature observed offspring heights regressing toward the population mean, and the term became the name of the modeling method that grew out of that work.
1900
Pearson formalized a statistic based on squared differences between observed and expected counts. Count-based drift comparisons inherit this contingency-table foundation.
1900
Pearson's criterion compared observed and expected frequencies. It supplied a reusable test statistic for categorical data and model fit.
1900
Pearson's paper supplied a formal way to compare observed and expected frequencies. It established a foundational pattern for judging a model or hypothesis against held-out observations.
1901
Pearson describes fitting lines and planes of closest fit to points. The work established the geometric basis for reducing correlated measurements to principal components.
1908
Working as "Student" at Guinness, Gosset derived the exact small-sample behavior of estimates, giving regression coefficients their correct standard errors and intervals at realistic sample sizes.
1922
Fisher's paper treated the interpretation of chi-squared statistics and calculation of P. It shaped the significance-testing vocabulary later used in applied hypothesis testing.
1922
Fisher's paper on the mathematical foundations of theoretical statistics established the estimation framework, including consistency and efficiency, that regression's optimality claims rest on.
1926
Fisher set out principles for arranging agricultural field experiments to improve precision and estimate error. The work connected design choices to valid comparison of treatment averages.
1933
Kolmogorov's result supplied the basis for comparing an empirical cumulative distribution with a reference distribution.
1933
Their work defined a decision framework for testing statistical hypotheses. It made error rates and power central design quantities.
1935
Fisher's book presented experimental procedure and significance testing together. It became a reference point for randomization, replication, and planned inference.
1936
Fisher described a rule for separating groups from measured features. Classification evaluation later inherited the need to count correct and incorrect decisions from such rules.
1939
The two-sample form made it possible to compare reference and current empirical distributions without specifying a parametric family.
1943
The paper represented neural activity with threshold units and logical operations. It supplied a mathematical starting point for networks of simplified neurons.
1946 Jun
The paper described optimum multifactorial designs for studying many component changes against a measured characteristic. It provided a compact screening approach when a full factorial is too large.
1948 Oct 30
The British Medical Journal published a controlled tuberculosis trial with concealed random allocation. The design demonstrated randomized comparison in a high-stakes medical setting.
1950
Alan Turing proposed the imitation game — now called the Turing test — as a criterion for machine intelligence, grounding the field's central question in the ability to process and generate language.
1950 Oct
Turing proposed the imitation game as a way to discuss machine intelligence. The paper framed a long-running question about machine behavior rather than a specific implementation method.
1951
Their divergence between statistical distributions became the component later symmetrized in Jensen–Shannon divergence.
1951 Jan
Box and Wilson described sequential experiments for finding settings that optimize a quantitative response. The method made experimentation an iterative route toward operating conditions rather than a single comparison.
1954
Researchers at Georgetown University and IBM automatically translated 60 Russian sentences into English using six grammar rules, sparking decades of optimism — and eventual disillusionment — about fully automatic translation.
1954
Page's sequential inspection scheme accumulated evidence over observations, establishing a basis for later cumulative streaming detectors.
1954
Peterson, Birdsall, and Fox analyzed detection as a decision under signal and noise. This provided the threshold trade-off framing that later supports ROC analysis.
1956
The Dartmouth project used the term artificial intelligence for a summer research effort. It helped establish AI as a named field of research.
1957
Bellman’s book established recursive value-based methods for multistage decision problems. Its optimality principle became the mathematical basis for Bellman equations in reinforcement learning.
1957
Sokal and Michener publish a quantitative approach to classifying organisms from many characters. It helped establish systematic similarity-based grouping as a practical task.
1958
The perceptron presented a trainable classifier based on labeled examples.
1958
The perceptron established a trainable linear classifier with adjustable weights. It made learning from examples a concrete procedure for a neural model.
1958
Frank Rosenblatt described the perceptron, a trainable linear classifier that adjusts its weights from labeled examples. It established the template this course's "core idea" section still follows: choose a model, train it on data, evaluate it on new inputs.
1966
Joseph Weizenbaum's ELIZA simulated a psychotherapist using pattern matching and substitution, demonstrating that simple rules could produce convincing-seeming conversation — and that users would attribute understanding where none existed.
1967
Jacques Bertin described visual variables and their use in graphic representation. The work gave later visualization practice a vocabulary for marks and visual encodings.
1967
The paper grounded prediction by nearby labeled examples as a supervised method.
1967
Cover and Hart proved that the nearest-neighbor decision rule's error rate is bounded relative to the best possible classifier, giving the simple "classify by closest examples" idea a theoretical foundation. The rule is this course's kNN algorithm.
1967
MacQueen describes methods for classifying multivariate observations, including the iterative approach now known as K-means. It made center-based partitioning a standard baseline.
1970
Established AR, MA, and ARIMA modeling as the dominant paradigm for time-series forecasting, grounding the lag and window concepts that later feature engineering builds on.
1970
E. F. Codd published A Relational Model of Data for Large Shared Data Banks. It established the table-and-relation model that SQL later made usable as a query language.
1970
Terry Winograd's SHRDLU system understood and executed English commands within a simulated blocks world, showing that structured natural language input was tractable in sufficiently constrained domains.
1970
Tukey's preliminary edition established exploratory analysis as a distinct approach before its later book publication.
1971
SMART documented weighted term representations for automatic document retrieval. That established an early practical pattern for converting text into numeric inputs.
1973
Anscombe's constructed quartets produced the same fitted lines, R-squared, and intervals from visibly different relationships, making residual plotting a mandatory step rather than an optional extra.
1974
Stone applied cross-validation to both selecting and assessing statistical predictions. The distinction underlies the course's separation of model tuning from final performance estimation.
1976
Rubin distinguished mechanisms that generate missing values and their consequences for inference. Missingness became a modeling and study- design issue rather than a data-cleaning afterthought.
1977
Tukey's book collected graphical and resistant techniques under the EDA name, giving practitioners a shared vocabulary for probing data before confirmation.
1977
John Tukey presented exploratory data analysis as a way to use displays to investigate data before formal conclusions. This reinforced the distinction between exploratory and communicative views.
1979
The bootstrap used resampling to estimate uncertainty when a closed- form sampling distribution is inconvenient. It made computational inference practical across a wider range of estimators.
1979
Hartigan and Wong publish an algorithm for K-means clustering. It became a widely used practical implementation path for iterative partitioning.
1979
Relational Software, Inc. released Oracle V2 as a commercial SQL-based relational database. SQL moved from research systems into a product category that competing database vendors adopted.
1980 Apr
Taguchi related deviation from a target to loss rather than treating every in-specification result as equally good. This sharpened the practical focus on reducing variation in designed processes.
1982
Hanley and McNeil explained the meaning and use of the area under an ROC curve. AUC became a compact measure of ranking performance across thresholds.
1983
Edward Tufte collected principles and examples for displaying quantitative information. The book made graphical integrity and information-dense displays central topics in visualization design.
1984
Classification and Regression Trees formalized recursive if-then splitting on feature values as a single method for both classification and regression, the decision-tree algorithm this course covers as an interpretable but overfitting-prone baseline.
1984 Dec
PC-MATLAB appeared at the IEEE Conference on Decision and Control, moving the matrix-calculator idea into a commercial product for personal computers.
1985
The Unix workstation version followed PC-MATLAB and expanded the commercial environment beyond the personal-computer release.
1985
Stata shipped its first version in January 1985, joining a statistical-software market that put least squares fits and their diagnostics on professional desktops rather than mainframes.
1986
ANSI published the first SQL standard. A standard core gave database products a common reference point even as their dialects continued to differ.
1986
The paper demonstrated training internal representations by propagating error through multilayer networks.
1986
Rumelhart, Hinton, and Williams described propagating error derivatives through layers to adjust internal weights. The method made gradient-based training practical for multilayer networks.
1986
Rumelhart, Hinton, and Williams described learning internal representations by propagating error derivatives through layered networks. This made multilayer parameter updates a practical training pattern.
1986
Quinlan's ID3 algorithm built decision trees by choosing, at each split, the feature that most reduced uncertainty about the label. It made tree induction from labeled examples a practical, repeatable procedure rather than a hand-built rule set.
1986 Oct
Rumelhart, Hinton, and Williams described back-propagation for networks of neuron-like units. The method adjusted connection weights to reduce output error.
1987
ISO adopted SQL as ISO/IEC 9075. The paired ANSI and ISO work made SQL an international database-language standard.
1987
MATLAB added a specialist signal-processing toolbox and ordinary differential equation capability, extending the matrix language toward engineering domains.
33 milestones
1990
Jeffrey Elman's recurrent network encoded each word in a training set as a fixed vector — the first practical word embedding — and the vocabulary as a vector database, enabling sequence predictions beyond the reach of simple perceptrons.
1990
Robert Gentleman and Ross Ihaka begin the informal project that becomes R. The work starts as an effort to build an S-like environment for statistical computing.
1991
The symmetric construction relates each distribution to their midpoint, avoiding the directionality of Kullback–Leibler divergence.
1991
Python was created in the early 1990s as a successor to ABC. Its early releases established the language that later became community-maintained.
1991 Feb
Python's first public release established the language that later became the host environment for numerical and tabular libraries.
1992
Watkins and Dayan showed that Q-learning converges to optimal action values under specified assumptions. The result made an off-policy, model-free control method a central reference point.
1992
Williams described statistical gradient-following algorithms for reinforcement learning. This provided a direct route to optimizing a parameterized policy rather than first estimating action values.
1992
Relief introduced nearest-instance feature weighting for supervised learning. It made feature relevance a computable property rather than a manual ranking alone.
1992
Sparse-matrix support made storage and computation depend on nonzero entries, while Simulink added a companion simulation environment.
1992
ANSI and ISO published the revision commonly called SQL-92. It became a long-lived baseline for the portable syntax developers still recognize.
1993
Early public R distributions made an open statistical-computing environment available for interactive analysis and graphics.
1993
IBM's fertility-based alignment models replaced hand-coded translation rules with statistics learned from parallel corpora, inaugurating the statistical machine translation era and proving that data-driven methods could outperform linguistic expertise at scale.
1994
GroupLens used ratings to predict which Netnews articles a reader might like. It documented an early open architecture for gathering and distributing collaborative-filtering signals.
1994
Made exponential smoothing and ARIMA modeling accessible through R, popularizing the idea that statistical time-series tools could be packaged for broad practitioner use.
1995
The procedure supplied a less conservative error policy for decisions spanning many hypotheses, such as feature-level drift tests.
1995
Cortes and Vapnik described the support-vector machine, which finds the hyperplane that maximizes the margin between classes and extends to non-separable data. It is the margin-based algorithm this course lists as effective in high-dimensional spaces.
1995
Releasing R under the GPL created an open route for extending statistical and graphical analysis workflows.
1995
Support-vector networks formalized maximum-margin classification with kernels.
1995 May
The Ringo work applied social information filtering to music recommendations and compared recommendation algorithms. It made personalized recommendations a concrete interactive-system problem.
1996
Ester and colleagues publish DBSCAN for finding dense clusters in spatial databases while identifying noise. It replaced a required cluster count with density-connected regions.
1996
Cell arrays and dot-notation structures broadened the language beyond homogeneous numeric arrays while retaining indexed access.
1996
Ihaka and Gentleman publish their paper on R. The public description establishes the language and graphics focus that still frames R practice.
1997
AdaBoost combined weak classifiers by repeatedly emphasizing difficult examples.
1997
Freund and Schapire's decision-theoretic generalization of on-line learning introduced AdaBoost, which combines many weak learners into one accurate classifier by reweighting misclassified examples on each round — the boosting idea this course's gradient-boosting entry builds on.
1997
LSTM introduced a recurrent architecture with controlled information flow. It became a durable reference point for sequence modeling before attention-based architectures.
1997
The project moves from an informal effort to a Core group with responsibility for the source and supporting infrastructure. This gives R a durable open-source maintenance structure.
1997 May
IBM's Deep Blue played its rematch with world chess champion Garry Kasparov. The event made a specialized game-playing system a widely visible AI demonstration.
1998
LeCun and colleagues applied gradient-based learning to a convolutional network for handwritten character recognition. The work connected learned local features with a useful vision task.
1998
LeCun and colleagues described a convolutional network for document recognition. The work linked learned local filters and pooling with a practical image task.
1998 May
This report compared correlation, vector-similarity, and Bayesian approaches across datasets and evaluation protocols. It included a metric for the utility of a ranked suggestion list.
1999
Lee and Seung show non-negative matrix factorization learning additive parts-based representations. It gave factorization an interpretation for nonnegative images and text counts.
1999
SQL:1999 added features including recursive queries and standardized procedural extensions. It widened SQL beyond basic table queries while retaining the relational core.
1999 Sep
Lowe introduces scale-invariant feature transforms that remain robust across scale, rotation, and illumination change. SIFT became the default local descriptor for image matching and object recognition for over a decade.
37 milestones
2000
R reached version 1.0 in February 2000, consolidating an open statistical environment whose lm fits and formula interface became a default route to regression in research and teaching.
2000
The desktop brought the command window, editor, workspace view, and related panels into the working environment learners recognize today.
2000 Feb 29
R reaches its first official version. The release marks the transition from the early development period to a stable public platform for contributors and users.
2000 Jun
PEP 1 established the Python Enhancement Proposal process. Language and community proposals gained a documented route for discussion and decision.
2000 Oct
Python 2.0 added list comprehensions and cyclic garbage collection. Both changes became part of the practical language baseline for later Python users.
2001
Breiman formalized random forests: many decision trees trained on randomly resampled data and feature subsets, with predictions averaged across the ensemble. It is this course's stated technique for reducing overfitting while keeping a tree-based model's flexibility.
2001
Friedman described fitting additive models by gradient descent in function space.
2001
The Highly Comparative Time-Series Analysis framework automated extraction of over seven thousand features, establishing the computational feature-extraction paradigm that tsfresh later scaled.
2001
IPython established an interactive Python workflow that later supplied the notebook lineage used for iterative data exploration.
2001
Breiman described randomized tree predictors and their generalization behavior.
2001 Jul
A cascade of simple Haar-like features selected by AdaBoost achieves real-time face detection at 15 fps on consumer hardware. This was the first practical object detector widely deployed in cameras, phones, and security systems.
2002
Guyon and colleagues applied recursive feature elimination with support vector machines to gene-expression classification. The method became a representative wrapper approach for selecting variables.
2003
Yoshua Bengio and co-authors showed that learning distributed word representations jointly with a sequence model produced better generalization than n-grams, laying the theoretical groundwork for all subsequent neural language models.
2003
Matplotlib's original 2003-2008 project identity marks the emergence of a Python plotting layer for array-based analysis.
2003
SQL:2003 added window functions and SQL/XML work. Window functions made ranking and calculations across related result rows part of standard SQL practice.
2003
The R Foundation is established to support R, hold its software and documentation copyright, and provide a point of contact for institutions and commercial organizations.
2003
Guyon and Elisseeff surveyed feature construction, ranking, multivariate selection, search, and validity assessment. It consolidated the questions that modern selection workflows still address.
2003 Feb
Amazon described an item-to-item method whose online computation scaled independently of customer and catalog size. The paper tied recommendation quality to real-time delivery in a large catalog.
2004
The Drift Detection Method used changes in the learner's error-rate statistics to signal warning and drift states in a labeled stream.
2004
Function handles and parallel-computing support made reusable program units and larger computational workloads more central to MATLAB practice.
2005
NumPy combined earlier Numeric and numarray work into the array library that provides the vectorized numerical base used by pandas.
2005
Leland Wilkinson described graphics as composable elements rather than a fixed menu of chart types. This model informed declarative charting systems that separate data, transformations, marks, scales, and guides.
2006
Hinton, Osindero, and Teh presented a fast learning algorithm for deep belief nets. The paper made layer-wise representation learning a major research direction.
2006
The Early Drift Detection Method replaced the raw error-rate focus with distances between classification errors to improve sensitivity to gradual change.
2006 Mar
Microsoft formed ExP as an incubation project for controlled experiments across online properties. Experimentation began moving from isolated analyses toward a shared service.
2007
ADWIN varied its retained window according to detected change and provided bounds on false-positive and false-negative rates.
2007
Google's case study used a statistically designed experiment to assess new advertising features. It documented controlled experimentation as a product-development evaluation method at online scale.
2007
The project that became scikit-learn started in 2007 and grew into the Python workbench whose linear-model module sits beside regularized variants of least squares.
2007
The project began as a Google Summer of Code project, bringing model-selection and metric tooling into a widely used Python ecosystem.
2007
David Cournapeau's Google Summer of Code project becomes scikit-learn, establishing the fit/predict/score API pattern that gradient boosting libraries would later adopt and that remains the standard for classical ML in Python.
2008
pandas began development with tabular data structures that became a common Python surface for inspecting, summarizing, and reshaping data.
2008
van der Maaten and Hinton publish t-SNE for placing high-dimensional observations in two or three dimensions. Its local-neighborhood focus made it influential for exploratory embedding plots.
2008 Jul 30
The survey organized web experimentation terminology, architecture, statistical analysis, and practical pitfalls into a common reference. Its 2009 journal issue connected industrial practice with experimental design.
2008 Dec
Python 3.0 made incompatible language and library changes rather than preserving every Python 2 behavior. Porting became an explicit concern for projects spanning the transition.
2009
Open sourcing pandas made its tabular analysis tools available to the broader Python data-analysis ecosystem.
2009
The R Journal publishes an account of the project's organization and trajectory, including the growth of contributed packages. R practice increasingly includes work built and shared through packages.
2009 Aug
The review explained matrix factorization models for recommendations with explicit and implicit feedback, temporal effects, and confidence levels. It connected the Netflix Prize era to latent-factor practice.
103 milestones
2010
Their study showed how using the same data for model selection and assessment can produce optimistic performance estimates. Nested cross-validation became a standard response when tuning is substantial.
2010
GPU capability expanded the execution options for computations that could benefit from accelerated array processing.
2010
The first public release made a shared implementation of estimators, splitters, and scorers available to Python practitioners. Evaluation workflows became easier to express as reusable code.
2010
The February 2010 release put linear regression, ridge, and lasso behind one fit-and-predict interface, embedding least squares as the baseline estimator of the Python machine-learning stack.
2010
The scipy.stats models code was corrected, tested, and released as statsmodels, giving Python an inference-focused OLS implementation with the coefficient tables and diagnostics regression teaching relies on.
2010 Jun
The Large Scale Visual Recognition Challenge launches with 1000 object categories and 1.2M training images, creating the benchmark that catalyzed the deep learning revolution. All entries that year used hand-crafted features.
2010 Jul
Google described infrastructure that allowed many concurrent experiments while separating parameter namespaces. The paper treated tooling and education as parts of experimentation at scale.
2011
The scikit-learn paper described a reusable Python machine learning toolkit. Its preprocessing, extraction, selection, and pipeline tools made feature transformations reproducible in ordinary model workflows.
2011
SQL:2011 added temporal database features. The standard gained a common way to express time-aware data and queries.
2011 Feb
D3 made data-driven document manipulation available as a web visualization library. It enabled authors to bind data to web standards while retaining direct control over marks and interaction.
2011 Feb
RStudio provides an integrated editor, console, plotting, and project environment. It makes the interactive R workflow more accessible without replacing the underlying language or scripts.
2011 Feb
Pedregosa et al. published the scikit-learn paper in the Journal of Machine Learning Research, documenting the open-source Python library that gave the classical algorithms this course teaches — linear models, trees, SVMs, clustering, PCA — one consistent, widely adopted API.
2012
Krizhevsky, Sutskever, and Hinton trained a deep convolutional network for large-scale image classification. The result focused broad attention on GPU-trained deep networks for visual recognition.
2012
AlexNet used a deep convolutional network trained on GPUs to win the ImageNet 2012 challenge. The result made large-scale deep visual models a central practical approach.
2012
A deep convolutional network achieved a top-five error rate of 15.3 percent in ILSVRC-2012. The result demonstrated the value of large labeled datasets, GPUs, and deep neural networks for image classification.
2012
Gretton and coauthors developed maximum mean discrepancy through reproducing-kernel mean embeddings and analyzed practical test statistics.
2012 Feb 14
The creators publish "Why We Created Julia," stating the goal of a language with the speed of C and the dynamism of Ruby, combining strengths they associated with MATLAB, Lisp, Python, R, and C.
2012 Jun
pandas 0.8 adopted NumPy datetime64 for time-series representation, improving joins, memory use, and serialization around dated data.
2012 Nov
Krizhevsky, Sutskever, and Hinton train a 60M-parameter CNN on GPUs and slash ImageNet top-5 error from 26.2% to 15.3%, proving deep convolutional networks far surpass hand-crafted features. This result is widely credited with launching the deep learning era in computer vision.
2012 Nov
Shiny makes it possible to build interactive applications from R code. It broadens the path from an analysis object to an interface that other people can use.
2013
Campello, Moulavi, and Sander describe hierarchical density-based clustering and a stability criterion for selecting clusters. It broadened density clustering to varying density levels.
2013
Tomáš Mikolov's Word2Vec architecture trained skip-gram and CBOW models on massive corpora in hours, making semantic vector representations of words widely accessible and demonstrating that arithmetic on vectors captured analogies like "king − man + woman ≈ queen."
2013 Feb
Researchers described using pre-experiment data to reduce metric variance in online controlled experiments. The method improved sensitivity without replacing randomized assignment.
2013 Dec
The DQN preprint combined a convolutional neural network with a Q-learning variant and learned policies from raw Atari screen input. It connected function approximation to a widely used value-based RL method.
2014
Bahdanau, Cho, and Bengio showed that letting a decoder attend to all encoder states — rather than compressing a sentence into a single fixed-length vector — dramatically improved machine translation quality, fixing the bottleneck that had capped sequence-to-sequence performance.
2014
Jupyter grew from IPython to support interactive data science and scientific computing across programming languages.
2014
Jupyter broadened the notebook model beyond Python for interactive scientific computing and data exploration.
2014
R Markdown combines prose with R code and generated results in one document. The approach makes the analysis and its presentation travel together.
2014
An encoder network represented an input sequence and a decoder generated the output sequence. This established an end-to-end neural pattern for variable-length sequence tasks.
2014 Jun 26
The Julia community holds its first dedicated conference at the University of Chicago's Gleacher Center, over June 26 and 27.
2014 Sep
GoogLeNet introduces the Inception module with parallel convolutions at multiple scales, using 12x fewer parameters than AlexNet. VGGNet shows that stacking simple 3x3 convolutions to 16-19 layers consistently improves accuracy. Both dominate ILSVRC 2014.
2015
Deep Feature Synthesis described automated construction of features from relational data by stacking transformation and aggregation primitives. It put automatic candidate generation alongside manual domain-driven engineering.
2015
Sculley and colleagues described data dependencies, feedback loops, and changing external conditions as system-level ML risks. Evaluation expanded beyond a one-time offline score toward ongoing evidence.
2015
Residual connections gave layers a reference path to their inputs and made much deeper visual networks easier to optimize. The architecture became a standard building block for deep vision models.
2015
Vega defined a JSON-based grammar for describing visual appearance and interactive behavior. It made data, transformations, scales, guides, and marks explicit parts of a specification.
2015 Feb
The published DQN study evaluated one architecture and algorithm across 49 Atari games. It made end-to-end deep RL a standard benchmark setting.
2015 Jun
Ren, He, Girshick, and Sun introduce Region Proposal Networks that share convolutional features with the detector, replacing slow external proposal methods like Selective Search. Near real-time two-stage detection at 5 fps on GPU becomes the standard detection architecture.
2015 Sep
Python 3.5 added native coroutines and the async and await syntax. Asynchronous I/O became a first-class language-level pattern.
2015 Nov
Google releases TensorFlow as an open-source framework for deep learning, emphasizing production deployment with TF Serving and mobile with TF Lite. Its static computation graph model dominates early deep learning adoption.
2015 Nov
TensorFlow was released under the Apache 2.0 license. The release made Google's machine-learning system and associated tools available outside its internal infrastructure.
2015 Dec
He, Zhang, Ren, and Sun introduce skip connections that let gradients flow through networks 152 layers deep — eight times deeper than VGG — winning ILSVRC 2015 with 3.57% top-5 error. The residual learning framework became the backbone for nearly all subsequent vision architectures.
2016
The American Statistical Association clarified that a p-value measures compatibility of data with a specified model, not the probability that a hypothesis is true or the size or importance of an effect.
2016
The Live Editor made it possible to keep formatted explanation, equations, MATLAB code, and generated results in one interactive document.
2016
SQL:2016 incorporated JSON-related features. Relational databases could standardize some work with semi-structured values without abandoning tables, constraints, and joins.
2016
XGBoost described a system for scalable gradient-boosted trees.
2016
Google's paper described a deep recommendation system as separate candidate-generation and ranking stages. It made the two-stage architecture a widely cited production reference.
2016 Jan
The AlphaGo paper described policy and value networks trained with supervised and reinforcement learning, combined with search. It showed a system that joined learned models with an explicit decision procedure.
2016 Feb
LIME introduced an approach that learns an interpretable model around an individual prediction. It made model-agnostic local explanation a practical pattern for classifiers.
2016 Mar
Keras, originally a high-level API supporting multiple backends, solidifies its integration with TensorFlow as the default backend. This relationship eventually leads to tf.keras becoming TensorFlow's primary high-level API in version 2.0.
2016 Jun
The Gym paper introduced a toolkit for developing and comparing reinforcement-learning algorithms. Its environment interface made reset-and-step experiments easier to share and reproduce.
2016 Jun
Redmon et al. recast detection as a single regression problem from pixels to bounding boxes, achieving 45 fps with a single forward pass — over 100x faster than two-stage detectors. YOLO made real-time object detection practical on edge devices and spawned a family of successors.
2016 Aug
Chen and Guestrin's "XGBoost: A Scalable Tree Boosting System" described an optimized, regularized implementation of gradient boosting that became dominant on tabular data competitions and business problems, the algorithm this course names as the production endpoint for structured-data tasks.
2016 Sep
PyTorch launches with dynamic computation graphs and a Pythonic API that feels like writing NumPy with gradients. Its define-by-run approach and standard Python debugging tools make it immediately popular with researchers.
2016 Sep
Compatible singleton dimensions can expand during supported element-wise operations, changing some former size-mismatch errors into computed arrays.
2016 Oct
Brought automated time-series feature extraction to Python with integrated hypothesis-test filtering, making scalable feature engineering practical for production pipelines.
2016 Nov
The project reported distributed-training support and ports to iOS and Raspberry Pi. TensorFlow practice was already extending beyond a single server training environment.
2017
Vaswani et al. at Google removed recurrence entirely, replacing it with self-attention. The resulting architecture processed sequences in parallel, scaled reliably with more data and compute, and became the foundation for every major NLP model that followed.
2017
Delta Lake began as an ACID table storage layer over cloud object stores, giving workloads a transaction log above Parquet files.
2017
LightGBM introduced an efficient framework for large-scale gradient boosting.
2017
Tall arrays and categorical arrays extended MATLAB's array model to larger and labeled data-oriented workflows.
2017
The Transformer used attention mechanisms instead of recurrent layers for sequence transduction. Its parallel training path changed how language architectures were built.
2017
Vaswani and colleagues proposed a sequence-transduction architecture based on attention. The design enabled parallel computation across sequence positions during training.
2017
Vega-Lite introduced a higher-level grammar for interactive graphics. It showed how encoding rules and composition can express layered and multi-view displays concisely.
2017 Feb
TensorFlow 1.0 introduced a stable major release and highlighted XLA as a basis for further performance work. The platform's use included multi-GPU and distributed training.
2017 May
The SHAP paper defined a unified additive feature-attribution framework based on Shapley values. It gave practitioners a common vocabulary for assigning feature contributions to one prediction.
2017 Jun
The Transformer paper from Google introduces the architecture that underpins BERT, GPT, and virtually all modern large language models. PyTorch becomes the framework of choice for implementing and iterating on Transformer variants, accelerating its research lead.
2017 Jun
Integrated Gradients proposed a gradient-based attribution method for deep networks. It made a model-specific route available for explaining differentiable models.
2017 Jun
Attention Is All You Need proposed a Transformer architecture based on attention mechanisms rather than recurrence or convolution. The paper reported machine-translation results and a more parallelizable training design.
2017 Jul
DARPA's program organized research around explainable models and human-computer interfaces for explanation. It highlighted the trade-off between learning performance and explanation.
2017 Aug
Microsoft's paper collected twelve recurring mistakes in interpreting online controlled-experiment metrics. It shifted attention from running a test to checking whether the chosen metrics support a trustworthy decision.
2017 Aug
Neural Collaborative Filtering replaced the usual latent-vector inner product with a learnable neural interaction function. The work focused on implicit-feedback recommendation.
2017 Aug
Microsoft researchers cataloged recurring interpretation errors observed across thousands of experiments. Metric validity and practical interpretation became explicit parts of trustworthy analysis.
2017 Sep
Uber publicly described Michelangelo's centralized Feature Store for canonical, shared features. The design tied feature engineering to training, deployment, and operational reuse.
2017 Oct
AlphaGo Zero learned Go from self-play without human game data, combining a neural network with search. The result made self-play a prominent training pattern for games with clear rules and win signals.
2017 Oct
He, Gkioxari, Dollar, and Girshick extend Faster R-CNN with a parallel mask prediction branch and RoIAlign for pixel-accurate alignment, solving instance segmentation with a single model. The framework runs at 5 fps and won COCO 2017 on detection, segmentation, and keypoint tasks.
2017 Nov 28
A Julia astronomy application (Celeste.jl) sustains 1.54 petaflops of double-precision performance across 1.3 million threads on NERSC's Cori supercomputer, the first Julia application to exceed one petaflop per second.
2017 Dec
Described the distributed and parallel feature extraction algorithm behind tsfresh, proving that hundreds of features could be extracted and filtered at industrial scale.
2018
Google's BERT (encoder-only, bidirectional, masked language modeling) and OpenAI's GPT (decoder-only, left-to-right, causal language modeling) defined the two dominant approaches: BERT for understanding tasks, GPT for generation. Both achieved state-of-the-art results with task-specific fine-tuning or prompting.
2018
CatBoost presented gradient boosting with methods for categorical features and prediction shift.
2018
McInnes and colleagues publish UMAP for manifold approximation and projection. It became a widely used option for exploratory low-dimensional embeddings.
2018 Jan
Soft Actor-Critic presented an off-policy actor-critic method that optimizes return and policy entropy. It became a common baseline for continuous-control experiments.
2018 Mar
TensorFlow Hub launched as a library for reusable machine-learning modules. Reusing trained modules became a documented alternative to training every model from scratch.
2018 Mar
TensorFlow.js made it possible to define, train, and run models in JavaScript, including in the browser. It created a distinct deployment path from Python applications.
2018 Apr
Google releases JAX, a library for high-performance numerical computing that combines NumPy's interface with automatic differentiation, JIT compilation via XLA, and composable transforms (grad, jit, vmap, pmap). It targets researchers who need fine control over differentiation and hardware-specific optimization.
2018 Apr
The architecture separated portal, execution, log processing, and analysis services. This made the end-to-end measurement path a platform design concern rather than only a statistical calculation.
2018 Jul
The General Data Protection Regulation became applicable across the European Union. Its provisions on automated decision-making made transparency and human safeguards an operational concern for affected decisions.
2018 Aug 8
Julia reaches 1.0 after nearly a decade of work, adding a commitment to language API stability: code written for 1.0 continues to work on later 1.x releases.
2018 Sep
The What-If Tool made visual model inspection and counterfactual-style exploration accessible in TensorBoard. It brought inspection of individual predictions and dataset slices into a developer workflow.
2018 Sep
Formalized the FRESH algorithm and its filtering procedure in a peer- reviewed venue, giving the approach academic credibility alongside its industrial adoption.
2019 Jan
Google Cloud and GO-JEK announced Feast as an open-source feature store for managing, storing, and discovering features. It made feature-store concepts available as a reusable platform rather than only an internal system.
2019 Jan
renv records a project's package state in a lockfile. This addresses the gap between a script that runs locally and one that can be restored by a collaborator or deployment system.
2019 Feb
The February platform release recorded Delta Lake general availability, making reliable table behavior a standard platform capability.
2019 Apr
BERT4Rec used a Cloze-style task to model item sequences with bidirectional Transformer representations. It targeted dynamic and evolving preferences from historical behavior.
2019 Apr
Databricks released Delta Lake as an open source project, separating the table protocol from a Databricks-only product name.
2019 Apr
Managed MLflow reached general availability in the workspace, extending the platform to experiment tracking.
2019 Jul
The paper organized causes of observed assignment counts differing from the configured ratio across assignment, execution, log processing, and analysis. It made sample-ratio mismatch a formal diagnostic before product decisions.
2019 Jul
The KDD paper organized sample ratio mismatch causes across assignment, execution, logging, and analysis. SRM became a concrete validity gate with diagnostic rules.
2019 Jul 23
Julia 1.3 introduces `Threads.@spawn` and a dynamic task scheduler, letting nested parallel calls share threads without oversubscribing the machine.
2019 Sep
IBM researchers documented AI Explainability 360 as an open-source toolkit with multiple explanation algorithms and metrics. The toolkit helped turn a growing research catalog into reusable evaluation components.
2019 Sep
Provided a scikit-learn-compatible interface for forecasting, classification, and feature extraction, reducing the code gap between training and serving for time-series models.
2019 Sep
TensorFlow 2.0 made eager execution and Keras integration central to the developer experience. SavedModel became the standardized format for several target runtimes.
2019 Sep
TensorFlow 2.0 makes eager execution the default, integrates Keras as its primary high-level API, and deprecates the session-based workflow. This acknowledges the research community's preference for dynamic graphs that PyTorch demonstrated.
2019 Oct
Python 3.8 added assignment expressions through the colon-equals operator. Expressions can now bind a name where that form improves a condition or comprehension.
43 milestones
2020
A formal treatment clarified that drift detection depends on temporal assumptions and that not every distribution change is identifiable from a finite observed stream.
2020
OpenAI's 175-billion-parameter GPT-3 showed that scaling language models produced emergent capabilities: the same model could classify, translate, and answer questions with no fine-tuning, only examples in the prompt. The "foundation model" paradigm was born.
2020
The 1.0 release documented pandas' maturation into a widely used data-analysis foundation and a stable basis for reproducible EDA work.
2020
Lewis et al. at Facebook AI showed that combining a pretrained sequence-to-sequence model with a neural retrieval component grounded generation in source documents, reducing hallucination and enabling knowledge-intensive tasks without retraining the generator.
2020
Vision Transformer treated image patches as a sequence and applied a pure Transformer to image classification. It extended the attention-based architecture into mainstream visual recognition.
2020 Jan
pandas 1.0 formalized a deprecation and major-release policy, making API evolution more legible for long-lived analysis code.
2020 Mar
Reduced over seven thousand HCTSA features to twenty-two with high discriminative power, demonstrating that curated subsets can match full feature sets at a fraction of the computational cost.
2020 Jul
TensorFlow 2.3 added mechanisms aimed at input-pipeline bottlenecks and resource utilization. Data input pipelines became a more explicit scaling concern.
2020 Sep
TensorFlow Recommenders was introduced as an open-source package for candidate models, multi-task objectives, evaluation, and serving. It packaged common modern recommender workflows for TensorFlow users.
2020 Sep
XGBoost, the gradient boosting library that dominates Kaggle competitions and production tabular ML, reaches its 1.0 release with a stable API. It implements scikit-learn's fit/predict interface while providing GPU training and missing value handling that scikit-learn lacks.
2020 Oct
Dosovitskiy et al. apply a standard Transformer directly to sequences of image patches with no convolutional inductive bias. When pre-trained at sufficient scale (JFT-300M), ViT matches or exceeds the best CNNs while requiring fewer compute resources to train.
2020 Nov
Databricks introduced a SQL environment for ad hoc queries and dashboards on lakehouse data.
2021 Jan
The Hugging Face model hub crosses 10,000 pretrained models, establishing itself as the de facto registry for NLP, vision, and audio models. Its unified API across PyTorch, TensorFlow, and JAX makes framework selection less of a locked-in decision.
2021 Mar
Made future-leakage prevention the default feature computation mode, requiring explicit opt-in for any feature that reads past the cutoff, embodying the principle this course teaches as the availability rule.
2021 Mar 24
Julia 1.6 ships with the compiler and release team flagging it as the likely next Long-Term Support release, a status the project confirmed later that year once the release had been used in the field.
2021 Apr
Caron et al. show that self-supervised ViT features spontaneously encode semantic segmentation boundaries without any labels, and reach 80.1% top-1 on ImageNet with k-NN classification alone. The method establishes self-supervised vision transformers as powerful feature extractors.
2021 May
Databricks introduced Unity Catalog for fine-grained governance of data and artificial intelligence assets across workspaces.
2021 Sep
NISTIR 8312 set out Explanation, Meaningful, Explanation Accuracy, and Knowledge Limits. It separated the quality of an explanation from the accuracy of the model decision.
2021 Oct
Python 3.10 added match and case statements for structural pattern matching. Code can dispatch on the shape of a value as well as ordinary Boolean conditions.
2021 Dec
Databricks SQL became generally available, establishing the SQL warehouse experience as a supported production surface.
2022
OpenAI's ChatGPT combined GPT-3.5 with RLHF-based instruction tuning and a conversational interface, reaching 100 million users in two months and demonstrating that aligned, prompted language models could serve as general-purpose assistants.
2022 May
TensorFlow 2.9 released DTensor for moving between data parallelism and model parallelism. Distribution choices became available through a higher-level API.
2022 Aug
Unity Catalog became generally available, making its governed namespace and access model a stable platform foundation.
2022 Oct
Python 3.11 added fine-grained error locations in tracebacks and delivered interpreter speed improvements. Diagnosing an expression failure gained more precise source context.
2022 Nov
PyTorch 2.0 ships torch.compile, a JIT compiler that accelerates PyTorch code by tracing Python operations and fusing them into optimized kernels via TorchDynamo and Triton. This closes the performance gap with TensorFlow's XLA compilation while preserving PyTorch's dynamic execution model.
2022 Nov 30
OpenAI introduced ChatGPT as a conversational model in a public research preview. The release brought a large-language-model interface to a broad public audience.
2022 Dec
Updated the extraction engine to support Polars DataFrames and pandas 2.0, acknowledging that feature extraction speed is a production constraint as much as extraction quality.
2023
ISO/IEC 9075-1:2023 published the sixth framework edition and references SQL property graph queries as part of the standard family. SQL continues to grow through coordinated parts rather than one vendor's dialect alone.
2023
Meta's LLaMA and its derivatives, along with Mistral and other open-weight releases, showed that model quality was no longer gated by proprietary access: teams could fine-tune, deploy, and audit models on their own infrastructure without compromising accuracy.
2023 Apr
Oquab et al. train a 1B-parameter ViT with curated self-supervised learning on 142M images, producing frozen features that rival weakly-supervised CLIP models on classification, segmentation, and depth estimation. The model establishes self-supervised pretraining as a viable path to general-purpose vision backbones.
2023 Apr
Meta releases a promptable segmentation foundation model trained on 1.1 billion masks from 11M images. SAM transfers zero-shot to new image distributions via point, box, or text prompts, often matching fully supervised specialist models without any fine-tuning.
2023 May 9
Julia 1.9 introduces package extensions (conditional code that loads only when another package is present) and caches native code across sessions, substantially cutting "time to first plot" compilation latency.
2023 Jul
ONNX Runtime matures into the standard cross-framework inference engine, supporting execution providers for CUDA, TensorRT, OpenVINO, and Core ML. It becomes the practical bridge between training in one framework and deploying on specialized hardware.
2023 Nov
Implemented over one hundred time-series feature extractors as Polars lazy queries, delivering orders-of-magnitude speed-ups over tsfresh and validating the shift toward vectorized feature pipelines.
2023 Dec 27
Julia 1.10 replaces the C-based parser with JuliaSyntax.jl, a parser written in Julia itself, improving parse performance and giving more precise syntax-error locations.
2024 Jan
Provided a single function-level API for calendar features, rolling windows, and wavelet transforms across pandas and Polars engines, reducing the framework-switching cost of temporal feature work.
2024 Jan
PyTorch transitions from Meta's direct governance to the PyTorch Foundation under the Linux Foundation, ensuring the framework that dominates research remains vendor-neutral. This mirrors the governance model Kubernetes established for infrastructure software.
2024 Jun
Databricks introduced Lakeflow as a grouped experience for ingestion, transformation, orchestration, and monitoring of data pipelines.
2024 Jun
NumPy 2.0 marked a major release of the numerical layer beneath many Python analysis workflows.
2024 Aug
Regulation (EU) 2024/1689 entered into force and established a risk-based framework for AI systems. Its transparency and information requirements made explainability relevant to high-risk-system operations.
2025
The release history records the continuing maintenance of the library's evaluation and model-selection surface. Practitioners can treat splitters and metrics as maintained infrastructure rather than one-off utility code.
2025 May
Keras 3 enables the same model code to run on TensorFlow, PyTorch, or JAX backends. This decouples model definition from execution backend, making the framework choice in this course's selection guide a runtime decision rather than a code commitment.
2025 Oct
Framework usage surveys show PyTorch in over 90 percent of deep learning papers at major AI conferences, while TensorFlow's market share stabilizes around 37 percent in production deployments. The research-production gap narrows but does not close.