In most computer science programs, machine learning is usually a graduate level course. It’s a specialization within the field of artificial intelligence, which is often thought of as a theoretical study than practical applications. But yet, machine learning today is used heavily to solve problems. Our team for instance, uses it to build acoustic models for speech recognition. It’s no longer a theory, it’s applied science. But if you wanted to start in this field, which I suspect is going to play a major role in software in the future, where do you start? I came across this free textbox from professor Max Welling for UCI Computer Science. His textbook “A First Encounter with Machine Learning” is available for free. While it’s not an entirely bedside reading, it is however written for engineers who are interested in learning about the various machine learning algorithms that are available today.