Difference between revisions of "CSC103: DT's Notes 1"
Line 26: | Line 26: | ||
While the technology used in creating today's computer is the result of an evolution and choices driven by economic factors and scientific discoveries, among others, one thing we can be sure of is that whatever computing machine we devise and use to perform calculations, that machine will have to use rules of mathematics. It does not matter what technology we use to compute 2 + 2. The computer must follow strict rules and implement basic mathematical rules in the way it treats information. | While the technology used in creating today's computer is the result of an evolution and choices driven by economic factors and scientific discoveries, among others, one thing we can be sure of is that whatever computing machine we devise and use to perform calculations, that machine will have to use rules of mathematics. It does not matter what technology we use to compute 2 + 2. The computer must follow strict rules and implement basic mathematical rules in the way it treats information. | ||
− | You may think that Math may be necessary for programs that, say, display a mathematical curve on the screen, or maintain a spreadsheet of numbers representing somebody's income tax return, but Math might probably not be | + | You may think that Math may be necessary only for programs that, say, display a mathematical curve on the screen, or maintain a spreadsheet of numbers representing somebody's income tax return, but Math might probably not be involved in a video game where we control an avatar who moves in a virtual world. Or that the computer inside a modern data phone is probably not using laws of Mathematics for the great majority of what we du with it during the day. This couldn't be further from the truth. Figuring out where a tree should appear on the screen as our avatar is moving in its virtual space requires applying basic geometry in three dimensions: the tree is at a corner of a triangle formed by the tree, the avatar, and the eye of the virtual camera showing you the image of this virtual world. Our phone's ability to pin point its location as we're sitting in a café sipping on a coffee, requires geometry again, a ''program'' deep in the phone figuring out how far we are from various signal towers for which the phone knows the exact location, and using triangulation techniques to find our place in relationship to them. |
− | So computers, because | + | So computers, because they need to perform mathematical operations constantly, must know the rules of mathematics. Whatever they do, they must do it in a way that maintains mathematical integrity. They must also be consistent and predictable. 2 + 2 computed today should yield the same result tomorrow, independent of which computer we use. This is one reason we send mathematical equations onboard space probes that are sent to explore the universe outside our solar system. If there is intelligent life out there, and if it finds our probe, and if it looks inside, it will find math. And the math for this intelligent life will behave the same as math for us. Mathematics, its formulas, its rules, are ''universal''. |
But technological processes are not. So computers can be designed using very different technologies, but whatever form they take, they will follow the rules of math when performing computations. | But technological processes are not. So computers can be designed using very different technologies, but whatever form they take, they will follow the rules of math when performing computations. | ||
Line 36: | Line 36: | ||
The choice of using electricity has influenced greatly a fundamental way in which modern computers work. They all use the binary system at the lowest level. Because electricity can be turned ON or OFF with a switch, it was only logical that these two states would be used to represent information. ON and OFF. 0 and 1. True and False. But if we can represent two different states, two different levels of information, can we represent other than 0 or 1? Say 257? Can we also organize electrical circuitry that can perform the addition of two numbers? | The choice of using electricity has influenced greatly a fundamental way in which modern computers work. They all use the binary system at the lowest level. Because electricity can be turned ON or OFF with a switch, it was only logical that these two states would be used to represent information. ON and OFF. 0 and 1. True and False. But if we can represent two different states, two different levels of information, can we represent other than 0 or 1? Say 257? Can we also organize electrical circuitry that can perform the addition of two numbers? | ||
− | The | + | The answers to these questions, and the ensuing solutions are provided by two giants of computer science, '''George Boole''', and '''Claude Shannon''' who worked at very different times. Boole, in the 1840s, conceived an algebra, that is a mathematical system that obeyed the laws an algebra typically verifies, but that was based on only two values, two symbols. Boole's interest was ''logic'' and wether we can represent any expression that is only True or False as a combination of simpler assertions, that themselves can be only True or False. He succeeded in showing that this system of his was indeed an algebra, a '''[http://mathworld.wolfram.com/BooleanAlgebra.html boolean algebra]''', in the mathematical sense. Quite a strong statement, and mostly of use for people interested in logic. |
Before we move on to Shannon, let's go through a simple example that will illustrate how boolean operators work. | Before we move on to Shannon, let's go through a simple example that will illustrate how boolean operators work. | ||
+ | |||
+ | |||
-Binary sytem: whatever we can do in base 10, we can do in base 2. Algebra. + * 0, 1 | -Binary sytem: whatever we can do in base 10, we can do in base 2. Algebra. + * 0, 1 |