While at IBM, Arthur Samuel developed a program that learned how to play checkers (1959). He called it:

“The field of study that gives computers the ability to learn without being explicitly programmed.”

What does this mean?

As programmers, we often approach problems in a methodical, logic-based way. We try to determine what our desired outputs should be, and then create the proper rules that will transform our inputs into those outputs.

Machine learning flips the script. We want the program itself to learn the rules that describe our data the best, by finding patterns in what we know and applying those patterns to what we don’t know.

These algorithms are able to learn. Their performance gets better and better with each iteration, as it uncovers more hidden trends in the data.


Take a look at the timeline on the right. Since Mr. Samuel’s usage of the term, we have made astonishing advances in the field!

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?