Week 3: Surviving Algorithms and Running Elections
15 Jul 2025Last week’s Caesar challenge pushed my schedule out by a few days and I had to pick-up pace this week, Week 3. Had the content been entirely new, I would have needed more time on arrays. This week’s focus was on thinking about solving problems better, thinking algorithmic-ally. A end-of class animation comparing Selection Sort, Bubble Sort and Merge Sort was priceless, succinctly illustrating good program design and efficiency in algorithms.
Execution Time |
This week’s content was overally easy going and comprehensible. I could correctly identify and distinguish, first time, the three sorting algorithms by analysing the run-times, sketched on the study note above.
While working through the Problem Set 3, the small wins really kept the morale and drive to continue high. Incorrect use of a comparison operator can be code breaking. Using a debugging technique learnt in the course, viz printing output at certain points of the code, I was able to identify the problem with my code without using the IDE’s Debugging Tools.
Wheels Off . . . Collaborate
-
Problem Set 3, tasks were increasing challenging. With the first two being quick wins and quite a warm up. With the third of the problems, the training wheels where completely-off! One could leverage on the previous task completed and that ws it. Just the first rung of a complex ladder system. Programmatic and algorithmic thinking were scaled a notch. Two dimensional arrays were to be employed. The Runoff task, challenged one’s ability to think in the abstract.
-
For the first time I went out to look for help in a Slack Community, one of the many CS50 communities. It wasn’t long till I had a break and cracked the functions which were to be implemented.
-
Due to pressing work commitments. I have to renage my week on week plan for the course. I will continue on Week 4 in a week’s time. Wow! That was a lot of weeks in a few sentences. Not very good design.