Why I should have paid more attention in Data Structures & Algorithms
It’s 9am, or 10am. I’m at the 2nd row from the back of Lecture hall 07? Who’s giving the lecture? Mr D.B., and the topic? Data Structures and Algorithms. He was eccentric, moving in a way which was mildly annoying to the young adult version of myself. The slides? Oh the slides! Every title had a drop shadow, every word was italic, the arrows, the diagrams, paragraphs! Why!
Really these slides were a thing of beauty, it’s what I remember the most about this module to this day. 
All this adds up to a completely unreasonable reason to dislike the Data Structures & Algorithms lecturer. Arguably the most important of module that I had the privilege sit an exam for, it certainly seems that way with the emphasis on the topics for software engineering interviews.
You can’t win them all, you can’t ace every module, and I felt relatively content with myself having achieved at ~60% grading in it. But poof, out of my head all the fundamentals of computer science went. In its place? Some other topic I’m sure, but I wish I wish I’d of paid more attention.
So this is the plan, instead of trawling over DS & A quick refresher courses, with a little more sinking in each time I get the motivation to respect the fundamentals. I’m going to go learn them through teaching. Something which I found helped greatly during my time at university, you can’t teach what you don’t know, and teaching forces you process and question the material in a way which you just don’t experience rattling out diagram after diagram.
Where was I? Oh yes. This is the first of N+1 blog posts (1 < N <= motivation). I’m going to try and write a post on every single fundamental data structure and algorithm, with coding examples in Java/Go/Python. Hopefully burning these fundamentals into my mind once and for all.
Wish me luck.