Week 5: Hash, Hash. Thinking About Code-Collaboration and Nodes

Pogress Bar
The Gradebook - Looking at Progress

So after submission of Week 5 Problem Set solutions, the above is my current progress. Now just a little over the halfway mark of the course. I foresee of course that the Final Project (FP) will take longer than a week. The week’s lecture material was quite comprehensible, relaxing almost. Dr Malan has a way of explaining complicated concepts from basic building blocks, from the ground up. The video clip aids, such as the t-shirts from a box and those from hangers, really drove home the concepts of Stacks, FIFO and LIFO.

The previous week on memory, was a bit intense as the code became more complex. Had the motivation for studying not been strong, Week 4 was a good time to quit. But, as I have learned from Learning Hard Topics, some topics are challenging like that. With the content of Week 5, It’s clear now that was necessary foundation. The week is a culmination of C and will veer off to Python in Week 6 (looking forward to that). It feels truly like a peak of the course and I am expecting to now plateau.

From so much use of loops and defaulting to ‘i’ as a loop variable I concluded that the i stands for any of - integer, iterate, initialise, index.

For Loop
The ‘i’

Being Practical with C

Going over the Inheritance (Problem Set 5), one really appreciates how everything learnt up to this point - assignment (now of pointers), arrays, memory, loops, conditionals, truth checking and more, ties together. The utility of the C Programming language is demonstrated through implementation of a practical biology ‘problem’ - determining permutations of Blood Type.

I couldn’t help pondering though, the experience by someone encountering this computer science material for the ‘first time’, in my limited time circumstance would fare. A week-by-week tempo, is manageable for someone who can spare a few hours a day delving the content and not necessarily a full-time worker without a burn of midnight oil.

What I learnt About Complex Problems

Problem Set 5, Part 2, Speller was the most challenging, yet, of the course. It has so many ‘moving parts’ i.e. functions and also incorporated a lot, if not all, of the concepts learnt so far. I perceive the objectives I set out at the beginning of the course are gradually being met. Some take-aways:

Benchmarking Image
Benchmarking - How good is your implementation?