User:Matthew

From UBC Wiki

Introduction

I guess this would be the part where I introduce myself. If you haven't noticed, my name is Matthew. I'm currently a student at the University of British Columbia in Vancouver majoring in Computer Sciences. I recently finished a degree at UBC in Psychology and have started the BCS program for Computing Sciences. I enjoy hiking, rollerblading, golf, gaming, and long walks on the beach. I am a lover and a fighter.


Assignment #1: Rene Descartes' Perspective on the Mind-Body Problem

Rene Descartes, a famous philosopher, was a pioneer regarding the Mind-Body problem. The Mind-Body problem describes that the human mind and the human body are two separate entities in which both these entities do not affect one another, but rather interact with each other. The human mind, according to Descartes, is immaterial whereas the human body is materialistic. To argue his point, Descartes explains that mental and physical events have different attributes. If we were to ask a group of randomly selected people to eat some curry chicken and whether if they liked it or not, we would obtain different answers. Whether if we like the curry chicken or not, the answer is related to our mind, which is subjective. In place of the curry chicken situation, one could easily come up with other scenarios where subjective answers would be present. The human body is argued to be separated from the mind because events that occur in the human body are not subjective. Activation of certain areas in the brain cannot be interpreted differently; it is either activated or not activated. It is also not helpful to ask how an increase in chemical X in the body feels like because it would be almost impossible or impractical to answer this question.


Since Descartes views the human mind and the human body as two separate entities, he also argues that the human mind can exist without the body. The body is merely a structure in which we perform physical actions. It would be feasible to argue that we could essentially transfer our mind, if we had the means to do so, into another body and remain the same person, albeit the physical differences. Descartes' view on the Mind-Body problem is interesting and further discussion regarding Descartes' view and opposition against his view is needed to paint a clearer a picture.

Sources: Philosophy 100 Notes - Dr. Bradley Murray


The Importance of Calculus in the Analysis of Algorithm Complexity

In Computer Sciences, there is an aspect that focuses on the analysis of algorithms. Algorithms can be thought of as a series of steps that can be used to accomplish a certain goal. This certain goal could be randomly displaying funny pictures on your iPhone or even making certain predications about the stock market. Just like solving any problem, there are many ways of going about to actually solve that particular problem. Algorithm design is not an exception. As long as a solution yields the correct answer, it is not technically incorrect, but there are certainly more efficient methods in solving problems. Calculus is a field of study that is important if one wants to analyze the efficiency and success of algorithms and it will be argued that one needs to grasp some elements of Calculus to correctly make that assessment.


The most commonly used techniques in assessing the success of an algorithm are proofs. Calculus is a field that revolves all around proofs. An answer to a particular question is not correct unless it is accompanied by a series of detailed steps that logically flow from one another to that particular conclusion. Learning how to prove the success of algorithms is essential in determining whether a particular algorithm truly solves a certain problem. Calculus proof techniques, such as proofs by Induction or Contradiction are frequently used in the field of Computer Sciences. Proofs by Induction are helpful on data sets that are particularly very large or unknowable because these types of proofs prove that a certain algorithm will be successful on “N” amounts of data. It is important to prove that one’s algorithm can work on large data sets because the reliability and validity of a piece of software is essential. Computer systems that are responsible in flying airplanes or patient care are systems that should not and cannot fail. An inductive proof is a technique that is helpful in reassuring that one’s algorithm is correct because there are many cases where an algorithm may work perfectly fine on a small data set, but this algorithm can falter when the data set becomes too large. It is evident that proof techniques are essential in the field of Computer Sciences.


Another way why the field of Calculus is important to Computer Sciences is in assessing the efficiency of algorithms. Even though an algorithm can be proved that it is successful, it does not necessarily follow that the algorithm is well designed. As an illustration, take Microsoft’s Windows Vista and Windows 7. Windows 7 is actually very much similar in functionality when compared to Windows Vista. In fact, Windows 7 is built on top of Windows Vista. However, Windows 7 is actually much faster and requires less computational power when compared to Windows Vista, despite it being a newer operating system.


So where does Calculus exactly fit in the analysis of algorithm analysis? The aspect of Logarithms is actually particularly helpful in this manner because the complexity of an algorithm, that is, the speed of an algorithm is often measured and modeled using Logarithms. As an example, some algorithms are modeled as being Log (n) in terms of complexity. In calculating that particular complexity of an algorithm, an understanding in how Logarithms are used is essential in making that conclusion because one needs to know how to apply Logarithmic rules. A more detailed approach on how exactly Logarithms can be used can be found at this lecture..


Even though Calculus might not be as apparent in Computer Sciences, it is actually quite important in the analysis of algorithms. With a growing market of low powered mobile devices, the importance in code optimization is far greater than ever before.