CST370 - Week 3 Reflection
Week 3 Learning Recap
Another week, another dizzying array--or in my case with the homework, vector--of concepts, time-complexity conundrums, and new perspectives on age old programming cornerstones I have only vaguely glanced upon prior to CST370. As the perilous march to the top of the Algorithm mountain persists, I feel both comforted and daunted. On one hand, it is evident that the best cases and best algorithmic solutions to complex problems are a constant moving target that can require varying blends of planning, experimentation, calculation, brute force, and elegance--perhaps even all at once, when necessary. On the other hand, amid the raw mass of strategies and concepts I find myself somewhat awash in a sort of mountainside river that can quickly carry you downstream and force you to retrace your steps back up the range.
In an attempt to gain more stable footing on this week's slew of mental hikes, I will once again briefly map out the stops and important points of interest encountered. Brute force string matching and exhaustive search made a compelling case for a correctness-first mentality. Sliding the pattern across a string of text certainly was a friendly start, just my level of computational intellect amid balancing work and trying to absorb the material. In a similar vein, the knapsack problem is a crystal clear example of raw persistence as a computational strategy.
During the orientation for Software Design with Dr. C, he made a joke that he conducted a "Breadth First Search" for bad career choices before finding computer science and discovering a path he excelled at. At the time I felt a little intimidated that I didn't fully understand the joke, it gets funnier as time goes on. Depth First Search and BFS both feel quite demystified to me now. DFS deep dives and BFS works it level by level. Divide and Conquer and the accompanying recursive algorithm felt quite succinct, elegant, and scalable. D&C transitioned nicely into the Master Theorem which additionally is quite clear in its rules and application.
I am also quite happy that the puzzles persist to exist in the weekly modules. The fake coin puzzle was an admitted failure for me but I have explained it to--and annoyed --enough people that I feel safe admitting that. The finger count also was quite the challenge that I need to practice for the exam, haunting stuff even in its most superficial conceptual state! Week 3 employed some brute force on its own by hammering in that there are many ways to solve problems.
Comments
Post a Comment