Abram Hindle, PhD

Assistant Professor, Faculty of Science - Computing Science


Assistant Professor, Faculty of Science - Computing Science




  • Ph.D., University of Waterloo, David R. Cheriton School of Computer Science, 2010
    Co-supervisors: Prof. Michael W. Godfrey and Prof. Richard C. Holt Dissertation: Evidence-based Software Process Recovery
  • M.Sc., University of Victoria, Dept. of Computer Science, 2005
    Supervisor: Prof. Daniel M. German Dissertation: SCQL: A formal model and a query language for source control repositories

  • B.Sc. (Honours with distinction), University of Victoria, Faculty of Engineering, Dept. of Computer Science, 2003



Software Engineering


Software Engineering, Empirical Software Engineering, Mining Software Repositories, Power Consumption Analysis


The focus of my research is the evidence-based study of software development. My field of research depends upon statistics, data mining, social network analysis, machine learning, NLP, signal processing, visualization, and software engineering. With respect to software engineering my research focuses on empirical software engineering, mining software repositories, software development processes, software maintenance, and software metrics. Other interests include computer music, music information retrieval, computer vision, programming languages, and computer security.


CMPUT 301 - Introduction to Software Engineering

Object-oriented design and analysis, with interactive applications as the primary example. Topics include: software process; revision control; Unified Modeling Language (UML); requirements; software architecture, design patterns, frameworks, design guidelines; unit testing; refactoring; software tools. Prerequisite: CMPUT 201 or 275.

Winter Term 2021
CMPUT 404 - Web Applications and Architecture

Introduction to modern web architecture, from user-facing applications to machine-facing web-services. Topics include: the evolution of the Internet, relevant technologies and protocols, the architecture of modern web-based information systems, web data exchange and serialization, and service-oriented middleware. Prerequisites: CMPUT 301 and 391, or consent of the instructor.

Winter Term 2021
CMPUT 499 - Topics in Computing Science

This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites are determined by the instructor in the course outline. See Note (3) above.

Fall Term 2020
CMPUT 663 - Topics in Computing Science

Fall Term 2020

Browse more courses taught by Abram Hindle