Adam Cannon

Senior Lecturer in Machine Learning

As a member of Columbia’s teaching faculty, Cannon develops and teaches large undergraduate computer science courses for majors and non-majors.

He chairs the computer science undergraduate curriculum committee and serves on the SEAS Committee on Instruction. Cannon is also a member of the development committee for the new AP Computer Science Principles Exam. His current research is focused on how to effectively teach computer science to liberal arts students, especially in the humanities.

Cannon joined Columbia in 2000. From 2000-2005 he was also a visiting scientist at Los Alamos National Laboratory where his research was in machine learning, focusing on methods for building data-dependent hypothesis classes. 

Cannon received a BS and MS in aerospace engineering from the University of California in 1991 and 1994 respectively. He received a PhD in applied mathematics from Johns Hopkins University in 2000.

Research Areas


  • Artificial Intelligence (AI) and Machine Learning (ML)
  • Applied and Theoretical Machine Learning
  • Artificial Intelligence
  • Computer Science Education
  • Education Technology

Additional Information


  • Professional Affiliations
    • ACM SIGCSE
    • ACM SIGKDD
  • Honors & Awards
    • Presidential Award for Outstanding Teaching, Columbia University, 2016
    • Great Teacher Award, Society of Columbia Graduates, Columbia University, 2016
    • Department of Computer Science Faculty Teaching Award, Columbia University, 2009
    • Distinguished Faculty Teaching Award, SEAS Alumni Association, Columbia University, 2002