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) goes on. Asymptotic notation rules (drop constants, drop lower-order terms, combine nested loops multiplicatively) brought back warm memories of evaluating limits as x approaches infinity (asking the question, "who persists as time goes on?"). 

         The presentation of recursive and non-recursive algorithms has done great work to demystify code logic time costs. The costs lie in the operations, not the lines. Sequential loops add costs and nested loops multiply costs. Recursive algorithms introduce recurrence relations that can be expanded and then simplified via backward substitution, a marriage of discrete math and classic math. I am additionally happy to report that the puzzle pitstops have continued and I am already bothering people in my life with the 4 gallons logic problem.

        Brute Force Algorithm Design capped off the week of learning. The quotes at the beginning of the textbook chapter resonated with me, particularly Robert Byrne's "Doing a thing well is often a waste of time." This paired well with the idea that BFAD is correct but inefficient. It's the devil you know and not always to be ruled out as the solution to an elegant problem. The two-part programming assignment chained these ideas together well. Quite the compelling week.        

Comments

Popular posts from this blog

Week 1 - CST363 First Post: Relational Database Reflections

Week (6/)7/8 Markov End-of-Semester Reflection

Week 4 Project 1 Post-Review