Ten Computer Science Breakthroughs Dr. Raymond Greenlaw Armstrong Atlantic State University School...
-
Upload
sara-nelson -
Category
Documents
-
view
214 -
download
0
Transcript of Ten Computer Science Breakthroughs Dr. Raymond Greenlaw Armstrong Atlantic State University School...
Ten Computer Science Breakthroughs
Dr. Raymond GreenlawArmstrong Atlantic State
UniversitySchool of Computing
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 2
Outline• History of Computer Science• Turing Machines• Moore’s Law• Recursion• NP-Completeness• Personal Computers• The Internet• The Web• High-Level Languages• Handheld & Wireless Devices• Human Genome Project
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 3
History of Computer Science• 1673 – Gottfried Wilhelm von Leibniz
invents a machine to do multiplication• 1821 – Charles Babbage builds a machine
to calculate exponential functions, begins designing Analytical Engine
• 1832 – Ada Lovelace begins writing programs (on punch cards) for the nonexistent Analytical Engine, inventing such concepts as loops and subroutines
• 1935 – Alan Turing defines a model for computation
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 4
History of Computer Science• 1937 – Claude Shannon links Boolean
logic to digital circuit design• 1939 – Turing’s work plays a key role
in breaking the Germans’ Enigma code machine
• 1943 – Small computers are being built in multiple countries
• 1950 – Turing proposes a test of machine intelligence
• 1956 – John McCarthy coins the term “artificial intelligence”
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 5
History of Computer Science• 1957 – FORTRAN is released by John
Backus and the IBM team• 1958 – John McCarthy invents Lisp• 1959 – John Backus and Peter Naur
propose the use of context-free grammars to describe programming languages
• 1961 – Edsger Dijkstra applies the semaphore principle used in train signaling systems to mutual exclusion in computer operations
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 6
History of Computer Science• 1962 – Donald Knuth begins work on
The Art of Computer Programming• 1971 – Alan Kay develops the first
object-oriented programming language, Smalltalk
• 1971 – Stephen Cook publishes a paper on non-deterministic polynomial completeness (NP-completeness), defining a new family of problems that is not computable in a practical sense
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 7
History of Computer Science• 1973 – Leonid Levin publishes a
paper identifying the class of NP-complete problems independently of Cook (research was conducted in 1971)
• 1977 – Leslie Lamport defines a model of time for distributed systems based on a partial order of events
• 1980 – Microsoft is founded, helping to push PCs into widespread use with the public
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 8
Turing Machines
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 9
Turing Machines• First conceived by Alan Turing in the
mid-1930s• Formulated in an effort to write down
in simplest terms what it means for a computation to proceed in discrete steps
• Very robust, and Turing believed it was the most powerful conceivable theoretical model due to its equivalence to other models of computing
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 10
Turing Machines• Simplest and most widely used
theoretical models of computing• Represented as a machine with
– a tape consisting of admissible symbols, one to a cell (the tape alphabet)
– a head that can read the current symbol, or replace it
– and a finite control that can be in any one of a finite set of states
• Machine can also move the tape, one cell at a time, to the left or right
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 11
Turing Machines• Given a set of consecutive symbols on
the tape, the machine is positioned on the first non-blank symbol and begins to process
• When the machine halts, whatever is on the tape is the output or result of the computation for the input
• Can formally be defined as a 4-tuple MM = (A, K, q0, δ), where A is the tape-alphabet, K is the finite set of states, q0 is the starting state, and δ is the transition function
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 12
Turing Machines
• Bold denotes head position
Old St.
Read Write
Move New St.
s1 1 0 R s2
s2 1 1 R s2
s2 0 0 R s3
s3 0 1 L s4
s3 1 1 R s3
s4 1 1 L s4
s4 0 0 L s5
s5 1 1 L s5
s5 0 1 R s1
Step
St.
Tape
Step
St.
Tape
1 s1 11 10 s3 1001
2 s2 01 11 s3 10010
3 s2 010 12 s4 10011
4 s3 0100
13 s4 10011
5 s4 0101
14 s5 10011
6 s5 0101
15 s1 11011
7 s5 0101
Halt
8 s1 1101
9 s2 1001
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 13
Moore’s Law
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 14
Moore’s Law• Rule of thumb in the computing industry
about the growth of computing power• Gordon E. Moore, co-founder of Intel,
stated the growth of computing power follows an empirical exponential law in an April 1965 article in Electronics Magazine
• Originally, he proposed a 12-month doubling, then a 24-month doubling
• The more it became accepted, this statement began to serve as a goal for the industry
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 15
Moore’s Law• The least rigorous interpretation is that
computing power per unit cost will continue to grow exponentially
• The most rigorous interpretation states that the total number of transistors on the cheapest CPU will grow exponentially at a constant rate and that this constant rate produces a doubling every 12 (or 18 (as he is often misquoted), or 24) months
• Industry estimates show this will hold for several chip generations
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 16
Moore’s Law• At the end of the 1970s, Moore's Law
became known as the limit for the number of transistors on the most complex chips
• However, it is also common to cite Moore's law to refer to the rapidly continuing advance in computing power per unit cost
• As consumer computer costs decline, it is getting more expensive for manufacturers to continue achieving Moore’s Law
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 17
Recursion
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 18
Recursion• The invocation of a computation
inside an identical computation that is already in progress
• Used by defining a base case, then defining rules to break down complex cases into simpler cases using a divide-and-conquer approach
• They break the problem into several subproblems that are similar to the original problem, but smaller in size
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 19
Recursion• A recursive algorithm is one that uses
itself in its own definition• Find the factorial of an integer:
function factorial(int x) {if (x < 0) return -1; // errorif (x==0) return 1;
return factorial(x-1) * x}
• factorial(3) returns 6, which equals 3!
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 20
NP-Completeness• NP is the class of problems that can
be solved on a nondeterministic Turing machine in polynomial time
• Complete problems are the computationally most difficult problems to solve in a given class
• NP-completeness problems are the most difficult problems to solve in the class NP
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 21
NP-Completeness• P is the class of problems that can be
solved in polynomial time on a deterministic Turing machine
• The problems in P are considered feasibly solvable on personal computers
• It is conjectured that P ≠ NP• This conjecture implies no NP-
complete problem is in the class P• Therefore, problems that are NP-
complete are considered intractable
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 22
NP-Completeness• Examples of NP-complete problems
are Satisfiability, Traveling Salesman Problem, and Graph Coloring
• Many polynomial time approximate algorithms have been developed for problems that are NP-complete
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 23
NP-Completeness
NP-complete
NP
P
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 24
Personal Computers
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 25
Personal Computers• Mini-computers (non-mainframe)
computers became popular in research labs
• In the mid-1970s microprocessor computers began to become popular
• People used these machines to experiment with programming, play games, or run office/productivity applications
• In 1982, the personal computer was named Time’s Man of the Year
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 26
Personal Computers• In the 1990s, personal processing
power increased greatly• This allowed computers to become
more prevalent• Higher-end computers are now
distinguished from home computers by their reliability, as opposed to raw power
• Computers in every home allowed more people to get interested in programming and other aspects of computer science
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 27
Personal Computers• The term PC is often used to describe
IBM compatible computers, the first batch of computers to reach consumers
• This term has now been expanded to include products by companies like Apple, although they prefer not to be included because of the implied relationship to IBM PCs
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 28
The Internet
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 29
The Internet• The global system of networked
computers together with their users and data
• 1969 – ARPANET was started by the Department of Defense to enable researchers to share “super-computing” power
• Initially only four nodes, at the University of California at Los Angeles, UC at Santa Barbara, University of Utah, and the Stanford Research Institute
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 30
The Internet• In the 1970s, ARPANET was used by
the military, large companies like IBM, and universities (for email)
• Local Area Networks became more prevalent and an open design was proposed
• 1972 – Nodes existed in England, and there were a total of 23, Ray Tomlinson invented email
• 1976 – AT&T Bell Labs developed UNIX to UNIX CoPy (UUCP)
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 31
The Internet• 1979 – User Network (USENET) was
started by using UUCP to connect Duke and the University of North Carolina at Chapel Hill which allowed newsgroups to emerge
• 1980 – The Computer Science Network (CSNET) connected all university Computer Science departments in the U.S.
• 1981 – The Because It’s Time Network (BITNET) formed at the City University of New York spawning many mailing lists
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 32
The Internet• 1983 – The U.S. Defense
Communications Agency requires that all ARPANET hosts use TCP/IP allowing computers to communicate easily
• 1985 – The National Science Foundation Network (NSFNET) connects the NSF’s five supercomputing centers
• 1988 – The Internet Worm is released, infecting 10 percent of all Internet hosts, this same year, Internet Relay Chat is written by Jarkko Oikarinen
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 33
The Internet• 1989 – NSF takes control of ARPANET
in a largely transparent move• The number of hosts at this time is
over 100,000• 1991 – Gopher is developed at the
University of Minnesota, allowing the retrieval of files on the Internet
• The Internet ends up spawning massive amounts of information sharing and connectivity for people spread across the country
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 34
The Internet• Current Internet stats
– Hosts (July 2005): 353.3 million[1]
– Users (Nov. 2005): 972.8 million[2]
– Registered Domains (Dec. 2005): over 60 million active domains[3]
1. www.isc.org - Internet Service Consortium2. www.internetworldstats.com/stats.htm - Internet World Stats3. www.whois.sc/internet-statistics/ - Whois Source
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 35
The Web
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 36
The Web• 1991 – Tim Berners-Lee at CERN (a
French acronym for the European Laboratory for Particle Physics) invents the World Wide Web (WWW) as a simple way to publish information and make it available on the Internet
• 1992 –WWW becomes publicly available to the public
• 1993 – Mosiac, a graphical browser for the Web was released by Marc Andreessen and other graduate students at U. Illinois
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 37
The Web• 1994 – Netscape Communications,
formed by Marc Andreessen and Jim Clark, releases Netscape Navigator, a Web Browser that becomes widely used
• 1994 – Stanford graduate students David Filo and Jerry Yang develop a search engine and directory called Yahoo!
• 1995 – Sun releases Java, initially for interactive Web pages
• 1995 – Microsoft commits many resources to Internet Explorer
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 38
The Web• 1995 – Courses about the Internet
begin to be offered in colleges• 1998 – Netscape releases the source
code for their browser• 1998 – Google, founded by Larry Page
and Sergey Brin, incorporates. Started as a research project in 1996 at Stanford; steadily becomes a leader on the Web, with a revenue of over $3 billion in 2004
• 2005 – Google claims unique index of over 8 billion pages
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 39
High-Level Languages
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 40
High-Level Languages• A programming language that is more
user-friendly, to some extent platform-independent, and abstract from low-level computer processor operations such as memory accesses
• Originally, programmers only had access to machine instructions specific to the computer with which they were working
• This led to machine-specific code and lots of time spent learning languages that could only be used sparingly
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 41
High-Level Languages• Often has built in functions to
perform tasks like input and output• Contains constructs that help reduce
the complexity of formulating solutions to problems
• Abstracts many of the ideas that need to be expressed in code
• This allows for code reuse and extensibility
• High-level languages began to come into being in the 1950s
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 42
High-Level Languages• FORTRAN was one of the first widely-
adopted high-level languages, it was designed by John Backus at IBM and implemented in 1957
• ALGOL 58 was invented in 1958 through international efforts
• 1960 – COBOL (COmmon Business Oriented Language) is introduced in 1960
• 1964 – BASIC (Beginner's All-purpose Symbolic Instruction Code) is implemented, originally devised by Kemenry and Kurtz
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 43
High-Level Languages• 1972 – C developed by Ken Thompson
and Dennis Ritchie for use on UNIX• 1983 – C++ is released by Bjarne
Stroustroup as an enhancement to C, originally called C with classes
• 1995 – Java is made public. Developed by James Gosling and other associates at Sun; it is an object-oriented language
• 2000 – C# from Microsoft is developed; it is based on C++ and Java to ease developer’s transition
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 44
Handheld & Wireless Devices
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 45
Handheld & Wireless Devices• With the miniaturization of
components, handheld devices have become more and more ubiquitous
• Personal Digital Assistant (PDA) was coined by John Sculley at the Consumer Electronics Show in January 1992
• Currently, the leading companies in PDAs are Palm, Microsoft, and Blackberry
• These devices started with small, simple applications like day planners and address books
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 46
Handheld & Wireless Devices• Sculley predicted that handheld devices
would become ubiquitous tools that would hold phone numbers, calendars, notes, and send and receive data wirelessly
• 1993 – Apple introduces the first PDA, the Newton, which provided a small subset of the features Sculley predicted
• 1996 – Palm releases the PalmPilot which does everything Sculley predicted except wireless communication, would later release the Palm VII, adding wireless
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 47
Handheld & Wireless Devices• Most of these devices run off a
variation of the ARM architecture• Many PDAs have experienced a
convergence towards mobile phones that include many of the original PDA features, but also provide phone service
• A big component in widespread use was the wireless capabilities that eventually reached the platform
• Wireless communication allows for devices to communicate over the air
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 48
Handheld & Wireless Devices• Early form of wireless communication
was over IR (infrared) but is now more commonly seen as Bluetooth, or other methods of short-range communication
• Wireless communication has allowed technology to penetrate areas where it previously couldn’t be used effectively
• This has also allowed users to accomplish more things away from their offices and homes
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 49
Human Genome Project
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 50
Human Genome Project• An endeavor to map the human
genome down to the base pair level and to identify all genes present
• Launched in 1986 by Charles DeLisi• Formally founded in 1990 by the U.S.
Department of Energy and the U.S. National Institutes of Health, was expected to take 15 years
• A rough draft of the human genome was released in 2000
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 51
Human Genome Project• A private group, Celera Genomics,
was also working on the project at the same time
• On April 14, 2003, a joint press release from both groups announced that 99% of the genome was sequenced with 99.99% accuracy
• The sequence of human DNA is stored in a publicly accessible database called Genbank
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 52
Human Genome Project• The HGP harnessed computing power
and techniques to help accomplish their goals
• This project pushed bioinformatics to the forefront, a field that many believe will be where the majority of new breakthroughs will occur
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 53
Conclusions• This list is only a small sampling of
breakthroughs that have contributed greatly to the field of computer science. We would like to thank the many other computer scientists who haven’t been recognized, but have given greatly to our pool of knowledge. The future is bright, there are many active fields of research, and we look forward to acknowledging other breakthroughs in computer science.
Dr. Raymond Greenlaw – Armstrong Atlantic State University – School of Computing 54
References• Cormen, Thomas, et. al. Introduction to Algorithms.
United States: McGraw-Hill Book Company, 2001.• Dewdney, A.K. The New Turing Omnibus. New York:
Henry Holt and Company, 1989.• Greenlaw, Raymond and Ellen Hepp. Inline/Online:
Fundamentals of the Internet and the World Wide Web. United States: McGraw-Hill, 1999.
• Gurari, Ethan. An Introduction to The Theory of Computation. Maryland: Computer Science Press, 1989.
• Multiple Articles, November 2005 <http://wikipedia.org>• Shasha, Dennis Elliott. Out of their minds: the lives and
discoveries of 15 great computer scientists. New York: Copernicus, 1995.
• Tourlakis, George J. Computability. Reston: Reston Publishing Company, Inc., 1984.