News about Dyalog

Sep 6, 2021

Meet The 2021 APL Problem Solving Competition Winners


competition

The 13th annual APL Problem Solving Competition winners were announced on 20 August 2021. Read about their experiences with APL and find out a bit more about them in their own words below.

Phase I of this year's contest had the familiar format of 10 one-line solutions, with 10 participation prizes being awarded to the submissions judged to make the best use of APL. Phase II was split into problem sets, with a single grand prize winner, second place, third place and non-student winner. The questions for each phase can be downloaded so that you can see what they tackled.

 

 

 

The Grand Prize Winner is Dzintars Klušs of Riga State Gymnasium No. 1 in Latvia. He receives a cash prize of $2,500 USD, an invitation to present his winning work at Dyalog '21 and a delegate package registration for Dyalog '22 in Olhão, Portugal.

"I learned about APL from a code golfing site about four years ago, where APL fit right in. Over the years, I've found array programming languages to be a very nice tool for quite a few things, quick prototyping and use as a calculator (that can easily grow to a full language if need be) being the most important to me - so much so that I've bound a keyboard key to open a REPL of one – BQN – a new APL descendant for which I've written an implementation (or two)."

 

 

The second place winner is Victor Ogunlokun, who attends Obafemi Awolowo University in Nigeria. He receives a cash prize of $1,250 USD.

"I got to know about the competition through a friend. I had no prior knowledge of Dyalog APL before the competition, but since I needed the cash prize to get better gadgets and jump start my data science career, I jumped on the competition, started studying and practising to better understand the new and strange array oriented symbolic Dyalog APL. Initially, re-orienting my mind was hard as I was already familiar with Object Oriented programming, but once I got a hang of it, it just became natural and easy. Dyalog APL requires fewer characters than other conventional programming languages, many multi-line Object Oriented functions can be converted to a single line dfn in Dyalog APL, then due to its array oriented approach codes written in Dyalog APL execute complex tasks faster. Due to the presence of non-alphabetic symbols, one would think reading code in Dyalog APL would be hard but knowing the symbols and right-left execution orientation it’s the reverse. In the future, I think I’ll explore some DS and ML algorithms with Dyalog APL."

 

The third place winner is Aaron Paterson who attends Quinnipiac University in Connecticut, U.S.A.. He receives a cash prize of $750 USD.

"I watched John Scholes' old game of life videos in highschool, and was immediately fascinated by the idea of a programming language focused on symbolic notation, based array theory, and function compositions. A few years later I saw a post about the APL competition, which was the chance I had been waiting for to learn more about the language.

"Solving the problems was an extremely fruitful exercise and learning experience; I felt that I could use skills from studying both math and programming interchangeably or even simultaneously while writing APL programs. I was also between two scientific computing projects that made heavy use of numpy, and the difference in my intuition surrounding multidimensional arrays before and after the competition was night and day. Implementing Hirschberg's algorithm and reading the paper it was published in were also a great reintroduction to the actual science in computer science; my year had been mainly spent on web development, which is far from those roots.

"Finally, APL programs and the TryAPL interface have an aesthetic beauty that gets overlooked in most other areas of computer science, and I greatly enjoyed seeing complex problems reduce themselves to short sequences of glyphs. I also enjoyed reading about the early business challenges and successes of APL, and looking through the archived newsletters, which are beautifully typeset in a monospaced-programming style that since became ubiquitous. Overall, APL and this competition were great ways to experience a part of computer science history, and to get a new perspective on familiar ideas like iteration and arrays."

 

 

 

 

The Winning Professional Entrant is Julian Witte, who receives an invitation to attend Dyalog '22 in Olhão, Portugal.

"After graduating in mathematics from the University of Münster, I moved to Hamburg, where I work as an actuary. In my first job, I came into contact with APL for the first time. I like the array-oriented way of programming that is typical for APL, because thinking of problems in terms of arrays often helps me find an efficient solution to a problem. The powerful APL primitives are another benefit of APL that I really appreciate. For me, the best thing about good APL code is that it always feels like it gets straight to the point."

 

Thank You and Congratulations

This is the 13th consecutive year that we – together with sponsors Tegra118 and SimCorp – have run the International APL Problem Solving Competition. We would like to thank the sponsors for making it possible to continue to run this annual programming challenge.

Register now to be notified when the next competition launches in spring 2022.

Congratulations to all the winners.