About Me

Who Am I?


I am a PhD student with the MAST Group at the University of Hamburg (Germany) under the supervision of Dr. Walid Maalej. I research Recommender Systems in Software Engineering, as well as topics at the intersection of Machine Learning and Education. My BSc and MSc are in Computer Science, but I am also fond of Psychology, Sociology, and Philosophy.

I completed my MSc at the University of Victoria (Canada) with The SEGAL Lab under the supervision of Dr. Daniela Damian. My thesis topic involved the use of machine learning to predict customer behaviour at IBM; Thesis title: "Escalation Prediction using Feature Engineering: Addressing Support Ticket Escalations within IBM's Ecosystem".

Education


PhD in Computer Science

Dr. Walid Maalej - The MAST Group

University of Hamburg

2018 - Present

MSc in Computer Science

Dr. Daniela Damian - The SEGAL Lab

University of Victoria

Graduating GPA - 4.0 (A+)

2015 - 2017

BSc in Computer Science

University of Victoria

Graduating GPA - 4.0 (A+)

2010 - 2015


Awards


UVic Graduate Award

University of Victoria - $3,000

UVic Graduate Award

University of Victoria - $1,500

IBM CAS Fellowship

IBM - $26,000

Canada Graduate Scholarships-Master’s

NSERC - $17,500

President's Research Scholarship

University of Victoria - $4,000

UVic Graduate Award

University of Victoria - $1,500

University of Victoria Fellowship

University of Victoria - $13,500

Outstanding Graduate Entrance Award

University of Victoria - $5,000

Undergraduate Student Research Award

NSERC - $4,500

President's Scholarship

University of Victoria

Faculty Scholarship

University of Victoria

Research

Current Projects


Sentimental ECrits

SEGAL Lab, University of Victoria

Building on the ECrits project metioned below, we are investigating the use of Natural Language Techniques to characterize customers in the support process. The goal of the project is to build customer personas that can be utilized to predict escalations within IBM's ecosystem. However, once the personas are built, we are looking to expand the scope to include other objectives such as business characterization and satisfaction tracking.

Past Projects


ECrits - Early Critical Situations

SEGAL Lab, University of Victoria

We investigated the use of Machine Learning techniques to predict escalations against IBM support tickets. Modelling customer behaviour during the support ticket resolution process is a non-trivial task, with compounding complexity as other factors such as customer traits and business needs are considered. Using Data Mining and Machine Learning techniques on three different internal IBM data sources combined with contextual knowledge gained while working with IBM, we developed a model to predict customer-initiated escalations.

External Contributor Recommender

SEGAL Lab, University of Victoria

The Jazz ecosystem (IBM's internal workflow tooling) is designed to foster a restricted collaborative workflow, whereby people can contribute to conversations that they have been granted access to, as well as all internal "public" communities. Our work was investigating the external contributions to test the hypothesis that external contributors -- people outside the designated team -- help tasks to be completed on time. The underlying theory is that no individual team knows everything required for a task/project to complete, and so either they work hard to find the information they need, or someone external to the team contributes their knowledge.

LAQQ - Live Anonymous Question Queue

Course: CSCW, University of Victoria

As part of an undergraduate course my group and I proposed a system (framework) for education-assistance tools, found a tool that closely matched our proposed system, and conducted a 3-part study of that tool in use. Once our study was complete we wrote about it in a 5 page paper that was submitted, accepted, and published at WCCCE 2015, a conference on Computing in Education. (reprint)

Publications

2018


L. Montgomery, D. Damian, T. Bulmer, S. Quader "Customer Support Ticket Escalation Prediction using Feature Engineering," Requirements Eng (2018) (PrePrint)

T. Bulmer, L. Montgomery, and D. Damian, "Predicting Developers' IDE Commands with Machine Learning," In Proceedings of Mining Software Repositories, 2018, Gothenburg, Sweden. (PrePrint)

2017


G. Tapuc, T. Bulmer, L. Montgomery, and D. Damian, "Sentimental ECrits: Modelling Customer Emotions to Predict Critical Situations," Poster presented CASCON, 2017, Toronto, Ontario, Canada. (Poster)

L. Montgomery and D. Damian, "What Do Support Analysts Know About Their Customers? On The Study and Prediction of Support Ticket Escalations in Large Software Organizations," in IEEE Int. Conf. on Requirements Engineering, Lisbon, Portugal, 2017, pp. 362-371 . (IEEE DL)

L. Montgomery, E. Reading, and D. Damian, "ECrits – Visualizing Support Ticket Escalation Risk," in IEEE Int. Conf. on Requirements Engineering, Lisbon, Portugal, 2017, pp. 452-455 . (IEEE DL)

2016


L. Montgomery, D. Damian, "ECrits - Modelling Escalation Risk in Problem Management Records (PMRs)," Poster presented CASCON, 2016, Toronto, Ontario, Canada. (Poster)

2015


L. Montgomery, G.Evans, F. Harrison, and D. Damian, "Towards a Live Anonymous Question Queue to Address Student Apprehension," The 20th Western Canadian Conf. on Computing Education, 2015. (Reprint)

Teaching

Previous Courses


Guest Lecturer - Various Courses

University of Victoria

Over the years at UVic I have given multiple guest lectures on different topics ranging from Object-Oriented Programming to Software Engineering in general. Here is a list of the courses and topics I have lectured on:

  • SENG 330 - Design Patterns and their Application
  • CSC 375 - Practical Applications of System Analysis (2 Lectures)
  • SENG 299 - Deep Dive into 6 Design Patterns (3 Lectures)
  • CSC 106 - What is Software Engineering?

Requirements Engineering

SENG 321 - University of Victoria
Teaching Assistant

Combines a range of topics integral to the analysis of requirements, design, implementation, and testing of a medium-scale software system with the practical experience of implementing such a project as a member of a software engineering team. Introduces requirements engineering, specifications, software life cycle models and methods for requirements engineering.

Introduction to Systems Analysis

CSC 375 - University of Victoria
Teaching Assistant

I worked with the students -- alongside another TA -- to help them understand the content and complete their semester-long projects. The major focus of this course was System Analysis, which we delivered as a personalized project between pairs of groups where one group acted as the analysts and the other as the customer. Other duties included marking, exam invigilation, and a series of guest lectures.

Computers and Information Processing

CSC 105 - University of Victoria
Lab Instructor

In preparation for this course I created -- in conjunction with the other lab instructor -- a project for the students to be completed over the course of the semester. This project-plan included weekly lab write-ups as well as an overall learning outcome per topic area. This project-plan was implemented over 10 weeks as the other lab instructor and I taught the content to 11 different lab sections. Main learning topics included: Excel, MS Access, and Web Dev.

Software Architecture and Design

SENG 299 - University of Victoria
Teaching Assistant

I worked as a technology assistant in the three-person team assigned to TA this class. I interacted with the students (including 3 separate guest lectures on Design Patterns) but my role was largely as a technology guide for the students as they created a fully-functioning web-app for their project.

Interests

Research


Requirements Engineering

Recommender Systems - Developer Assistance - Collaborative Workflows

Applied Data Science

Data Mining - Machine Learning - NLP

Education Assistance

Knowledge Distribution Frameworks - Online Classrooms - Automated Teaching

Programming


Scripting

Python - Data Mining - Machine Learning

Front-End Web Development

HTML5 - CSS - ES6 - Angular - React

Back-End Web Development

Node - Express - Databases

Primary Languages

Java - C# - C

Teaching


Computer Science Basics

Programming - Data Structures - Psuedo Code

Requirements Engineering

Project Planning - Document Creation - Group Dynamics

Design Patterns

System Architecture - Common Patterns - Broader Thinking

Web Technologies

Front-End and Back-End - Call Stacks - Technology Trade-Offs

Development Side Projects


I enjoy learning about current technologies through side-projects. These projects range from community tools to games. Although most of them are not "live" or even complete, I value the journey of learning and building.

Linksupp

A fresh take on eating out

Why eat alone when your friends are nearby, or better yet, meet a new friend. This application is a tool to connect with people over meals. Together is Better.

A Simple GO AI Web Service

Simple decision-based AI Endpoints

An external web service that students programming a FullStack GO (game) application can send http requests to. Acts as AI deciding moves in a GO match.

Clash of Clans - Clan Management Tool

Provides basic clan-management functions

In an effort to improve the community experience of being in a clan, this application provides features that help manage members, strategize in wars, and keep track of past clan activity.

ArcBloom

Shifting rings bloom every 3 turns

A fluid-feeling simple game like 2048. Designed with simplicity in mind.

Sanity Pillars


Squash

The sport, on the court

Piano

Played when I was younger, getting back into it

Board Games

Fun way to lose an entire evening

Video Games

Sandbox games mostly, like Factorio