Kenneth Lu

Data Scientist Kenneth Lu Sees A Future Where Theoretical Math Produces Better Software

Kenneth Lu
Data Scientist, Charles River Analytics (CRA)

MS in Computer Science (MET’19); BS, Carnegie Mellon University

What compelled you to return to school and pursue a graduate education? What is your long-term objective?
I finished my undergraduate studies in 2013, and had been looking for ways to further my career for a couple years, since beginning full-time work. My original plan was actually to work for a few years before pursuing a PhD in mathematics. But I came to realize that the math programs I’d targeted weren’t going to be a fit. At first, I was dismayed and disappointed, but then my supervisor at CRA encouraged me to pursue a Master of Science in Computer Science, explaining that it would not only grant me the skills I needed to further my career (and perhaps obtain a PhD down the road), but also that the company would reimburse my tuition. That was too good an opportunity to pass up. So, with renewed confidence, I charged forward on a more applied route.

In the short- to mid-term future, I’m mainly looking for interesting problems to solve and mentorship opportunities that can give me the skills I need to understand a wide range of real-world problems. I’d also like to deepen my knowledge in the realm of program analysis. Whether this is achieved in industry or academia or a combination of both, I don’t yet know.

As for my longer-term, broader career goals; I want to find ways in which we can use methods from theoretical mathematics to produce better software. We’ve seen this already as people have applied techniques from abstract algebra to create functional programming languages, but I (like many others) believe that there is much more to do and improve upon in bridging this gap.

Why did you choose BU MET for your graduate studies? What set BU MET apart from other programs you were considering?
It made the most sense logistically, as BU MET offered classes at night and was located near to where I worked. The program also offered a lot of relevant classes in areas that I didn’t have any experience with at the time, like Machine Learning (MET CS 767), Computer Language Theory (MET CS 662), and Cryptography (MET CS 789). I wish I had a more philosophical statement to make here, but sometimes pragmatism supersedes profundity!

Is there a particular faculty member from your courses who enhanced your experience at BU MET? Who and why?
There are two faculty members I’d like to thank. One is Dr. Madani Naidjate, who taught my computer language class and provided me with a clear and intuitive understanding of traditionally opaque concepts. Another is Dr. Eric Braude, who taught my machine learning course and also served as my master’s thesis advisor. Without doubt, these two faculty members warrant special praise for maximizing my learning—especially given the difficulty of teaching late into the evenings, in addition to their daytime responsibilities. The things they taught me were immediately and profoundly useful to my day-to-day work.

How do you apply concepts you learned in your courses in your current job?
Programming language and analysis theory, as well as machine learning techniques, are used heavily in my line of work.

My company’s area of research involves building adaptive and resilient software for autonomous systems. Specifically, we are trying to make legacy code adapt to new hardware requirements, without needing a human engineer in the loop. This requires a system that utilizes program analysis techniques to transform and update source code, as well as binaries and machine learning to optimize its behavior based on environmental and operating context data.

On another project, we are developing real-time hardware health prognostics. This involves machine learning techniques that bridge the relationship between a hardware component’s current state (captured via sensors) and its future state, from which the ML model will then predict the hardware’s remaining life, or how much time is left until a motherboard or a chip breaks.

View all posts