An introduction to one of our most intricate workshops for corporate techies
One of the most fun workshops we conduct is a tech competition, aimed at folks who already have some programming or technology background. The theme and scope of the competition may vary, but participants are always divided into groups, to compete against one another to solve technological challenges the fastest.
Earlier this year, we started devising this particular workshop. The specifications were a bit daunting— 2 hours, 120+ participants, no hardware on site (meaning we needed to bring computers, monitors, peripherals), with a Rube-Goldberg theme that would culminate with having participants build and fire off a DIY wooden & PVC catapult. We tapped on our library of toys and curriculum, to include topics such as cryptography, robotics, IoT data collection, electronics, logic gates, API usage, Raspberry Pi, and that aforementioned catapult (which had to be remotely triggered).
Chaos! (And lots of fun! Hopefully.)
The result: due to hardware limitations (we just didn’t have enough monitors for the coding challenges), the groups weren’t always able to tackle the challenges in parallel. Another problem was how the groups were supposed to each use a littleBits cloudbit, but they had no way to identify which cloudbit wifi was their own without them being labelled prior. Thankfully, a lot of the participants had a great time, but, oh boy, that was a logistics nightmare.
Back to the Drawing Board
One of the participants from that previous challenge saw the potential of the workshop, and asked us to develop a full-day competition around a similar theme. Looking back at it, despite the numerous issues that cropped up, we had managed to come up with a design that participants found engaging and unique, and which really tapped on their innate competitive drive.
Come this new workshop, the specs were a bit different: 8 teams, 60+ people, and 7 hours of classroom time. And this time, we aimed to combine even more things in our arsenal of gadgets and toys: littleBits, micro:bit, Strawbees, Python/R data analysis, APIs, IFTTT, with an overarching theme of IoT. Simple, right?
Learning from that previous experience was incredibly important in designing this new IoT challenge. With a few tweaks on version 1.0, we thought we could deliver a really engaging competition. Most importantly, we added a 2.5 hour briefing period at the start of the day, where we could introduce them to the hardware and software that they’d be using.
The calm before the storm!
Participants would still need to go beyond the basic intro that we provided them, but they’d have basic knowledge and a starting point so they didn’t end up flailing about in the dark. Second, trying to supply hardware to so many people was a big issue during the first iteration, so instead, we required them to bring laptops and hosted a Jupyter server for them to complete data analysis challenges rather than using the Raspberry Pi and all the peripherals. No more need to worry about transporting monitors, keyboards, and mice! Likewise, we (sadly) removed the catapult challenge. While it was really, really awesome (thanks to our intern Shao Hong for creating it!), it was just too difficult to bring down hardware supplies and tools for so many people.
Catapults were awesome, but sadly had to be removed :(
Finally, we needed to add some challenges to account for the longer competition length. We had been doing a lot of work with the micro:bit as it’s currently being introduced to the Singapore schools, so we added in a challenge to build a micro:bit bluetooth RC car to simulate an IoT data collection device. Likewise, cryptography is an important aspect of IoT security, so one of our interns (thanks Wei Heng!) was able to develop three devious crypto challenges. Finally, we had a very challenging littleBits hardware challenge to add as well.
Also, two of our interns (thanks Sam & Si Jie!) had previously designed a server to display a real-time scoreboard. And this was the perfect time to dust it off. Thankfully, Si Jie was free to recover and adapt the code (…at 1 am the night before…sorry!).
The brains behind the operation, our interns Wei Heng (left) and Si Jie (right)
What was the final list of challenges? Three crypto challenges, two API challenges using Reddit and Twitter, two data analysis challenges on clustering and visualisation, a micro:bit car challenge, a littleBits line-following bot challenge, and a Strawbees hardware challenge.
The Competition
So it begins…
Wow these guys were fast. Some participants had prior data analysis experience in R, but others simply taught themselves on the spot to solve our Clustering and Plotting data science challenges. Many Reddit and Twitter API challenges were completed right away. The most interesting were the hardware challenges:
littleBits Line-Following Bot
I’ve also never seen better littleBits cars — they completed our track in record time! This automated line-following car was a project that we’d done at littleBits workshops in the past, and it was always very challenging for participants. We provide example tutorials, first done by littleBits user Yoobin and her family:
… and later adapted by Rory and Sean at littleBits:
But even then, it’s usually quite difficult to implement! These participants figured out that key to successfully navigating our track was to give the car “wings” and attach light sensors on each wing, to maximise the width between the light sensors and give the car more flexibility when turning.
Micro:bit Bluetooth RC Car
We also challenged participants to build remote-controlled cars using the micro:bit! Using MakeCode and our Krazy Kar tutorial, groups needed to set up a bluetooth connection and control continuous servos (i.e. the wheels) with a keypad.
Building micro:bit cars using continuous servos and a 5 button ADKeypad.
After building the car, groups had to navigate a cardboard maze as quickly as possible. This is easier than it sounds, as an alkaline battery powered micro:bit only has enough power for one servo at a time, so you can tell one wheel to go forward, or tell the other wheel to go forward, but not both at the same time!
Strawbees Longest Ping-Pong-Ball Track
We supplied teams with a cardboard box and a bunch of Strawbees materials. Strawbees, if you haven’t heard of them before, allows you to attach straws together to create sculptures, prototypes, or anything else in your imagination. In this case, we weren’t focused on art, but rather performance.
The goal of this challenge was to design the longest possible ping-pong ball track. Groups only had a short amount of time to get a working track, and needed to initialise the ping-pong ball using a littleBits cloudbit (either by fan, servo, or another bit) and end the track by depositing the ping-pong ball in a plastic cup.
Crypto Challenges
It would be remiss of me if I didn’t mention the hardest challenge of the event, which ended up being the final crypto challenge.
I don’t want to give away the answer, but when it was finally revealed to the participants, there was a lot of facepalming over the plaintext (this event took place two days after National Day, so we decided to wish Singapore a Happy Birthday!).
The Final Countdown
The last 5 minutes of the competition was a scramble. Despite our pleas to the contrary, many groups queued up for last minute timings from our judges. When the dust cleared, the overall scoreboard was surprisingly green; groups had successfully completed most of the challenges presented, and two groups had tied for first place!
Huge thanks to Leong Hwee who contacted us to run this competition and congrats to Groups 2 & 8!
Editor’s Note: Thanks, Mike! We conduct a variety of fun and educational corporate workshops for beginners and experienced techies, focusing on having participants create with technology. Please get in touch at hello@tinkercademy.com if you’d like to run one of these for your company or department!