The following people wish to thank you for attending the AT fair on Wednesday evening: DO-IT:...

download The following people wish to thank you for attending the AT fair on Wednesday evening:  DO-IT: Disability, Opportunities, Internetworking, and Technology.

If you can't read please download the document

Transcript of The following people wish to thank you for attending the AT fair on Wednesday evening: DO-IT:...

  • Slide 1
  • The following people wish to thank you for attending the AT fair on Wednesday evening: DO-IT: Disability, Opportunities, Internetworking, and Technology AccessSTEM Hagget People's Council 2012-02-15Katherine Deibel, Fluency in Information Technology1
  • Slide 2
  • In the US (according to one study): 16% of ages 15 to 64 is disabled 10% of the workforce is disabled 5% of the STEM workforce is disabled 1% of PhDs in STEM are disabled Disability digital divide (another study): 20% report having a disability or chronic condition 51% of disabled go online 74% of not disabled go online Cause: Barriers to access and use of technology 2012-02-15Katherine Deibel, Fluency in Information Technology2 Sources: Ladner CSEP590A Talk (2008), Pew Internet Study E-patients With a Disability or Chronic Disease
  • Slide 3
  • Using technology to augment one's abilities Utilize personal strengths to compensate for personal weaknesses Wide range of technologies Simple technology: canes, wheelchairs Complex technology: computer tools 2012-02-15Katherine Deibel, Fluency in Information Technology3
  • Slide 4
  • Susumu Harada Using ones voice to control a mouse 2012-02-15Katherine Deibel, Fluency in Information Technology4
  • Slide 5
  • Jacob Wobbrock Text entry for people with motor difficulties PDAs Trackballs Etc. Simple solution: Edges limit stylus / cursor movement 2012-02-15Katherine Deibel, Fluency in Information Technology5
  • Slide 6
  • Jeff Bigham Web-based screen reader Free to use Runs on any machine Works in the browser http://webanywhere.cs.washington.edu/wa.php 2012-02-15Katherine Deibel, Fluency in Information Technology6
  • Slide 7
  • Creative thinking +Flexibility of technology +Awareness of issues No problem is beyond solution 2012-02-15Katherine Deibel, Fluency in Information Technology7 COMPUTERS HAVE NO LIMITS!
  • Slide 8
  • Apollo Guidance Computer: 2.048 MHz processor 32KB of RAM 4KB of ROM 4 16-bit registers for computation 4 16-bit memory registers in CPU 2012-02-15Katherine Deibel, Fluency in Information Technology8 THIS GOT US TO THE MOON!?! COMPUTERS MUST HAVE NO LIMITS!
  • Slide 9
  • Fluency with Information Technology INFO100 and CSE100 Katherine Deibel 2012-02-15Katherine Deibel, Fluency in Information Technology9
  • Slide 10
  • Physical Limits Number of transistors we can fit on a chip Speed of light limits transmission Philosophical Limits Can a computer reason like a human? Can a computer be conscious/sentient? Mathematical Limits Some problems are intractable Some problems are just really hard Exactness is a problem 2012-02-15Katherine Deibel, Fluency in Information Technology10
  • Slide 11
  • Understanding the limits of computers is a tale of three brilliant minds 2012-02-15Katherine Deibel, Fluency in Information Technology11 David Hilbert Kurt Gdel Alan Turing
  • Slide 12
  • The end of the nineteenth century was a celebration of new science and the belief that everything would be solved. 2012-02-15Katherine Deibel, Fluency in Information Technology12 Charles Duell, U.S. Patent Commissioner "Everything that can be invented has been invented." Apocryphal quote misattributed to him but indicative of mindset of that era.
  • Slide 13
  • In 1900, Hilbert proposed a list of 23 key unsolved problems in mathematics and logic 2. Prove that the axioms of arithmetic are logically consistent. 10. Design an algorithm to solve any Diophantine equation with rational coefficients. Everyone was certain that both questions had positive answers to be discovered. 2012-02-15Katherine Deibel, Fluency in Information Technology13 David Hilbert
  • Slide 14
  • In 1931, Gdel answered if it was possible to prove arithmetic to be logical consistent The answer was NO. Two Incompleteness Theorems: Any sufficiently complex axiomatic system cannot be used to prove that itself is: Complete Consistent 2012-02-15Katherine Deibel, Fluency in Information Technology14 Kurt Gdel
  • Slide 15
  • Gdel's theorems awoke the idea that systems of mathematics and logic are inherently limited Maybe some problems (like problem 10) have no algorithmic solutions Problem 10 proven in 1910 to 2012-02-15Katherine Deibel, Fluency in Information Technology15 Gdel, Escher, Bach by Douglas Hofstadter
  • Slide 16
  • Turing worked for the British in WWII to break Nazi Germany's Enigma encryption scheme Earlier graduate work extended Gdel's theorems to computers Developed a mathematical model of a computerthe Turing Machine His Turing Machine Could simulate any computer system Demonstrated that some problems are intractable (unsolvable) 2012-02-15Katherine Deibel, Fluency in Information Technology16 Alan Turing
  • Slide 17
  • Mathematical model of a computer consisting of An infinite tape A read-write head that handles one cell at a time A fixed alphabet of symbols A fixed set of possible states A set of rules governing writing, reading, head movement, state changes, etc. 2012-02-15Katherine Deibel, Fluency in Information Technology17 UW's CSE's Steam-Powered Turing Machine
  • Slide 18
  • Everything but the infinite tape: http://www.youtube.com/watch?v=E3keLeMwfHY 2012-02-15Katherine Deibel, Fluency in Information Technology18
  • Slide 19
  • The Turing Machine is the basis for all theoretical computer science Church-Turing Thesis: All functions that can be computed can be done so on a Turing Machine. This allows for us to theorize about computation without programming! 2012-02-15Katherine Deibel, Fluency in Information Technology19
  • Slide 20
  • Can we write a program to determine if another program will ever finish? function willItHalt(program) { } 2012-02-15Katherine Deibel, Fluency in Information Technology20
  • Slide 21
  • If we could write willItHalt() Easy to determine if complex problems have a solution Prevent infinite loops Would actually allow us to detect any virus or malware It is too bad that we can never write such a program 2012-02-15Katherine Deibel, Fluency in Information Technology21
  • Slide 22
  • HALT(p, i) returns true if program p halts on input i, false otherwise function TRICK(p, i) { if(HALT(p,i) == true) loop forever; else return true; } What happens with TRICK(TRICK,TRICK)? 2012-02-15Katherine Deibel, Fluency in Information Technology22
  • Slide 23
  • Assume HALT(TRICK, TRICK) returns true TRICK does not loop forever But look at the code: if(HALT(TRICK,TRICK) == true) loop forever; Therefore, TRICK loops forever CONTRADICTION! 2012-02-15Katherine Deibel, Fluency in Information Technology23
  • Slide 24
  • Assume HALT(TRICK, TRICK) returns false TRICK does loop forever But look at the code: if(HALT(TRICK,TRICK) == true) loop forever; else return true; Therefore, TRICK halts CONTRADICTION! 2012-02-15Katherine Deibel, Fluency in Information Technology24
  • Slide 25
  • TRICK cannot halt because of the contradiction it creates TRICK cannot loop forever because of the contradiction it creates Therefore, TRICK is impossible Therefore, HALT is impossible 2012-02-15Katherine Deibel, Fluency in Information Technology25
  • Slide 26
  • A Turing Machine is so powerful that it cannot be applied to itself The self-reference problem The Barber Paradox: The town barber shaves only those men in town who do not shave themselves. Who shaves the barber? 2012-02-15Katherine Deibel, Fluency in Information Technology26
  • Slide 27
  • The intractability of the Halting Problem leads to Many problems that cannot be solved Imperfect protection against "bad" programs 2012-02-15Katherine Deibel, Fluency in Information Technology27
  • Slide 28
  • Interesting Problems Can Be Hard 2012-02-15Katherine Deibel, Fluency in Information Technology28
  • Slide 29
  • Fortunately, there are plenty of problems that Turing Machines (and computers) can solve The question is: How efficiently can we solve them? 2012-02-15Katherine Deibel, Fluency in Information Technology29
  • Slide 30
  • We have mathematical models of the complexity of problems to solve Big O notation: O( f(n) ) means a program will take f(n) steps Basic idea for this class: Fast, easy problems take polynomial time: O(n), O(n 2 ), O(n 3 ), O(n log n) Harder problems are exponential: O(2 n ) 2012-02-15Katherine Deibel, Fluency in Information Technology30
  • Slide 31
  • Sorting a list Finding the max, min, median, etc. Determining if a number is prime Finding the shortest road distance between two cities 2012-02-15Katherine Deibel, Fluency in Information Technology31
  • Slide 32
  • There is a difference between solving a problem and checking a solution Checking a solution may take only polynomial time Finding the solution is the problem, especially if you have to try all the possibilities 2012-02-15Katherine Deibel, Fluency in Information Technology32
  • Slide 33
  • A salesman has to visit n cities Some cities are connected by airplane trips Each trip has a cost associated with it The salesman wants to visit each city exactly ONE time Can he do this? What is the minimum cost if he can? 2012-02-15Katherine Deibel, Fluency in Information Technology33 We have no efficient algorithm for this!
  • Slide 34
  • NP-Complete problems Can be checked in polynomial time Have no known efficient algorithm All NP-Complete problems are related If we figure out how to solve one in polynomial time, we can solve ALL of them in polynomial time Known as the "Does NP = P" problem 2012-02-15Katherine Deibel, Fluency in Information Technology34
  • Slide 35
  • Traveling Salesman Graph Coloring Subset Sum Boolean Satisfiability Clique finding Knapsack problems 2012-02-15Katherine Deibel, Fluency in Information Technology35 All have useful applications in the real world
  • Slide 36
  • Approximation algorithms Give us near-optimal solutions Probabilistic algorithms Use random numbers to get us a chance at having the best answer 2012-02-15Katherine Deibel, Fluency in Information Technology36
  • Slide 37
  • The Limits are Closer than You Think 2012-02-15Katherine Deibel, Fluency in Information Technology37
  • Slide 38
  • Remember, every number in a computer is represented in binary We have discussed how to represent nonnegative integers But what about negative integers? What about real numbers? 2012-02-15Katherine Deibel, Fluency in Information Technology38
  • Slide 39
  • Computers have to play tricks with binary to represent numbers Negative numbers are done through having a bit for indicating sign plus some other tricks Floating point numbers (decimals) are only approximations based on binary fractions and rounding rules 2012-02-15Katherine Deibel, Fluency in Information Technology39
  • Slide 40
  • If you have to compare decimal numbers, do the following: function fuzzyEqual(x, y, err) { if ( Math.abs(x-y)