I cannot believe that this could be one of the last slogs I will ever write. It makes me feels so nostalgic, I wish it were september again...
I love this course so much.
Just kidding, I don't.
But what I do love about this course is the logic stuff we learned at the beginning of the year, the Halting Problem as it relates to theoretical computer science -- I think it's cool, and Big O, Omega. The expression of statements using logic symbols and the manipulation of logic symbols, although it may seem like a small I thing, I think it is truly profound. To use an analogy, consider when we were in Grade 9 learning algebra for the first time, with the x's and the y's. Who knew solving for x could be so easy, all we need to do is move around some alphabetical letters across equal signs! Yet, at the same time, it is not something that we could see right away. The technique takes research and rigorous proving, and what resulted is the mechanization of reasoning! Similarly, the commutative laws, the negation rules, the distributive laws in logic allow us to mechanize logic -- simple in hindsight, but profound. The Halting Problem is, for the same reasons as above, quite interesting. I remember that in the year 2000, the Clay Institute posted 7 math problems that are considered the hardest and most important in its implications. One of them is a computer science problem, P vs NP. The question of the problem is "can a computer that can quickly verify whether a given solution to a problem is correct also solve the problem quickly?" When I compare the Halting Problem with the P vs NP problem, I find that theoretical computer science is very imaginative, that is to say, it requires vision. Both Halting problem and P vs NP are problems that were proposed long before we had our sophisticated computers today, and yet somehow, people across every generations up until now are expected to attempt to prove it, which can only be done with vision and insight, and it also requires philosophy. My bit about philosophy might sound incredible but I would argue that philosophy is needed if we were going to solve a problem related to an abstract thing as a "computer", a machine that we do not know how it would look like in 50 years. It requires deep thinking, I love deep thinking. Tying in with all of this are Big O and Big Omega, since "quickly" in the N vs NP problem implies an arbitrary standard of running steps. It seems like I am kinda doing a summary of how I feel about the course material, but I guess I also am trying to say that I had no clue what I this course has in store for me, and I think that the people behind the course could have done a better job in explaining why this course builds-up to something greater, namely, theoretical computer science (who cares about practicality!).
Reviewing for the exam, I am happy to say that I recall most stuff and that I understand the materials well enough for me to be confident about the exam.
It's getting pretty cold as we near Christmas, but what would warm me up is a great mark on the exam! Perhaps I might get Larry a nice Omega for christmas.
*not hinting at bribery or anything... *
Merry Christmas and a Happy New Year.
* I wish Uoft were harder*
*jk jk*
No comments:
Post a Comment