Wednesday, 17 September 2014

An Introduction to Mathematical Analysis of Computer Science.

CSC165 First Week



The first few lectures opened up an interesting way for me to understand how to approach computer science. No longer is it just a design and implementation consideration, but now there are mathematical, logical, and readability issues. Now, for me, it becomes important for me to not only learn how to program properly, but to analyze them, and understand how and why these programs work.

Some of the few course material that we covered in the first few weeks consisted of a lot of logic and quantifiers, the idea of ambiguity and precision, and even a new heuristic approach.

One of the things I did struggle with in the first week was the idea of using a Python function to evaluate all and any operations. Originally confusing was the x in s2 for x in s1; to me, it seemed that it was going to loop through x in s2 and check it for all x in s1, but then upon hearing that the opposite was true from the professor, I understood that it checked for all x in s1 if it was in s2.

Additionally, with the idea of logic being introduced into the course, if-then statements attained a different meaning. From the computer science context I drew upon to understand if-then statements, I expected a if-then sentence to be true if and only if the precedent is true, and false otherwise. Learning that this was not the case really rocked my foundations, and thus it made me reconsider my ideas. Going back to fundamentals and representing these ideas with set theory helped to rebuild and reinforce the ideas taught in class. Doing so led to success in the tutorials.

For the first week of class, it was a very rocky stuff because I didn't really know what was being taught and was confused regarding the concepts. Upon further research, example testing, and a return to the fundamentals of set theory, I was able to not only understand the material, but to "prove" it to myself.

No comments:

Post a Comment