Machine Learning for Programming
If you want to recognize speech or filter out spam emails, you will probably write a machine learning algorithm and will not try to write the whole program using a “traditional” software specification and implementation. There are many examples of successful machine learning solutions, but can we more broadly apply the techniques to most or all software problems, and for most or all programmers, from the novice in their first programming course to the seasoned professional?
Peter Norvig is a Director of Research at Google Inc. Previously he was head of Google’s core search algorithms group, and of NASA Ames’s Computational Sciences Division, making him NASA’s senior computer scientist. He received the NASA Exceptional Achievement Award in 2001. He has taught at the University of Southern California and the University of California at Berkeley, from which he received a Ph.D. in 1986 and the distinguished alumni award in 2006. He was co-teacher of an Artifical Intelligence class that signed up 160,000 students, helping to kick off the current round of massive open online classes. He has over fifty publications in Computer Science, concentrating on Artificial Intelligence, Natural Language Processing and Software Engineering, including the books Artificial Intelligence: A Modern Approach (the leading textbook in the field), Paradigms of AI Programming: Case Studies in Common Lisp, Verbmobil: A Translation System for Face-to-Face Dialog, and Intelligent Help Systems for UNIX. He is also the author of the Gettysburg Powerpoint Presentation and the world’s longest palindromic sentence. He is a AAAI Fellow, ACM Fellow, and American Academy of Arts & Sciences Member.