Today I competed in an interesting event, the University of Calgary’s SET challenge (also known as the Amazing Race). This is a competition involving several areas of science, including mathematics, biology, chemistry, and computer science.
The nature of the contest was different from anything I’ve competed in before: students competed in teams, each team containing six people working together. The groups were to quickly complete several different activity stations, running around the university campus going from one station to the next to minimize their total time.
There were 25 teams competing in this event, 4 of them from my school. Two of them took first and third place respectively, together winning $1100 for the school. I was put into a team consisting of three grade 10′s, and three grade 11′s. There were no grade 12′s on my team. Unfortunately, our team was not one of the two that won the top three.
The competition involved mathematics and computer science, which I was able to contribute with; as well it contained biology, kinesiology, chemistry, and physics, much of which I knew nothing about. Having no grade 12′s, there were certain problems (especially with biology) which nobody in the group knew how to do.
At eight-thirty in the morning the event started with a presentation from an engineer working at NASA, who spoke about his work on aircraft. Near the end of the presentation there was a question period in which I asked him about how an average person could best support NASA and the aeronautics program. I don’t think he actually answered my question.
The race began at nine. The first activity was to produce the number 36 using a given set of cards in some way – a version of the game 24. For example, given the set [1,1,5,8,9,10] one could arrange the cards into ((8*9)/(10/5))*(1/1) giving 36. We were required to repeat this four times each for a set of six, five, and four cards, so twelve times in total.
Computer science was the next activity. Although the problems were referred to as computer science, no computers or programming was involved; we simply had to manually find the numerical answer to three problems with pencil and paper. Since the competition we had lost or thrown away the problem papers, or used them as scrap paper, I’m unable to reproduce them exactly here on my blog.
Problem one was a simple combinatorial problem supposedly involving dynamic programming. The problem was to enumerate (count) how many paths there were on a street map going from the start, in the bottom left corner, to the destination, in the top right corner (how many ways to travel from start to finish). You were only allowed to travel north and east (you cannot travel in a way that will take you further from your destination). The solution was to go bottom-up and write next to each vertex the number of paths to that vertex; the number for a new vertex was the sum of its adjacent vertices. The answer could be calculated after repeating this process about 50 times.
The next problem was the shortest path problem, for which a plain-english version of Dijkstra’s algorithm is given (although it would probably be easier just to do it by brute force than to try to follow their steps). The problem is actually described as finding the shortest path from your server to Google’s server. Being a relatively small graph manually applying the algorithm a few times gave the answer within a minute.
The final computer science problem was a bit trickier: given a string of characters encrypted using a Caesar substitution cipher (each letter shifted a constant number of times), decode it. For example “abcd” shifted by three would be “cdef”. Initially I thought there was no better way than brute force (trying with shifting by 1, by 2, and so on). However there was a word encoded as “xffu”, and since ‘f’ had to replace the same letter twice in the four letter word I guessed that ‘f’ was ‘o’, giving a shift of 17, and “xffu” would be decoded as “good”. Decoding the rest of the string was trivial.
After the computer science problems, the next activity was biology related. Biology being not my strongest area, I didn’t really understand most of it. My team struggled somewhat here, as no one really knew how to translate between DNA and RNA and proteins. We were eventually forced to leave as the time limit of twenty minutes passed (whether you solved any problems doesn’t really matter after then).
Next up was mathematics, which I’m a bit better at. The problems were not especially difficult: the first and second were simple coordinate geometry; the third was a system of three linear equations; the forth was an easy circle area problem; the fifth was about manipulating the equation of an ellipse; the sixth and last was the expansion of which I solved using the Pascal triangle.
I actually had some trouble with the system of three linear equations. Another team member and I were working on it and we constantly made arithmetic errors in the somewhat long and tedious calculation. We alternated between elimination, substitution, matrices, etc, but eventually got it correctly.
Answers to the six problems were used to construct a mysterious sequence, which turned out to be the Fibonacci numbers (5,8,13,21,34,55). Probably as an attempt to avoid pattern-finding, the problems were given out two at a time and the answers not revealed in order (for example the answer to the first problem was the forth number in the sequence). This wasn’t very good since only two people were able to work on the problems at a time.
The final problem, given after finding the previous six problems, was really surprising for me. It simply asked to find ten prime numbers between 5100 and 5300 (there are 21). I’m pretty sure there’s no better way here than brute force (we only had two non-programmable calculators). Since we were almost out of time by then we did not attempt this problem, which is kind of dubious to find on a time-constrained math contest.
After that was an activity with kinesiology which I don’t really remember much about. I think it was just a multiple choice test. A one-hour lunch period followed.
In the second leg of the competition we began with a series of chemistry labs that for the most part I did not understand; I won’t try to describe them here.
The final activity we participated in before the time ran out was the construction of a boat out of toothpicks and aluminum foil. The team was given a large sheet of aluminum foil and twenty toothpicks, to build a boat out of, to hold as many pennies as possible before sinking. Our team settled on a triangular design reinforced with some toothpicks; although we constructed it carefully it was only able to hold about a hundred pennies (out of a possible 500 pennies for maximum points).
Apparently there were two more activities that we did not have time to complete.
One thing today that was unanimously agreed upon to have sucked was the waiting times for certain stations. As an activity could only support a limited number of teams at a time, many teams would begin to queue up behind the activity. This resulted in a waiting of (I’m guessing) around 20 minutes for the kinesiology activity, and an hour for the chemistry activity. The waiting also magnified the time differences between teams, as a team being ahead by seconds at the arrival of a lab could be ahead by twenty minutes by the end of the lab. This was not fun, considering that it was still a race. It was ironic seeing teams sprinting for the chemistry labs after the lunch break, only to find a massive line up behind it and waiting a good portion of the afternoon to get it over with.
Consequently the first teams did not have to suffer the waiting times and thus progressed further ahead of those who did.
I think that overall this was a fun event (even though I had to miss the qualification round of the Google Code Jam today). It also brings to my attention how unbalanced my skill sets are, in favor of math and computer science.