I really fell in love with programming after being introduced to coding contests in high school. The best thing about it is the enormous number of possibilities it opens up. Got ten million points of data from your physics lab to analyze? No problem! Need to solve a twenty-seventh-order partial differential equation? Sure thing! Want to generate hundreds of modern artworks because you’re too lazy to do your art homework? Why the heck not! Those who know how to code can do millions of calculations in the blink of an eye; tasks that would have taken years to do by hand can be completed in mere seconds. It’s a real superpower, and the exhilaration of using it is like no other.
Ah, the IOI. Months of grinding problems and climbing team selection contests led up to that sunny August afternoon when the 787 Dreamliner lifted off with me and my three teammates, Joey, Victor, and Peter, on board.
In the week that followed, we solved (or at least tried to solve) six incredibly challenging coding problems, toured the state of Ibaraki, survived a magnitude 3 earthquake, and met the best young programmers from around the world. I snapped pictures by the seaside, fed the koi in the moat, caught some huge grasshoppers in the park, and stared in wonder at the sharks at the aquarium (!!). I folded the scrap paper and problem statements into origami fishies. I listened to Joey complain that there were no extra snacks, made fun of Victor for not being done his summer homework, and had to entertain Peter with math problems when he was bored. All too soon, I was heading back to Toronto with a silver medal in the pocket of my camera bag, wishing the dream could have lasted just a little longer.
From the twelve-hour plane ride to the brain-bending problems to the Tsukuba excursions to the shiny medals, IOI 2018 Japan was an unforgettable experience. And if I could live it all again—the hard mattresses, the jet-lagged nights, the thrilling moments before the contest began—I would in a heartbeat.
At the Educational Computing Organization of Ontario (ECOO) Programming Contest 2018, the Marc Garneau CI all-girls team—me, Dora, Jennifer, and Megan—advanced through two rounds to reach the finals, where we finished fourth!
At ECOO, the entire team works together on the problems, unlike at the IOI. My team did an extraordinary job. Not a moment was wasted—all four of us were always either thinking of solutions or constructing test data. I’m grateful to have had such an amazing team!
Ever wondered what your favourite sorting algorithm would sound like as a melody? No? Well, here it is anyway!
Inspired by Sound of Sorting, this program shuffles an array filled with 5 octaves of a chosen scale in base C, then performs a chosen sorting algorithm on it. Each time an element is moved, its corresponding note is played. The resulting melody is written to a MIDI file and can be played with any synthesized instrument in the audio workspace of your choice. This produces beautiful results sometimes (and weird ones most of the time).
The program currently supports 7 sorting algorithms:
After learning about the modern painter Piet Mondrian in Grade 12 art class, I noticed that it would be quite simple to write a program to create paintings in his style, and the Mondrian Generator was born! I handed in some of the images generated by this program, plus the source code, as one of my sketchbook assignments. Art teacher loved it.
Maybe I should rewrite this in the Piet programming language…
My Grade 12 Computer Science final project. This program simulates the movement of flocking animals, or boids. The boids attempt to stay close to each other and avoid predators and obstacles, while the predators pursue boids. It was interesting to see such complex behaviour arise from only a few simple rules: boids move towards the centre of their flock, head in the average direction of their flock-mates, avoid other boids if they get too close, and move away from obstacles and predators.