Abram Hindle, PhD

Assistant Professor, Faculty of Science - Computing Science

Contact

Assistant Professor, Faculty of Science - Computing Science
Email
abram.hindle@ualberta.ca

Overview

About

Education

  • 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


Research

Area

Software Engineering

Interests

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

Summary

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.

Courses

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 663 - Topics in Computing Science

Fall Term 2020