Posts

Showing posts from January, 2026

CST370 - Week 4 Reflection

  Week 4 Learning Recap          Week 4 was a change of pace for CST370 as it was predominantly looking back at the material thus far in preparation for the midterm. I mostly found it to be an enjoyable retrospective; a lot of ideas have fallen neatly into alignment with each other. Naturally, I don't know that I'll feel so serene once I see my grade on this exam. I have a tendency to panic that I must persistently fight to override. Instead of a swarm of fresh concepts and ideas, new material simply focused on Merge Sort as an extension of Divide and Conquer. I'll briefly run through some of my exam preparation strategy and then recount what I recall from Merge Sort.          I first ran through all of the lectures and textbook readings before focusing in on any one topic. From there I broke up the weeks and attempted to use the module items for hot button topics to keep track of and quizzes as a guiding post for how questions migh...

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 ...

CST370 - Week 2 Reflection

  Week 2 Learning Recap           The second week of Design and Analysis of Algorithms reminds me that "computer science" can perhaps be a bit of a misnomer. By the same naming convention, time complexity and recurrence relations would be reduced to "telescope science" if they were astrological phenomenon. The mathematical and proof-rooted logic presented in CST370 this week wove many strands of thought together--I may have panicked when I heard "induction"--that I will attempt to unweave and reweave here for the sake of my own understanding.          Big O, big omega, big theta ruled--and I sense will continue to rule--the time complexity conversation. I will surely never forget O means upper bound, theta means lower bound, and omega means exact. Prior to CST370, I had some negligible and nebulous understanding of how loops are interpreted for the sake of n , but the lecture and textbook have laid it out very plainly as T(n) g...

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 qu...