20140120-engineering-superlab-065.jpeg

A Summer of Code

I didn't quite indulge myself the opportunity to explore Abu Dhabi over the summer, relieved of the weight of courses, exams, and assignments, so much as I immersed myself in the blue-hued development environment that is the trademark of the Arduino software. 

Weaving in and out of its definitive ampersands and conditionals, encompassing single blocks of logic in those ever prevalent curly braces, tapping my keyboard rhythmically to the hum of my laptop as it transported bytes of data to the Arduino board, and heaving a prolonged bout of despair whenever my code didn't work, I rediscovered Arduino's software syntax as an unforgiving digital poetry of a kind, demanding strict adherence to the rules of its grammar. And I loved it all the more.

I worked in the lab of Rafael Song, NYU Abu Dhabi assistant professor of Mechanical and Biomedical Engineering, modeling a worm-detecting unit with the use of the Arduino development board and software, basic circuit components, and a few other tools, which would be integrated into the design of a microfluidic worm-dispensing device. Working with Ahmad G. Saad, Class of 2014, as well as with advice and support from Matt Karau of the University's Design and Innovation Lab, I rekindled my interest in software programming, marveled at the sheer volume of layers underneath layers of complexity that shrouded the most simple software command, and carried my code at the edge of my tongue in much the same way a lyricist would a poem, continuously seeking positive refinement to the most obscure syllable. And when I was so enraptured by the beauty of the environment that I strayed too far out of the box in the quest to address a simple challenge, Ahmad and Matt were on hand to nudge me gently back in, with much simpler and much more practical solutions.

I carried this childlike fascination for code back home to Nigeria, just in time to serve as an instructor at Africode, a project aimed at introducing African pre-college students to the concepts of software programming, and I watched on with a little jealousy as my fascination for this digital poetry was first matched and quickly superseded by that of the students. My awe in turn morphed into amazement at the speed and eagerness with which these students absorbed instructions and applied them to the challenges they were assigned. Using the MIT AI2 app inventor and MINDSTORMS NXT Drive software tools, both admittedly less complex than the more professional Java and/or Python development environments, the students designed android-compatible mobile applications and brought robots to life, giving as much care to the aesthetic quality of their apps as to the accuracy of execution of their robots' movements. In one particular instance we had been hunched for hours over the design of the mobile version of the popular "Whac-a-Mole" arcade game, discussing a way to accurately report the number of times the "mole" had been hit, and I began rattling out a complicated string of instructions in excitement, pleading with some of the students to try out my suggestion.

"Oh but I already solved it," one of the students said. "It wasn't that difficult. I did it using only a single instruction." I smiled, sagging my shoulders in mock despair, and listened as the student walked me through his solution. I had stepped out of the box again.