skip to content

Department of Computer Science and Technology

Jakub Bachurski won 1st prize in the undergraduate category of the Student Research Competition at the Principles of Programming Languages conference 2024

Congratulations to 3rd-year undergraduate Jakub Bachurski. The research he conducted for his Bachelor's dissertation has just won first prize in the Student Research Competition at the Principles of Programming Languages (POPL) 2024 conference

The conference is organised by ACM, the Association for Computing Machinery - the international learned society for computing. Jakub secured the highest award in the undergraduate category for his research into ways of solving problems in deep learning engineering by using the techniques of compilers and programming languages.

His project is entitled 'Escaping the Pointless: Embedding Pointful Array Programming in Python'.

The second prize in the undergraduate competition went to Bhakti Shah (University of Chicago) for his research on 'A Lean Formalization of Cedar'. Third prize was awarded to Tyler Hou (University of California, Berkeley) for his work on 'Efficient Incremental Computation for Halide'.

For his achievement, Jakub receives a medal and $500 prize money.

As the first-prize winner, he also goes through to the Grand Final of all the Student Research Competitions organised by the ACM. It will take place later this spring. 

"A lot of deep learning research and scientific computing nowadays is happening using large-scale numerical computations in the form of array programming," Jakub explains, giving the background to his research. "Very often this ends up using Python and one of many libraries descending from NumPy. A shared trait between all those libraries is a particular style of coding, called the array programming model. This paradigm, though widespread and somewhat practical, does not generalise well to more complex programs on multidimensional data, slowing down the programmer and hence research progress.

"My work enables the pointful style of array programming in Python, which seeks to remedy this. To make it viable, I formally show that there is a way to translate this style to the established model. This means that my proposed language can be executed using existing libraries and tools, and hence integrated with other popular approaches such as TensorFlow or PyTorch. In many cases my language is just as performant, if not faster, as code written in the old style, while being more readable and closer to mathematical notation.

"The research solves problems in deep learning engineering by using techniques of compilers and programming languages."

Many congratulations, Jakub, and we wish you all the best in the Grand Final!





Published by Rachel Gardner on Wednesday 21st February 2024