CST370 - Learning Journal Week 1: Introduction to Algorithms and Data Structures Review
Week 1 Learning Recap
The first week of CST370 - Design and Analysis of Algorithms wrought a rousing return to one of my most revered regions of Computer Science: creative problem solving! While I spent the time before this class lightly reviewing typical Algorithm/DSA coding problems, I can appreciate that the curriculum requires first discussing how to approach problems and consider structured solutions before diving straight into the syntax and implementation details. The reading material and lectures from Week 0/1 invite students to think about how we think about problems.
Revisiting the concept of an algorithm was a sturdy if not somewhat expected kickoff to the materials for CST370, this class and textbook provided an initial and familiar concept to get started: Euclid's algorithm for computing the greatest common divisor. Having worried about GCD since elementary school math, peering into this numerical quandary from an algorithmic vantage point illustrated the logical and practical necessities of repeatable and efficient problem solving. I deeply enjoyed the puzzle challenges and hope they continue on in future lectures, using the concepts learned in a very tangible almost riddle-like context helps cap off and solidify the ideas explored. Cracking a clever riddle and then explaining it to unwilling family members will be a future highlight of this class (I hope)!
Reviewing sorting, searching, graph problems (weighted/unweighted alike), linked lists, stacks, queues, and trees helped further illustrate the tools for problem solving that we will use in this class and beyond. These concepts work in tandem with the introduction to algorithm analysis framework/time complexity. Discussing an algorithm in the context of effectiveness but additionally its performance feels like true classic Computer Science. Considering the nature of the material and the assignments, this is one of the most exciting classes so far!
Week 1 Class Engagement
For class engagements, this week I met with our TA Khanh and discussed a couple aspects of Codespaces, C++, how cases are tested for this class, and alternatives to the algorithmic logic behind solving the introductory assignment after I had already submitted. Khanh is clearly a dedicated and highly capable TA even with just one office hour session attended.
Comments
Post a Comment