John DeNero is the Giancarlo Teaching Fellow and an associate teaching professor in the Department of Electrical Engineering and Computer Sciences at UC Berkeley. John has co-developed and teaches two of the largest courses on campus – Data 8: The Foundations of Data Science, and Computer Science 61A: The Structure and Interpretation of Computer Programs. His teaching has been honored with the Distinguished Teaching Award, the Jim and Donna Gray Faculty Award for Undergraduate Teaching, and the Diane McEntyre Award for Excellence in Teaching. His research on natural language processing focuses primarily on interactive artificial intelligence-based systems to assist professional translators, and his research on computer science education focuses primarily on large-scale delivery of computing content.
DeNero is the author of “Composing Programs” and co-author of “Computational and Inferential Thinking,” two online textbooks. He received a master’s degree in philosophy from Stanford University and Ph.D. in electrical engineering and computer sciences from UC Berkeley. Prior to becoming a professor, DeNero was a senior research scientist at Google working primarily on Google Translate and natural language processing.