The Story of Math Academy’s Eurisko Sequence
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
Combining game-specific human intelligence (heuristics) and generalizable artificial intelligence (minimax on a game tree) Read more...
Repeatedly choosing the action with the best worst-case scenario. Read more...
Building data structures that represent all the possible outcomes of a game. Read more...
A convenient technique for computing gradients in neural networks. Read more...
The deeper or more “hierarchical” a computational graph is, the more complex the model that it represents. Read more...
We can algorithmically build classifiers that use a sequence of nested “if-then” decision rules. Read more...
Computing spatial relationships between nodes when edges no longer represent unit distances. Read more...
Using traversals to understand spatial relationships between nodes in graphs. Read more...
Graphs show up all the time in computer science, so it’s important to know how to work with them. Read more...
A simple classification algorithm grounded in Bayesian probability. Read more...
One of the simplest classifiers. Read more...
In many real-life situations, there is more than one input variable that controls the output variable. Read more...
Gradient descent can help us avoid pitfalls that occur when fitting nonlinear models using the pseudoinverse. Read more...
Just because model appears to match closely with points in the data set, does not necessarily mean it is a good model. Read more...
Transforming nonlinear functions so that we can fit them using the pseudoinverse. Read more...
Exploring the most general class of functions that can be fit using the pseudoinverse. Read more...
Using matrix algebra to fit simple functions to data sets. Read more...
A technique for maximizing linear expressions subject to linear constraints. Read more...
Under the hood, dictionaries are hash tables. Read more...
Implementing a differential equations model that won the Nobel prize. Read more...
A simple differential equations model that we can plot using multivariable Euler estimation. Read more...
Arrays can be used to implement more than just matrices. We can also implement other mathematical procedures like Euler estimation. Read more...
One of the best ways to get practice with object-oriented programming is implementing games. Read more...
Guess some initial clusters in the data, and then repeatedly update the guesses to make the clusters more cohesive. Read more...
You can use the RREF algorithm to compute determinants much faster than with the recursive cofactor expansion method. Read more...
We can use arrays to implement matrices and their associated mathematical operations. Read more...
Merge sort and quicksort are generally faster than selection, bubble, and insertion sort. And unlike counting sort, they are not susceptible to blowup in the amount of memory required. Read more...
Some of the simplest methods for sorting items in arrays. Read more...
Just like single-variable gradient descent, except that we replace the derivative with the gradient vector. Read more...
We take an initial guess as to what the minimum is, and then repeatedly use the gradient to nudge that guess further and further “downhill” into an actual minimum. Read more...
Bisection search involves repeatedly moving one bound halfway to the other. The Newton-Raphson method involves repeatedly moving our guess to the root of the tangent line. Read more...
Backtracking can drastically cut down the number of possibilities that must be checked during brute force. Read more...
Brute force search involves trying every single possibility. Read more...
Implementing the Cartesian product provides good practice working with arrays. Read more...
How to sample from a discrete probability distribution. Read more...
Estimating probabilities by simulating a large number of random experiments. Read more...
Sequences where each term is a function of the previous terms. Read more...
There are other number systems that use more or fewer than ten characters. Read more...
It’s assumed that you’ve had some basic exposure to programming. Read more...
The matrix exponential can be defined as a power series and used to solve systems of linear differential equations. Read more...
Jordan form provides a guaranteed backup plan for exponentiating matrices that are non-diagonalizable. Read more...
Matrix diagonalization can be applied to construct closed-form expressions for recursive sequences. Read more...
The eigenvectors of a matrix are those vectors that the matrix simply rescales, and the factor by which an eigenvector is rescaled is called its eigenvalue. These concepts can be used to quickly calculate large powers of matrices. Read more...
The inverse of a matrix is a second matrix which undoes the transformation of the first matrix. Read more...
Every square matrix can be decomposed into a product of rescalings and shears. Read more...
How to multiply a matrix by another matrix. Read more...
Matrices are vectors whose components are themselves vectors. Read more...
Solving linear systems can sometimes be a necessary component of solving nonlinear systems. Read more...
Shearing can be used to express the solution of a linear system using ratios of volumes, and also to compute volumes themselves. Read more...
Rich intuition about why the number of solutions to a square linear system is governed by the volume of the parallelepiped formed by the coefficient vectors. Read more...
N-dimensional volume generalizes the idea of the space occupied by an object. We can think about N-dimensional volume as being enclosed by N-dimensional vectors. Read more...
If we interpret linear systems as sets of vectors, then elimination corresponds to vector reduction. Read more...
The span of a set of vectors consists of all vectors that can be made by adding multiples of vectors in the set. We can often reduce a set of vectors to a simpler set with the same span. Read more...
A line starts at an initial point and proceeds straight in a constant direction. A plane is a flat sheet that makes a right angle with some particular vector. Read more...
What does it mean to multiply a vector by another vector? Read more...
N-dimensional space consists of points that have N components. Read more...
Many differential equations don’t have solutions that can be expressed in terms of finite combinations of familiar functions. However, we can often solve for the Taylor series of the solution. Read more...
To find the Taylor series of complicated functions, it’s often easiest to manipulate the Taylor series of simpler functions. Read more...
Many non-polynomial functions can be represented by infinite polynomials. Read more...
Various tricks for determining whether a series converges or diverges. Read more...
A geometric series is a sum where each term is some constant times the previous term. Read more...
When we know the solutions of a linear differential equation with constant coefficients and right hand side equal to zero, we can use variation of parameters to find a solution when the right hand side is not equal to zero. Read more...
Integrating factors can be used to solve first-order differential equations with non-constant coefficients. Read more...
Undetermined coefficients can help us find a solution to a linear differential equation with constant coefficients when the right hand side is not equal to zero. Read more...
Given a linear differential equation with constant coefficients and a right hand side of zero, the roots of the characteristic polynomial correspond to solutions of the equation. Read more...
Non-separable differential equations can be sometimes converted into separable differential equations by way of substitution. Read more...
When faced with a differential equation that we don’t know how to solve, we can sometimes still approximate the solution. Read more...
The simplest differential equations can be solved by separation of variables, in which we move the derivative to one side of the equation and take the antiderivative. Read more...
Improper integrals have bounds or function values that extend to positive or negative infinity. Read more...
We can apply integration by parts whenever an integral would be made simpler by differentiating some expression within the integral, at the cost of anti-differentiating another expression within the integral. Read more...
Substitution involves condensing an expression of into a single new variable, and then expressing the integral in terms of that new variable. Read more...
To evaluate a definite integral, we find the antiderivative, evaluate it at the indicated bounds, and then take the difference. Read more...
The antiderivative of a function is a second function whose derivative is the first function. Read more...
When a limit takes the indeterminate form of zero divided by zero or infinity divided by infinity, we can differentiate the numerator and denominator separately without changing the actual value of the limit. Read more...
We can interpret the derivative as an approximation for how a function’s output changes, when the function input is changed by a small amount. Read more...
Derivatives can be used to find a function’s local extreme values, its peaks and valleys. Read more...
There are convenient rules the derivatives of exponential, logarithmic, trigonometric, and inverse trigonometric functions. Read more...
Given a sum, we can differentiate each term individually. But why are we able to do this? Does multiplication work the same way? What about division? Read more...
When taking derivatives of compositions of functions, we can ignore the inside of a function as long as we multiply by the derivative of the inside afterwards. Read more...
There are some patterns that allow us to compute derivatives without having to compute the limit of the difference quotient. Read more...
The derivative of a function is the function’s slope at a particular point, and can be computed as the limit of the difference quotient. Read more...
Various tricks for evaluating tricky limits. Read more...
The limit of a function, as the input approaches some value, is the output we would expect if we saw only the surrounding portion of the graph. Read more...
Compositions of functions consist of multiple functions linked together, where the output of one function becomes the input of another function. Read more...
Inverting a function entails reversing the outputs and inputs of the function. Read more...
When a function is reflected, it flips across one of the axes to become its mirror image. Read more...
When a function is rescaled, it is stretched or compressed along one of the axes, like a slinky. Read more...
When a function is shifted, all of its points move vertically and/or horizontally by the same amount. Read more...
A piecewise function is pieced together from multiple different functions. Read more...
Trigonometric functions represent the relationship between sides and angles in right triangles. Read more...
Absolute value represents the magnitude of a number, i.e. its distance from zero. Read more...
Exponential functions have variables as exponents. Logarithms cancel out exponentiation. Read more...
Radical functions involve roots: square roots, cube roots, or any kind of fractional exponent in general. Read more...
A slant asymptote is a slanted line that arises from a linear term in the proper form of a rational function. Read more...
If we choose one input on each side of an asymptote, we can tell which section of the plane the function will occupy. Read more...
Vertical asymptotes are vertical lines that a function approaches but never quite reaches. Read more...
Rational functions can have a form of end behavior in which they become flat, approaching (but never quite reaching) a horizontal line known as a horizontal asymptote. Read more...
Polynomial long division works the same way as the long division algorithm that’s familiar from simple arithmetic. Read more...
We can sketch the graph of a polynomial using its end behavior and zeros. Read more...
The rational roots theorem can help us find zeros of polynomials without blindly guessing. Read more...
The zeros of a polynomial are the inputs that cause it to evaluate to zero. Read more...
The end behavior of a polynomial refers to the type of output that is produced when we input extremely large positive or negative values. Read more...
To solve a system of inequalities, we need to solve each individual inequality and find where all their solutions overlap. Read more...
Quadratic inequalities are best visualized in the plane. Read more...
When a linear equation has two variables, the solution covers a section of the coordinate plane. Read more...
An inequality is similar to an equation, but instead of saying two quantities are equal, it says that one quantity is greater than or less than another. Read more...
Systems of quadratic equations can be solved via substitution. Read more...
To easily graph a quadratic equation, we can convert it to vertex form. Read more...
Completing the square helps us gain a better intuition for quadratic equations and understand where the quadratic formula comes from. Read more...
To solve hard-to-factor quadratic equations, it’s easiest to use the quadratic formula. Read more...
Factoring is a method for solving quadratic equations. Read more...
Quadratic equations are similar to linear equations, except that they contain squares of a single variable. Read more...
A linear system consists of multiple linear equations, and the solution of a linear system consists of the pairs that satisfy all of the equations. Read more...
Standard form makes it easy to see the intercepts of a line. Read more...
An easy way to write the equation of a line if we know the slope and a point on a line. Read more...
Introducing linear equations in two variables. Read more...
Loosely speaking, a linear equation is an equality statement containing only addition, subtraction, multiplication, and division. Read more...
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
An aha moment with object-oriented programming. Read more...
Two subtypes of coders that I watched students grow into. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
Combining game-specific human intelligence (heuristics) and generalizable artificial intelligence (minimax on a game tree) Read more...
Repeatedly choosing the action with the best worst-case scenario. Read more...
Building data structures that represent all the possible outcomes of a game. Read more...
A convenient technique for computing gradients in neural networks. Read more...
The deeper or more “hierarchical” a computational graph is, the more complex the model that it represents. Read more...
We can algorithmically build classifiers that use a sequence of nested “if-then” decision rules. Read more...
Computing spatial relationships between nodes when edges no longer represent unit distances. Read more...
Using traversals to understand spatial relationships between nodes in graphs. Read more...
Graphs show up all the time in computer science, so it’s important to know how to work with them. Read more...
A simple classification algorithm grounded in Bayesian probability. Read more...
One of the simplest classifiers. Read more...
In many real-life situations, there is more than one input variable that controls the output variable. Read more...
Gradient descent can help us avoid pitfalls that occur when fitting nonlinear models using the pseudoinverse. Read more...
Just because model appears to match closely with points in the data set, does not necessarily mean it is a good model. Read more...
Transforming nonlinear functions so that we can fit them using the pseudoinverse. Read more...
Exploring the most general class of functions that can be fit using the pseudoinverse. Read more...
Using matrix algebra to fit simple functions to data sets. Read more...
A technique for maximizing linear expressions subject to linear constraints. Read more...
Under the hood, dictionaries are hash tables. Read more...
Implementing a differential equations model that won the Nobel prize. Read more...
A simple differential equations model that we can plot using multivariable Euler estimation. Read more...
Arrays can be used to implement more than just matrices. We can also implement other mathematical procedures like Euler estimation. Read more...
One of the best ways to get practice with object-oriented programming is implementing games. Read more...
Guess some initial clusters in the data, and then repeatedly update the guesses to make the clusters more cohesive. Read more...
You can use the RREF algorithm to compute determinants much faster than with the recursive cofactor expansion method. Read more...
We can use arrays to implement matrices and their associated mathematical operations. Read more...
Merge sort and quicksort are generally faster than selection, bubble, and insertion sort. And unlike counting sort, they are not susceptible to blowup in the amount of memory required. Read more...
Some of the simplest methods for sorting items in arrays. Read more...
Just like single-variable gradient descent, except that we replace the derivative with the gradient vector. Read more...
We take an initial guess as to what the minimum is, and then repeatedly use the gradient to nudge that guess further and further “downhill” into an actual minimum. Read more...
Bisection search involves repeatedly moving one bound halfway to the other. The Newton-Raphson method involves repeatedly moving our guess to the root of the tangent line. Read more...
Backtracking can drastically cut down the number of possibilities that must be checked during brute force. Read more...
Brute force search involves trying every single possibility. Read more...
Implementing the Cartesian product provides good practice working with arrays. Read more...
How to sample from a discrete probability distribution. Read more...
Estimating probabilities by simulating a large number of random experiments. Read more...
Sequences where each term is a function of the previous terms. Read more...
There are other number systems that use more or fewer than ten characters. Read more...
It’s assumed that you’ve had some basic exposure to programming. Read more...
A prototype web app to automatically assist students in self-correcting small errors and minor misconceptions. Read more...
A walkthrough of solving Tower of Hanoi using the approach of one of the earliest AI systems. Read more...
Media outlets often make the mistake of anthropomorphizing or attributing human-like characteristics to computer programs. Read more...
As computation power increased, neural networks began to take center stage in AI. Read more...
Expert systems stored “if-then” rules derived from the knowledge of experts. Read more...
Framing reasoning as searching through a maze of actions for a sequence that achieves the desired end goal. Read more...
Turing test, games, hype, narrow vs general AI. Read more...
Rather than duplicating such code each time we want to use it, it is more efficient to store the code in a function. Read more...
We often wish to tell the computer instructions involving the words “if,” “while,” and “for.” Read more...
We can store many related pieces of data within a single variable called a data structure. Read more...
We can store and manipulate data in the form of variables. Read more...
Hidden inside of every quadratic, there is a perfect square. Read more...
Equations involving compositions of trigonometric functions can create wild patterns in the plane. Read more...
Lissajous curves use sine functions to create interesting patterns in the plane. Read more...
Absolute value graphs can be rotated to draw stars. Read more...
Non-euclidean ellipses can be used to draw starry-eye sunglasses. Read more...
Euclidean ellipses can be combined with sine wave shading to form three-dimensional shells. Read more...
High-frequency sine waves can be used to draw shaded regions. Read more...
Roots can be used to draw deer. Read more...
Sine waves can be used to draw scales on a fish. Read more...
Parabolas can be used to draw a fish. Read more...
Absolute value can be used to draw a person. Read more...
Slanted lines can be used to draw a spider web. Read more...
Horizontal and vertical lines can be used to draw a castle. Read more...
Compositions of functions consist of multiple functions linked together, where the output of one function becomes the input of another function. Read more...
Inverting a function entails reversing the outputs and inputs of the function. Read more...
When a function is reflected, it flips across one of the axes to become its mirror image. Read more...
When a function is rescaled, it is stretched or compressed along one of the axes, like a slinky. Read more...
When a function is shifted, all of its points move vertically and/or horizontally by the same amount. Read more...
A piecewise function is pieced together from multiple different functions. Read more...
Trigonometric functions represent the relationship between sides and angles in right triangles. Read more...
Absolute value represents the magnitude of a number, i.e. its distance from zero. Read more...
Exponential functions have variables as exponents. Logarithms cancel out exponentiation. Read more...
Radical functions involve roots: square roots, cube roots, or any kind of fractional exponent in general. Read more...
A slant asymptote is a slanted line that arises from a linear term in the proper form of a rational function. Read more...
If we choose one input on each side of an asymptote, we can tell which section of the plane the function will occupy. Read more...
Vertical asymptotes are vertical lines that a function approaches but never quite reaches. Read more...
Rational functions can have a form of end behavior in which they become flat, approaching (but never quite reaching) a horizontal line known as a horizontal asymptote. Read more...
Polynomial long division works the same way as the long division algorithm that’s familiar from simple arithmetic. Read more...
We can sketch the graph of a polynomial using its end behavior and zeros. Read more...
The rational roots theorem can help us find zeros of polynomials without blindly guessing. Read more...
The zeros of a polynomial are the inputs that cause it to evaluate to zero. Read more...
The end behavior of a polynomial refers to the type of output that is produced when we input extremely large positive or negative values. Read more...
To solve a system of inequalities, we need to solve each individual inequality and find where all their solutions overlap. Read more...
Quadratic inequalities are best visualized in the plane. Read more...
When a linear equation has two variables, the solution covers a section of the coordinate plane. Read more...
An inequality is similar to an equation, but instead of saying two quantities are equal, it says that one quantity is greater than or less than another. Read more...
Systems of quadratic equations can be solved via substitution. Read more...
To easily graph a quadratic equation, we can convert it to vertex form. Read more...
Completing the square helps us gain a better intuition for quadratic equations and understand where the quadratic formula comes from. Read more...
To solve hard-to-factor quadratic equations, it’s easiest to use the quadratic formula. Read more...
Factoring is a method for solving quadratic equations. Read more...
Quadratic equations are similar to linear equations, except that they contain squares of a single variable. Read more...
A linear system consists of multiple linear equations, and the solution of a linear system consists of the pairs that satisfy all of the equations. Read more...
Standard form makes it easy to see the intercepts of a line. Read more...
An easy way to write the equation of a line if we know the slope and a point on a line. Read more...
Introducing linear equations in two variables. Read more...
Loosely speaking, a linear equation is an equality statement containing only addition, subtraction, multiplication, and division. Read more...
A series is the sum of a sequence. Read more...
A sequence is a list of numbers that has some pattern. Read more...
A function is a scribble that crosses each vertical line only once. Read more...
An intuitive derivation. Read more...
A simple mnemonic trick for quickly differentiating complicated functions. Read more...
Many differential equations don’t have solutions that can be expressed in terms of finite combinations of familiar functions. However, we can often solve for the Taylor series of the solution. Read more...
To find the Taylor series of complicated functions, it’s often easiest to manipulate the Taylor series of simpler functions. Read more...
Many non-polynomial functions can be represented by infinite polynomials. Read more...
Various tricks for determining whether a series converges or diverges. Read more...
A geometric series is a sum where each term is some constant times the previous term. Read more...
When we know the solutions of a linear differential equation with constant coefficients and right hand side equal to zero, we can use variation of parameters to find a solution when the right hand side is not equal to zero. Read more...
Integrating factors can be used to solve first-order differential equations with non-constant coefficients. Read more...
Undetermined coefficients can help us find a solution to a linear differential equation with constant coefficients when the right hand side is not equal to zero. Read more...
Given a linear differential equation with constant coefficients and a right hand side of zero, the roots of the characteristic polynomial correspond to solutions of the equation. Read more...
Non-separable differential equations can be sometimes converted into separable differential equations by way of substitution. Read more...
When faced with a differential equation that we don’t know how to solve, we can sometimes still approximate the solution. Read more...
The simplest differential equations can be solved by separation of variables, in which we move the derivative to one side of the equation and take the antiderivative. Read more...
Improper integrals have bounds or function values that extend to positive or negative infinity. Read more...
We can apply integration by parts whenever an integral would be made simpler by differentiating some expression within the integral, at the cost of anti-differentiating another expression within the integral. Read more...
Substitution involves condensing an expression of into a single new variable, and then expressing the integral in terms of that new variable. Read more...
To evaluate a definite integral, we find the antiderivative, evaluate it at the indicated bounds, and then take the difference. Read more...
The antiderivative of a function is a second function whose derivative is the first function. Read more...
When a limit takes the indeterminate form of zero divided by zero or infinity divided by infinity, we can differentiate the numerator and denominator separately without changing the actual value of the limit. Read more...
We can interpret the derivative as an approximation for how a function’s output changes, when the function input is changed by a small amount. Read more...
Derivatives can be used to find a function’s local extreme values, its peaks and valleys. Read more...
There are convenient rules the derivatives of exponential, logarithmic, trigonometric, and inverse trigonometric functions. Read more...
Given a sum, we can differentiate each term individually. But why are we able to do this? Does multiplication work the same way? What about division? Read more...
When taking derivatives of compositions of functions, we can ignore the inside of a function as long as we multiply by the derivative of the inside afterwards. Read more...
There are some patterns that allow us to compute derivatives without having to compute the limit of the difference quotient. Read more...
The derivative of a function is the function’s slope at a particular point, and can be computed as the limit of the difference quotient. Read more...
Various tricks for evaluating tricky limits. Read more...
The limit of a function, as the input approaches some value, is the output we would expect if we saw only the surrounding portion of the graph. Read more...
It comes out to roughly a fortieth of that of a truck. Read more...
String art works because the strings are tangent lines to a curve. Read more...
Calculus can show us how our intuition can fail us, a common theme in philosophy. Read more...
Nobody came out of the dispute well. Read more...
When Joseph Fourier first introduced Fourier series, they gave mathematicians nightmares. Read more...
Deriving the “Pert” formula. Read more...
If we know the revenue and costs associated with producing any number of units, then we can use calculus to figure out the number of units to produce for maximum profit. Read more...
Calculus can be used to find the parameters that minimize a function. Read more...
Physics engines use calculus to periodically updates the locations of objects. Read more...
Introducing Kajiya’s rendering equation. Read more...
Deriving the ideal rocket equation. Read more...
Deriving the Gompertz function. Read more...
Understanding why even slight narrowing of arteries can pose such a big problem to blood flow. Read more...
Measuring volume of blood the heart pumps out into the aorta per unit time. Read more...
A series is the sum of a sequence. Read more...
A sequence is a list of numbers that has some pattern. Read more...
Integrals give the area under a portion of a function. Read more...
The derivative tells the steepness of a function at a given point, kind of like a carpenter’s level. Read more...
The limit of a function is the height where it looks like the scribble is going to hit a particular vertical line. Read more...
Type I pairs with the variable that runs vertically in the usual representation of the coordinate system. The remaining types are paired with the rest of the variables in ascending order. Read more...
It’s centered around political ideology rather than the science of learning. Read more...
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
In order to justify using a more complex model, the increase in performance has to be worth the cost of integrating and maintaining the complexity. Read more...
Good problem = intersection between your own interests/talents, the realm of what’s feasible, and the desires of the external world. Read more...
An aha moment with object-oriented programming. Read more...
Two subtypes of coders that I watched students grow into. Read more...
Stuff you don’t find in math textbooks. Read more...
… are summarized in the following table. Read more...
In 9 months, these students went from initially not knowing how to write helper functions to building a machine learning library from scratch. Read more...
How to avoid some of the most common pitfalls leading to ugly LaTeX. Read more...
The behavior of a multivariable function can be highly specific to the path taken. Read more...
Every inscribed triangle whose hypotenuse is a diameter is a right triangle. Read more...
An intuitive derivation. Read more...
A simple mnemonic trick for quickly differentiating complicated functions. Read more...
A prototype web app to automatically assist students in self-correcting small errors and minor misconceptions. Read more...
A walkthrough of solving Tower of Hanoi using the approach of one of the earliest AI systems. Read more...
Bridging the communication gap between academia and industry in the field of TDA. Read more...
In a simplified problem framing, we investigate the (theoretical) usefulness of limiting the number of social connections per person. Read more...
Category theory provides a language for explicitly describing indirect relationships in graphs. Read more...
Framing complex systems in the language of category theory. Read more...
The main ideas behind computers can be understood by anyone. Read more...
The brain is a neuronal network integrating specialized subsystems that use local competition and thresholding to sparsify input, spike-timing dependent plasticity to learn inference, and layering to implement hierarchical predictive learning. Read more...
We solve a special case of how to periodically stimulate a neural network to obtain a desired connectivity. Read more...
Many existing proofs are not accessible to young mathematicians or those without experience in the realm of dynamic systems. Read more...
And a proof via double induction. Read more...
A brief overview of sound waves and how they interact with things. Read more...
A brief overview of the experimental search for dark matter (XENON, CDMS, PICASSO, COUPP). Read more...
Mass discrepancies in galaxies and clusters, cosmic background radiation, the structure of the universe, and big bang nucleosynthesis’s impact on baryon density. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
A convenient technique for computing gradients in neural networks. Read more...
The deeper or more “hierarchical” a computational graph is, the more complex the model that it represents. Read more...
We can algorithmically build classifiers that use a sequence of nested “if-then” decision rules. Read more...
A simple classification algorithm grounded in Bayesian probability. Read more...
One of the simplest classifiers. Read more...
In many real-life situations, there is more than one input variable that controls the output variable. Read more...
Gradient descent can help us avoid pitfalls that occur when fitting nonlinear models using the pseudoinverse. Read more...
Just because model appears to match closely with points in the data set, does not necessarily mean it is a good model. Read more...
Transforming nonlinear functions so that we can fit them using the pseudoinverse. Read more...
Exploring the most general class of functions that can be fit using the pseudoinverse. Read more...
Using matrix algebra to fit simple functions to data sets. Read more...
Guess some initial clusters in the data, and then repeatedly update the guesses to make the clusters more cohesive. Read more...
A walkthrough of solving Tower of Hanoi using the approach of one of the earliest AI systems. Read more...
Media outlets often make the mistake of anthropomorphizing or attributing human-like characteristics to computer programs. Read more...
As computation power increased, neural networks began to take center stage in AI. Read more...
Expert systems stored “if-then” rules derived from the knowledge of experts. Read more...
Framing reasoning as searching through a maze of actions for a sequence that achieves the desired end goal. Read more...
Turing test, games, hype, narrow vs general AI. Read more...
The type of ensemble model that wins most data science competitions is the stacked model, which consists of an ensemble of entirely different species of models together with some combiner algorithm. Read more...
Decision trees are able to model nonlinear data while remaining interpretable. Read more...
NNs are similar to SVMs in that they project the data to a higher-dimensional space and fit a hyperplane to the data in the projected space. However, whereas SVMs use a predetermined kernel to project the data, NNs automatically construct their own projection. Read more...
A Support Vector Machine (SVM) computes the “best” separation between classes as the maximum-margin hyperplane. Read more...
In linear regression, we model the target as a random variable whose expected value depends on a linear combination of the predictors (including a bias term). Read more...
To visualize the relationship between the MAP and MLE estimations, one can imagine starting at the MLE estimation, and then obtaining the MAP estimation by drifting a bit towards higher density in the prior distribution. Read more...
Naive Bayes classification naively assumes that the presence of a particular feature in a class is unrelated to the presence of any other feature. Read more...
The matrix exponential can be defined as a power series and used to solve systems of linear differential equations. Read more...
Jordan form provides a guaranteed backup plan for exponentiating matrices that are non-diagonalizable. Read more...
Matrix diagonalization can be applied to construct closed-form expressions for recursive sequences. Read more...
The eigenvectors of a matrix are those vectors that the matrix simply rescales, and the factor by which an eigenvector is rescaled is called its eigenvalue. These concepts can be used to quickly calculate large powers of matrices. Read more...
The inverse of a matrix is a second matrix which undoes the transformation of the first matrix. Read more...
Every square matrix can be decomposed into a product of rescalings and shears. Read more...
How to multiply a matrix by another matrix. Read more...
Matrices are vectors whose components are themselves vectors. Read more...
Solving linear systems can sometimes be a necessary component of solving nonlinear systems. Read more...
Shearing can be used to express the solution of a linear system using ratios of volumes, and also to compute volumes themselves. Read more...
Rich intuition about why the number of solutions to a square linear system is governed by the volume of the parallelepiped formed by the coefficient vectors. Read more...
N-dimensional volume generalizes the idea of the space occupied by an object. We can think about N-dimensional volume as being enclosed by N-dimensional vectors. Read more...
If we interpret linear systems as sets of vectors, then elimination corresponds to vector reduction. Read more...
The span of a set of vectors consists of all vectors that can be made by adding multiples of vectors in the set. We can often reduce a set of vectors to a simpler set with the same span. Read more...
A line starts at an initial point and proceeds straight in a constant direction. A plane is a flat sheet that makes a right angle with some particular vector. Read more...
What does it mean to multiply a vector by another vector? Read more...
N-dimensional space consists of points that have N components. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
Combining game-specific human intelligence (heuristics) and generalizable artificial intelligence (minimax on a game tree) Read more...
Repeatedly choosing the action with the best worst-case scenario. Read more...
Building data structures that represent all the possible outcomes of a game. Read more...
A convenient technique for computing gradients in neural networks. Read more...
The deeper or more “hierarchical” a computational graph is, the more complex the model that it represents. Read more...
We can algorithmically build classifiers that use a sequence of nested “if-then” decision rules. Read more...
Computing spatial relationships between nodes when edges no longer represent unit distances. Read more...
Using traversals to understand spatial relationships between nodes in graphs. Read more...
Graphs show up all the time in computer science, so it’s important to know how to work with them. Read more...
It comes out to roughly a fortieth of that of a truck. Read more...
String art works because the strings are tangent lines to a curve. Read more...
Calculus can show us how our intuition can fail us, a common theme in philosophy. Read more...
Deriving the “Pert” formula. Read more...
If we know the revenue and costs associated with producing any number of units, then we can use calculus to figure out the number of units to produce for maximum profit. Read more...
Calculus can be used to find the parameters that minimize a function. Read more...
Physics engines use calculus to periodically updates the locations of objects. Read more...
Introducing Kajiya’s rendering equation. Read more...
Deriving the ideal rocket equation. Read more...
Deriving the Gompertz function. Read more...
Understanding why even slight narrowing of arteries can pose such a big problem to blood flow. Read more...
Measuring volume of blood the heart pumps out into the aorta per unit time. Read more...
Equations involving compositions of trigonometric functions can create wild patterns in the plane. Read more...
Lissajous curves use sine functions to create interesting patterns in the plane. Read more...
Absolute value graphs can be rotated to draw stars. Read more...
Non-euclidean ellipses can be used to draw starry-eye sunglasses. Read more...
Euclidean ellipses can be combined with sine wave shading to form three-dimensional shells. Read more...
High-frequency sine waves can be used to draw shaded regions. Read more...
Roots can be used to draw deer. Read more...
Sine waves can be used to draw scales on a fish. Read more...
Parabolas can be used to draw a fish. Read more...
Absolute value can be used to draw a person. Read more...
Slanted lines can be used to draw a spider web. Read more...
Horizontal and vertical lines can be used to draw a castle. Read more...
Equations involving compositions of trigonometric functions can create wild patterns in the plane. Read more...
Lissajous curves use sine functions to create interesting patterns in the plane. Read more...
Absolute value graphs can be rotated to draw stars. Read more...
Non-euclidean ellipses can be used to draw starry-eye sunglasses. Read more...
Euclidean ellipses can be combined with sine wave shading to form three-dimensional shells. Read more...
High-frequency sine waves can be used to draw shaded regions. Read more...
Roots can be used to draw deer. Read more...
Sine waves can be used to draw scales on a fish. Read more...
Parabolas can be used to draw a fish. Read more...
Absolute value can be used to draw a person. Read more...
Slanted lines can be used to draw a spider web. Read more...
Horizontal and vertical lines can be used to draw a castle. Read more...
When a limit takes the indeterminate form of zero divided by zero or infinity divided by infinity, we can differentiate the numerator and denominator separately without changing the actual value of the limit. Read more...
We can interpret the derivative as an approximation for how a function’s output changes, when the function input is changed by a small amount. Read more...
Derivatives can be used to find a function’s local extreme values, its peaks and valleys. Read more...
There are convenient rules the derivatives of exponential, logarithmic, trigonometric, and inverse trigonometric functions. Read more...
Given a sum, we can differentiate each term individually. But why are we able to do this? Does multiplication work the same way? What about division? Read more...
When taking derivatives of compositions of functions, we can ignore the inside of a function as long as we multiply by the derivative of the inside afterwards. Read more...
There are some patterns that allow us to compute derivatives without having to compute the limit of the difference quotient. Read more...
The derivative of a function is the function’s slope at a particular point, and can be computed as the limit of the difference quotient. Read more...
Various tricks for evaluating tricky limits. Read more...
The limit of a function, as the input approaches some value, is the output we would expect if we saw only the surrounding portion of the graph. Read more...
A technique for maximizing linear expressions subject to linear constraints. Read more...
Under the hood, dictionaries are hash tables. Read more...
Implementing a differential equations model that won the Nobel prize. Read more...
A simple differential equations model that we can plot using multivariable Euler estimation. Read more...
Arrays can be used to implement more than just matrices. We can also implement other mathematical procedures like Euler estimation. Read more...
One of the best ways to get practice with object-oriented programming is implementing games. Read more...
Guess some initial clusters in the data, and then repeatedly update the guesses to make the clusters more cohesive. Read more...
You can use the RREF algorithm to compute determinants much faster than with the recursive cofactor expansion method. Read more...
We can use arrays to implement matrices and their associated mathematical operations. Read more...
A convenient technique for computing gradients in neural networks. Read more...
The deeper or more “hierarchical” a computational graph is, the more complex the model that it represents. Read more...
In many real-life situations, there is more than one input variable that controls the output variable. Read more...
Gradient descent can help us avoid pitfalls that occur when fitting nonlinear models using the pseudoinverse. Read more...
Just because model appears to match closely with points in the data set, does not necessarily mean it is a good model. Read more...
Transforming nonlinear functions so that we can fit them using the pseudoinverse. Read more...
Exploring the most general class of functions that can be fit using the pseudoinverse. Read more...
Using matrix algebra to fit simple functions to data sets. Read more...
Bridging the communication gap between academia and industry in the field of TDA. Read more...
Demonstrating an open-source implementation of persistent homology techniques in the TDA package for R. Read more...
Persistent homology provides a way to quantify the topological features that persist over our a data set’s full range of scale. Read more...
At Aunalytics, Mapper outperformed hierarchical clustering in providing granular insights. Read more...
Ayasdi developed commercial Mapper software and sells a subscription service to clients who wish to create topological network visualizations of their data. Read more...
Demonstrating an open-source implementation of Mapper in the TDAmapper package for R. Read more...
Representing a data space’s topology by converting it into a network. Read more...
Media outlets often make the mistake of anthropomorphizing or attributing human-like characteristics to computer programs. Read more...
As computation power increased, neural networks began to take center stage in AI. Read more...
Expert systems stored “if-then” rules derived from the knowledge of experts. Read more...
Framing reasoning as searching through a maze of actions for a sequence that achieves the desired end goal. Read more...
Turing test, games, hype, narrow vs general AI. Read more...
Nobody came out of the dispute well. Read more...
When Joseph Fourier first introduced Fourier series, they gave mathematicians nightmares. Read more...
The type of ensemble model that wins most data science competitions is the stacked model, which consists of an ensemble of entirely different species of models together with some combiner algorithm. Read more...
Decision trees are able to model nonlinear data while remaining interpretable. Read more...
NNs are similar to SVMs in that they project the data to a higher-dimensional space and fit a hyperplane to the data in the projected space. However, whereas SVMs use a predetermined kernel to project the data, NNs automatically construct their own projection. Read more...
A Support Vector Machine (SVM) computes the “best” separation between classes as the maximum-margin hyperplane. Read more...
In linear regression, we model the target as a random variable whose expected value depends on a linear combination of the predictors (including a bias term). Read more...
To visualize the relationship between the MAP and MLE estimations, one can imagine starting at the MLE estimation, and then obtaining the MAP estimation by drifting a bit towards higher density in the prior distribution. Read more...
Naive Bayes classification naively assumes that the presence of a particular feature in a class is unrelated to the presence of any other feature. Read more...
When we know the solutions of a linear differential equation with constant coefficients and right hand side equal to zero, we can use variation of parameters to find a solution when the right hand side is not equal to zero. Read more...
Integrating factors can be used to solve first-order differential equations with non-constant coefficients. Read more...
Undetermined coefficients can help us find a solution to a linear differential equation with constant coefficients when the right hand side is not equal to zero. Read more...
Given a linear differential equation with constant coefficients and a right hand side of zero, the roots of the characteristic polynomial correspond to solutions of the equation. Read more...
Non-separable differential equations can be sometimes converted into separable differential equations by way of substitution. Read more...
When faced with a differential equation that we don’t know how to solve, we can sometimes still approximate the solution. Read more...
The simplest differential equations can be solved by separation of variables, in which we move the derivative to one side of the equation and take the antiderivative. Read more...
Improper integrals have bounds or function values that extend to positive or negative infinity. Read more...
We can apply integration by parts whenever an integral would be made simpler by differentiating some expression within the integral, at the cost of anti-differentiating another expression within the integral. Read more...
Substitution involves condensing an expression of into a single new variable, and then expressing the integral in terms of that new variable. Read more...
To evaluate a definite integral, we find the antiderivative, evaluate it at the indicated bounds, and then take the difference. Read more...
The antiderivative of a function is a second function whose derivative is the first function. Read more...
Integrals give the area under a portion of a function. Read more...
Systems of quadratic equations can be solved via substitution. Read more...
To easily graph a quadratic equation, we can convert it to vertex form. Read more...
Completing the square helps us gain a better intuition for quadratic equations and understand where the quadratic formula comes from. Read more...
To solve hard-to-factor quadratic equations, it’s easiest to use the quadratic formula. Read more...
Factoring is a method for solving quadratic equations. Read more...
Quadratic equations are similar to linear equations, except that they contain squares of a single variable. Read more...
A walkthrough of solving Tower of Hanoi using the approach of one of the earliest AI systems. Read more...
Media outlets often make the mistake of anthropomorphizing or attributing human-like characteristics to computer programs. Read more...
As computation power increased, neural networks began to take center stage in AI. Read more...
Expert systems stored “if-then” rules derived from the knowledge of experts. Read more...
Framing reasoning as searching through a maze of actions for a sequence that achieves the desired end goal. Read more...
Turing test, games, hype, narrow vs general AI. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
Combining game-specific human intelligence (heuristics) and generalizable artificial intelligence (minimax on a game tree) Read more...
One of the best ways to get practice with object-oriented programming is implementing games. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
A convenient technique for computing gradients in neural networks. Read more...
The deeper or more “hierarchical” a computational graph is, the more complex the model that it represents. Read more...
We solve a special case of how to periodically stimulate a neural network to obtain a desired connectivity. Read more...
Escaping a troll by using its own weight against itself. Read more...
A brief overview of sound waves and how they interact with things. Read more...
A brief overview of the experimental search for dark matter (XENON, CDMS, PICASSO, COUPP). Read more...
Mass discrepancies in galaxies and clusters, cosmic background radiation, the structure of the universe, and big bang nucleosynthesis’s impact on baryon density. Read more...
Bridging the communication gap between academia and industry in the field of TDA. Read more...
At Aunalytics, Mapper outperformed hierarchical clustering in providing granular insights. Read more...
Ayasdi developed commercial Mapper software and sells a subscription service to clients who wish to create topological network visualizations of their data. Read more...
Demonstrating an open-source implementation of Mapper in the TDAmapper package for R. Read more...
Representing a data space’s topology by converting it into a network. Read more...
A linear system consists of multiple linear equations, and the solution of a linear system consists of the pairs that satisfy all of the equations. Read more...
Standard form makes it easy to see the intercepts of a line. Read more...
An easy way to write the equation of a line if we know the slope and a point on a line. Read more...
Introducing linear equations in two variables. Read more...
Loosely speaking, a linear equation is an equality statement containing only addition, subtraction, multiplication, and division. Read more...
A slant asymptote is a slanted line that arises from a linear term in the proper form of a rational function. Read more...
If we choose one input on each side of an asymptote, we can tell which section of the plane the function will occupy. Read more...
Vertical asymptotes are vertical lines that a function approaches but never quite reaches. Read more...
Rational functions can have a form of end behavior in which they become flat, approaching (but never quite reaching) a horizontal line known as a horizontal asymptote. Read more...
Polynomial long division works the same way as the long division algorithm that’s familiar from simple arithmetic. Read more...
A piecewise function is pieced together from multiple different functions. Read more...
Trigonometric functions represent the relationship between sides and angles in right triangles. Read more...
Absolute value represents the magnitude of a number, i.e. its distance from zero. Read more...
Exponential functions have variables as exponents. Logarithms cancel out exponentiation. Read more...
Radical functions involve roots: square roots, cube roots, or any kind of fractional exponent in general. Read more...
Compositions of functions consist of multiple functions linked together, where the output of one function becomes the input of another function. Read more...
Inverting a function entails reversing the outputs and inputs of the function. Read more...
When a function is reflected, it flips across one of the axes to become its mirror image. Read more...
When a function is rescaled, it is stretched or compressed along one of the axes, like a slinky. Read more...
When a function is shifted, all of its points move vertically and/or horizontally by the same amount. Read more...
Many differential equations don’t have solutions that can be expressed in terms of finite combinations of familiar functions. However, we can often solve for the Taylor series of the solution. Read more...
To find the Taylor series of complicated functions, it’s often easiest to manipulate the Taylor series of simpler functions. Read more...
Many non-polynomial functions can be represented by infinite polynomials. Read more...
Various tricks for determining whether a series converges or diverges. Read more...
A geometric series is a sum where each term is some constant times the previous term. Read more...
If we interpret linear systems as sets of vectors, then elimination corresponds to vector reduction. Read more...
The span of a set of vectors consists of all vectors that can be made by adding multiples of vectors in the set. We can often reduce a set of vectors to a simpler set with the same span. Read more...
A line starts at an initial point and proceeds straight in a constant direction. A plane is a flat sheet that makes a right angle with some particular vector. Read more...
What does it mean to multiply a vector by another vector? Read more...
N-dimensional space consists of points that have N components. Read more...
Implementing a differential equations model that won the Nobel prize. Read more...
A simple differential equations model that we can plot using multivariable Euler estimation. Read more...
Arrays can be used to implement more than just matrices. We can also implement other mathematical procedures like Euler estimation. Read more...
How to sample from a discrete probability distribution. Read more...
Estimating probabilities by simulating a large number of random experiments. Read more...
Just like single-variable gradient descent, except that we replace the derivative with the gradient vector. Read more...
We take an initial guess as to what the minimum is, and then repeatedly use the gradient to nudge that guess further and further “downhill” into an actual minimum. Read more...
Bisection search involves repeatedly moving one bound halfway to the other. The Newton-Raphson method involves repeatedly moving our guess to the root of the tangent line. Read more...
Backtracking can drastically cut down the number of possibilities that must be checked during brute force. Read more...
Brute force search involves trying every single possibility. Read more...
In a simplified problem framing, we investigate the (theoretical) usefulness of limiting the number of social connections per person. Read more...
We solve a special case of how to periodically stimulate a neural network to obtain a desired connectivity. Read more...
Many existing proofs are not accessible to young mathematicians or those without experience in the realm of dynamic systems. Read more...
And a proof via double induction. Read more...
It’s centered around political ideology rather than the science of learning. Read more...
An aha moment with object-oriented programming. Read more...
Two subtypes of coders that I watched students grow into. Read more...
Escaping a troll by using its own weight against itself. Read more...
To solve a system of inequalities, we need to solve each individual inequality and find where all their solutions overlap. Read more...
Quadratic inequalities are best visualized in the plane. Read more...
When a linear equation has two variables, the solution covers a section of the coordinate plane. Read more...
An inequality is similar to an equation, but instead of saying two quantities are equal, it says that one quantity is greater than or less than another. Read more...
We can sketch the graph of a polynomial using its end behavior and zeros. Read more...
The rational roots theorem can help us find zeros of polynomials without blindly guessing. Read more...
The zeros of a polynomial are the inputs that cause it to evaluate to zero. Read more...
The end behavior of a polynomial refers to the type of output that is produced when we input extremely large positive or negative values. Read more...
Rather than duplicating such code each time we want to use it, it is more efficient to store the code in a function. Read more...
We often wish to tell the computer instructions involving the words “if,” “while,” and “for.” Read more...
We can store many related pieces of data within a single variable called a data structure. Read more...
We can store and manipulate data in the form of variables. Read more...
Solving linear systems can sometimes be a necessary component of solving nonlinear systems. Read more...
Shearing can be used to express the solution of a linear system using ratios of volumes, and also to compute volumes themselves. Read more...
Rich intuition about why the number of solutions to a square linear system is governed by the volume of the parallelepiped formed by the coefficient vectors. Read more...
N-dimensional volume generalizes the idea of the space occupied by an object. We can think about N-dimensional volume as being enclosed by N-dimensional vectors. Read more...
The inverse of a matrix is a second matrix which undoes the transformation of the first matrix. Read more...
Every square matrix can be decomposed into a product of rescalings and shears. Read more...
How to multiply a matrix by another matrix. Read more...
Matrices are vectors whose components are themselves vectors. Read more...
The matrix exponential can be defined as a power series and used to solve systems of linear differential equations. Read more...
Jordan form provides a guaranteed backup plan for exponentiating matrices that are non-diagonalizable. Read more...
Matrix diagonalization can be applied to construct closed-form expressions for recursive sequences. Read more...
The eigenvectors of a matrix are those vectors that the matrix simply rescales, and the factor by which an eigenvector is rescaled is called its eigenvalue. These concepts can be used to quickly calculate large powers of matrices. Read more...
Implementing the Cartesian product provides good practice working with arrays. Read more...
Sequences where each term is a function of the previous terms. Read more...
There are other number systems that use more or fewer than ten characters. Read more...
It’s assumed that you’ve had some basic exposure to programming. Read more...
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
An aha moment with object-oriented programming. Read more...
Two subtypes of coders that I watched students grow into. Read more...
In 9 months, these students went from initially not knowing how to write helper functions to building a machine learning library from scratch. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
Using convolutional layers to create an even better checkers player. Read more...
Extending Fogel’s tic-tac-toe player to the game of checkers. Read more...
Reimplementing the paper that laid the groundwork for Blondie24. Read more...
A method for training neural networks that works even when training feedback is sparse. Read more...
In order to justify using a more complex model, the increase in performance has to be worth the cost of integrating and maintaining the complexity. Read more...
Two subtypes of coders that I watched students grow into. Read more...
Stuff you don’t find in math textbooks. Read more...
… are summarized in the following table. Read more...
Bridging the communication gap between academia and industry in the field of TDA. Read more...
Demonstrating an open-source implementation of persistent homology techniques in the TDA package for R. Read more...
Persistent homology provides a way to quantify the topological features that persist over our a data set’s full range of scale. Read more...
An intuitive derivation. Read more...
A simple mnemonic trick for quickly differentiating complicated functions. Read more...
Hidden inside of every quadratic, there is a perfect square. Read more...
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
Two subtypes of coders that I watched students grow into. Read more...
In 9 months, these students went from initially not knowing how to write helper functions to building a machine learning library from scratch. Read more...
During its operation from 2020 to 2023, Eurisko was the most advanced high school math/CS sequence in the USA. Read more...
Two subtypes of coders that I watched students grow into. Read more...
In 9 months, these students went from initially not knowing how to write helper functions to building a machine learning library from scratch. Read more...
We can algorithmically build classifiers that use a sequence of nested “if-then” decision rules. Read more...
A simple classification algorithm grounded in Bayesian probability. Read more...
One of the simplest classifiers. Read more...
The brain is a neuronal network integrating specialized subsystems that use local competition and thresholding to sparsify input, spike-timing dependent plasticity to learn inference, and layering to implement hierarchical predictive learning. Read more...
We solve a special case of how to periodically stimulate a neural network to obtain a desired connectivity. Read more...
Category theory provides a language for explicitly describing indirect relationships in graphs. Read more...
Framing complex systems in the language of category theory. Read more...
A series is the sum of a sequence. Read more...
A sequence is a list of numbers that has some pattern. Read more...
Type I pairs with the variable that runs vertically in the usual representation of the coordinate system. The remaining types are paired with the rest of the variables in ascending order. Read more...
The behavior of a multivariable function can be highly specific to the path taken. Read more...
Merge sort and quicksort are generally faster than selection, bubble, and insertion sort. And unlike counting sort, they are not susceptible to blowup in the amount of memory required. Read more...
Some of the simplest methods for sorting items in arrays. Read more...
Repeatedly choosing the action with the best worst-case scenario. Read more...
Building data structures that represent all the possible outcomes of a game. Read more...
Good problem = intersection between your own interests/talents, the realm of what’s feasible, and the desires of the external world. Read more...
Stuff you don’t find in math textbooks. Read more...
It’s centered around political ideology rather than the science of learning. Read more...
Two subtypes of coders that I watched students grow into. Read more...
Minor changes to increase workout intensity and caloric surplus. Read more...
Daily 20-30 minute bedroom workout with gymnastic rings hanging from pull-up bar – just as much challenge as weights, but inexpensive and easily portable. Read more...
Minor changes to increase workout intensity and caloric surplus. Read more...
Daily 20-30 minute bedroom workout with gymnastic rings hanging from pull-up bar – just as much challenge as weights, but inexpensive and easily portable. Read more...
Many existing proofs are not accessible to young mathematicians or those without experience in the realm of dynamic systems. Read more...
The main ideas behind computers can be understood by anyone. Read more...
Framing complex systems in the language of category theory. Read more...
In a simplified problem framing, we investigate the (theoretical) usefulness of limiting the number of social connections per person. Read more...
Persistent homology provides a way to quantify the topological features that persist over our a data set’s full range of scale. Read more...
A function is a scribble that crosses each vertical line only once. Read more...
The limit of a function is the height where it looks like the scribble is going to hit a particular vertical line. Read more...
The derivative tells the steepness of a function at a given point, kind of like a carpenter’s level. Read more...
Every inscribed triangle whose hypotenuse is a diameter is a right triangle. Read more...
How to avoid some of the most common pitfalls leading to ugly LaTeX. Read more...
A technique for maximizing linear expressions subject to linear constraints. Read more...
… are summarized in the following table. Read more...