Working with Nathaniel for partnered coding in last week’s lab was great for a bunch of reasons.

At first, I was nervous that I would be a total anchor, weighing down his progress on the Bouncing Ball project. After all, the only time I’d ‘worked’ with Nathaniel on coding previously had been when Aden, Diana, and I had called him from one of our computer lab coding sessions for help on an early project (he was featured in my Academy Awards-style thank you speech in an earlier post). I was worried that he was miles ahead of me in understanding both the theory and practice of the coding we’d done in class so far (and I still think he is, I just think maybe it’s not as huge of a deal as I imagined it to be at the beginning of last week’s lab). I find that it takes me a while within a time block of coding to feel comfortable even suggesting a piece of code to attempt in a project (whether I’m suggesting it to myself or in a collaborative coding situation).

Anyway, when Nathaniel said he was unsure of where exactly to start in our attempt to get 20 translucent balls to fly apart at equal speed in random directions, it was a bit of a relief. We would work together, switching off as commanders of the keyboard. I wouldn’t drag the team down too far.

Fast forward about two hours, and Nathaniel and I are the proud, excited coders of a spec-meeting Bouncing Balls! What made us successful? In large part, Scott’s patient teaching (like when driving, I’m a firm believer in asking for directions when lost). Also quite helpful, listening to Scott give other pairs advice and talking over similar problems with our neighboring team, Joe and Diana. And last but not least, as David mentioned in his post for this week, pseudocode turned out to be just as crucial as Scott had said it was in open lab hours. While we didn’t write pseudocode out, we found it was quite helpful to verbalize out loud to another person both what we wanted to put into Atom and what we wanted to see in Chrome.