Using algorithms that iteratively learn from data, machine learning allows computers to find hidden insights without being explicitly programmed where to look.  This is important to our case study as it allows self-driving cars to learn from it’s environment and mistakes.
How does it work or a deeper look
Basically the program has some sort of end goal. In our case that is driving to a given destination without crashing, or breaking the law. The program now does multiple runs, and in each run, it changes something. The car might break when it sees a red light for example, this is a good run, as the program has not broken the law. On the other hand if the program breaks the law, and speeds up when it sees a red light, it breaks it’s original goal of not breaking the law. Good runs evolve and ‘reproduce’ (mix the good parts) making better versions of the program, until ideally we have a program that knows fulfills its original purpose.  
An excellent, and I truly mean excellent example is MarI/O, a machine learning program that learns how to play mario, and mario kart.
Super Mario World: https://www.youtube.com/watch?v=qv6UVOQ0F44 Mario Kart: https://www.youtube.com/watch?v=S9Y_I9vY8Qw