The word of the day is relief. Yesterday was crazy, intense, fun, stressful, overwhelming and a hundred other words – today was all of those things, but at a more manageable pace. It probably helped that we had both yoga and an ‘Engineering Empathy’ lecture, so could switch our brains off of coding and algorithms for a while. Also, the night before last I was so excited I barely slept, where as last night I was so tired I think I was asleep by the time my head hit the pillow.
We started the day talking about ‘Aha moments’ from yesterday, which are basically things we figured out or discovered that we thought were worth sharing with our cohort. This was followed by a short lecture on what makes readable code, and another lecture on how to very quickly immerse yourself into a codebase. The latter lecture I found particularly interesting, as I’ve often found myself falling down rabbit holes when reviewing other people’s code. For the exercise after this lecture, we were given 30 solutions to a challenge and had to review them in three sweeps:
- 5-10 seconds each for all: familiarisation, exposure, contextualisation
- 20-30 seconds each for all: classification, categorisation
- 5-10 minutes each for 3-5 selected: diversification, assimilation, internalisation
After immersing ourselves in a large volume of solutions and then reviewing a handful of interesting ones in detail, we were able to very quickly come up with our own solution which implemented the best of what we had discovered.
We had a few more challenges in the morning, then after lunch we got to work on linear vs binary search. Since these were both new to most people, we begun by working through what each was and how it worked on paper, before discussing how we would implement them in ruby. Our pair actually made a mistake on the linear implementation – we had assumed we could just use Array#each_with_index, but it turns out we weren’t allowed to use any array methods except  (i.e. accessing an element), but we came back to it at the end of the day and re-implemented it.
The end of the day was taken up by an ‘Engineering Empathy’ lecture on sexism, which I found really interesting: it felt far less like a lecture and more like a casual and open dialogue about the subject at hand. Our final challenge after the lecture was a fairly straightforward ruby program to obtain user input and sort it. We did consider doing the stretch challenge, but it was 8pm by this point and I wanted to get a little longer to unwind than I did last night.