2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

6
2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD

Transcript of 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

Page 1: 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

2014 APL Problem Solving CompetitionWalt Syzonenko, Fiserv

Brian Becker, Dyalog LTD

Page 2: 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

• Our 6th Year 2009-2014• Our 2nd Year working with StudentCompetitions.com

• Thank you sponsors!

And our anonymous sponsors (you know who you are )• Competition Format

• Phase I – 10 "short" problems• Phase II – 9 problems (23 tasks) spread across 3 disciplines

• BioInformation, Cryptography, and Recreation and Games

• Student and Non-student prizes

Welcome!

Page 3: 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

• Our most successful effort to date!• 4,443 unique website visitors, of whom• 1,234 registered for the competition, of whom• 60 submitted Phase I entries, of which• 37 were considered valid• 25 Phase II entries were submitted, of which• 17 were considered valid

• Phase I – 24 male, 4 female, 9 n/a• Phase I submissions from 17 Countries

By the numbers United States 9 n/a 8 Ukraine 3 India 3 United Kingdom 2 Belgium 1 Serbia 1 Sweden 1 Germany 1 Czech Republic 1 Denmark 1 Brazil 1 Australia 1 Ireland 1 Iran 1 Canada 1 Argentina 1

Page 4: 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

• Each year we ask for feedback from the competitors.Here's a sampling of what we received...

Contestants Reactions

This competition was a fun opportunity to learn a unique programming language.

Some of the problems were quite challenging to write elegant solutions to...

The Dyalog APL competition is a strong incentive for people to invest time and energy to learn and practice this powerful computational language.

For me, it was an opportunity to challenge myself to get back to practice and dive deep in the new features brought by Dyalog APL. I was pleased to find an incredible and complete APL platform.

It was very interesting, informative and fun. Thanks for the help and quick responses to emails.

I picked up a few more APL tricks!

I enjoyed the competition a lot, and I intend to participate again once I start my PhD.

It was a fun competition, a little more time investment than I though it was going to be at first, but that was largely my own fault.

I really like APL. It makes me think dynamically. ... I am looking forward to attending next competition about APL. Thank you so much

I have really enjoyed this competition. It has surprised me that it has been so easy to get a basic understanding of APL, and at the same time it has been a huge challenge to begin thinking in arrays.

The competition is great. You've done a great job collecting those tasks. Thanks guys, I've had a lot of fun!

I enjoyed this contest. I attempted all the problems except for Recreation and Games Problem 2.

I really enjoyed the competition, especially the variety of the problems. I didn't find anything that needs improving for this competition.

Great ! And this time not only for students

APL has been very different from everything I've known (except maybe for Lisp). It has been an excursion into history for me - finding out eg. about the IBM 360 etc.

I really liked the contest!

The problems appeared very interesting to me, and I really enjoyed the way APL works with operators which seems a bit like quantum mechanics!

Thank you, Dyalog, for this experience. This is my second year in the contest and after taking an elementary course in data structures and algorithms and a dedicated upper-level course, I think I've come a long way in understanding that there is a choice in making things work, rather than "just getting the job done". I thoroughly enjoyed the competition this time around because it was algorithmically challenging and required thinking outside of the box. It also made learning more and more of the symbols fun.

Page 5: 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

A Personal Reaction...Hi, It's a pleasure that I have the chance to be in part of this contest. ... I am from China and majoring in Computer Science. I can handle python, java and c++ and APL.

By the way, I learnt APL 10 days ago by myself when I got the email about the competition.

∇ result←X(n SharedKmers)Y;pair;takeXFront;dropXBack;takeYFront;dropYBack;subX;subY result←⍬ pair←'' takeXFront←n takeYFront←n dropYBack←0 dropXBack←0 subX←'' subY←'' :While takeXFront≠((⍴X)+1) subX←dropXBack↓(takeXFront↑X) :While takeYFront≠((⍴Y)+1) subY←dropYBack↓(takeYFront↑Y) :If (+/(subX=subY))=n pair←dropXBack,dropYBack result←result,pair :EndIf takeYFront←(takeYFront+1) dropYBack←(dropYBack+1) :EndWhile takeYFront←n dropYBack←0 takeXFront←(takeXFront+1) dropXBack←(dropXBack+1) :EndWhile∇

Page 6: 2014 APL Problem Solving Competition Walt Syzonenko, Fiserv Brian Becker, Dyalog LTD.

• Iryna Pashenkovska – non-student winner• Solutions were well thought out• Code was clean, straightforward and well

commented• Helped make the competition better

• Emil Bremer Orloff – student winner• Innovative solutions using dfns and tradfns• Well documented• Fun to judge

About Our Winners