Difference between revisions of "CSC103: DT's Notes 1"

From dftwiki3
Jump to: navigation, search
Line 22: Line 22:
 
So, in summary, we start seeing that computing, at least the medium chosen for where the computation takes place can be varied, and does not have to be silicon.  Indeed, there exist many examples of computation devices that do not use electronics in silicon and can perform quite complex computation.  In consequence, we should also be ready to find that new computers in ten, twenty or thirty years will not use semiconductors made of silicon, and may not use electrons to carry information that is controlled by transistors.  In fact, it is highly probable that they won't [http://en.wikipedia.org/wiki/Predictions_made_by_Ray_Kurzweil].
 
So, in summary, we start seeing that computing, at least the medium chosen for where the computation takes place can be varied, and does not have to be silicon.  Indeed, there exist many examples of computation devices that do not use electronics in silicon and can perform quite complex computation.  In consequence, we should also be ready to find that new computers in ten, twenty or thirty years will not use semiconductors made of silicon, and may not use electrons to carry information that is controlled by transistors.  In fact, it is highly probable that they won't [http://en.wikipedia.org/wiki/Predictions_made_by_Ray_Kurzweil].
  
===Binary System===
+
===Boolean Algebra===
  
 
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.   
Line 214: Line 214:
 
| F
 
| F
 
| F  
 
| F  
|-
 
 
|}
 
|}
 
   
 
   
Line 221: Line 220:
 
Below are some questions for you to figure out:
 
Below are some questions for you to figure out:
 
;Question 1
 
;Question 1
: Which row of the table would correspond to a container of Ben and Jerry's vanilla ice cream?  Would our friend like it?
+
: Which row of the table would corresponds to a container of Ben and Jerry's vanilla ice cream?  Would our friend like it?
  
 
;Question 2
 
;Question 2
Line 227: Line 226:
  
 
;Question 3
 
;Question 3
: Assume that our friend has a younger brother with a different boolean equation for ice cream.  His equation is ( ('''not''' choc) '''and''' ''fruit'') and ( ''HG'' or ( not ''HG'' ) ).  Give an example of several ice cream flavors and makers the brother will like.
+
: Assume that our friend has a younger brother with a different boolean equation for ice cream.  His equation is ( ('''not''' choc) '''and''' ''fruit'') and ( ''HG'' or ( not ''HG'' ) ).  Give an example of several ice cream flavors and makers of ice cream the young brother will like.
  
 
;Question 4 (challenging)
 
;Question 4 (challenging)
 
: Can you find an ice cream flavor and maker that both our friend and his/her younger brother will like?
 
: Can you find an ice cream flavor and maker that both our friend and his/her younger brother will like?
  
Assume that I'm interested in buying ice cream for three friends: Edna, Liz, and Frida.  Before going to the store I probe my friends for their taste in ice cream.  Edna likes anything with chocolate, but doesn't like anything with fruit.  She also doesn't like
 
Haagen Dazs icecream.  Liz doesn't like  chocolate, and doesn't care about the brand.  Frida likes everything. 
 
 
The way Boole would likely recommend we figure out our problem when we are at the store, probing the freezer for potential ice cream containers is as follows.
 
 
Let's create three ''boolean variables'', '''Choc''', '''Fruit''', and '''HG''', representing whether an ice cream containers contains chocolate, contains fruits, or is from the Haagen Dazs brand. 
 
 
We know that Edna likes chocolate but not fruity ice cream, and that she doesn't like Haagen Dazs.  So we could create an ''Edna'' function, something that could tell us if Edna would like a particular ice cream or not.  This function for Edna would be
 
 
  Choc  '''and'''  ( '''not''' Fruit ) and ( '''not''' HG )
 
 
 
{|  border="1" cellpadding="20" cellspacing="0"
 
| Variable ''a''
 
| likes chocolate ice cream
 
|-
 
| Variable ''b''
 
| likes fruit ice cream
 
|-
 
| Variable ''c''
 
| likes Haagen Dazs
 
|}
 
  
And if I assigned these three variables to each of my friends, here is what I get for their value:
+
===Shannon's MIT Master's Thesis: the missing link===
  
{|  border="1" cellpadding="20" cellspacing="0"
+
We are now coming to Shannon, who's influence on the field of computer science is quite remarkable, and whose contribution of possibly greatest influence was his Master's thesis at MIT, written in 1948.
! Variable
 
! Definition
 
! Edna
 
! Liz
 
! Frida
 
|-
 
''a''
 
| likes chocolate ice cream
 
| F
 
| T
 
| F
 
|-
 
|  ''b''
 
| likes fruit ice cream
 
| F
 
| T
 
| T
 
|-
 
|  ''c''
 
| likes Haagen Dazs
 
| T
 
| T
 
| T
 
|}
 
  
 +
Shannon knew of the need the military had for calculators (human beings or machines) that would compute tables of possible trajectories for shells fired from canons.  He also knew of efforts by various groups in universities to build calculating machines using electricity and vacuum tubes (which had replaced relays).  Because the machines used electricity and switches, the binary system with only two values, 0 and 1, was an interesting system to consider and exploit.  But there was still an engineering gap in figuring out how to create circuits that would perform arithmetic operations on binary numbers in an efficient way.
  
 +
In his thesis, Shannon presented the missing link, the bridge that would allow electrical/electronic computers to perform arithmetic computation.  He demonstrated that arithmetic operations on binary numbers could be simply perform by electrical circuits that implemented the '''and''', '''or''' and '''not''' operators of Boole's algebra!
  
  

Revision as of 21:54, 30 January 2012

--© D. Thiebaut 08:10, 30 January 2012 (EST)


This section is only visible to computers located at Smith College