SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Downloaden Sie, um offline zu lesen
Some
Well-known
Computer Scientists
Yann-Gaël Guéhéneuc
Département de génie informatique et de génie logiciel
This work is licensed under a Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License
yann-gael.gueheneuc@polytmtl.ca
Version 1.0
2013/04/22
Any questions/comments are welcome at
2/76
Any questions/comments are welcome at
yann-gael.gueheneuc@polymtl.ca
Why Is It Important? (1/2)
“Those who cannot remember the past are
condemned to repeat it”
3/76
—By George Santayana
in Life of Reason, Reason in
Common Sense, Scribner's,
1905, page 284
Why Is It Important? (2/2)
Pythagoras’ theorem
Ohm’s law
…
4/76
…
You know the Nobel Prizes…
… do you know the Turing Awards?
How to Choose? (1/2)
Hundreds of women and men made and are
making the history of computer science
– Difficult choice, impossible choice
5/76
– Inclusion criteria
• Historical importance
• Historical continuity
• Link to software engineering
– No exclusion criteria!
How to Choose? (2/2)
Suggestions for other computer scientists to
appear here
– Please send an e-mail to Yann-Gaël Guéhéneuc
6/76
yann-gael.gueheneuc@polymtl.ca
Some Well-known Computer Scientists
1936 Alan Turing
1948 Claude Elwood Shannon
1950 Grace Murray Hopper
1960 John McCarthy
1966 Frances E. Allen
1972 Dave Parnas
1974 Manny Lehman
1975 Frederick Brooks
1986 Edward Yourdon
1987 Barbara Liskov
7/76
1966 Frances E. Allen
1967 Dahl et Nygaard
1969 Charles A. R. Hoare
1970 Edgar F. Codd
1987 Barbara Liskov
1994 Erich Gamma
1997 Grady Booch
Alan Turing
Alan Mathison Turing
– Born June 23rd, 1912, died June 7th, 1954
– Turing machines, undecidability, halting
problem, computability
Alan Turing
*1912 †1954
8/76
problem, computability
The Turing Award is given in his honour
IEEE Milestone
…
– http://en.wikipedia.org/wiki/Alan_Turing
Alan Turing
1928
– Hilbert introduced the decision problem
9/76
1931
– Gödel give results on the limits of proofs and
computability
Alan Turing
1936
– Turing introduce a concept of machines now
known as “Turing machines”
– Turing prove with his machines that the halting
10/76
– Turing prove with his machines that the halting
problem is undecidable
Alan Turing
Halting problem
– First problem proven undecidable
– Used to prove that other problems are
undecidable by reduction
11/76
undecidable by reduction
Alan Turing
Generalisation ≠ particular cases
– Correctness proofs are posibles but on
particular problems and not automatically in the
general case
12/76
general case
Formal methods ≠ tests
– Prove the correctness of a particular algorithm
– Prove the presence of errors
Alan Turing
1938−1945
– Work at Bletchley Park
• British Government Code and Cypher School
• Five major contributions
13/76
• Five major contributions
– Decode the Enigma code of the German army
– Decode the indicator procedure of the Enigma use by the
German navy
– Develop a statistical method to make the “Bombe”
more efficient
– Develop a procedure to decode the
Lorenz SZ 40/42 machines
– Develop a voice scrambler
Alan Turing
1952
– Turing test
1966
– ELIZA
Joseph Weizenbaum
*1923 †12008
14/76
Claude Elwood Shannon
Claude Elwood Shannon
– Born April 30th, 1916, died
February 24th, 2001
– Father of the information theory
Claude Elwood Shannon
*1916 †12001
15/76
– Father of the information theory
National Medal of Science in the USA in 1966
IEEE Medal of Honor in 1966
…
– en.wikipedia.org/wiki/Claude_Shannon
Claude Elwood Shannon
1830s
– Telegraph – Morse Code
16/76
Claude Elwood Shannon
1830s
– A form of lossless compression
17/76
Claude Elwood Shannon
1948
« The fundamental problem of communication is
that of reproducing at one point, either exactly or
18/76
that of reproducing at one point, either exactly or
approximately, a message selected at another
point. »
—Shannon, in A Mathematical
Theory of Communication, 1948
Claude Elwood Shannon
1948
– Probabilistic theory quantifying the average
information content of a message
19/76
– Entropy
– Code theory
• Compression
• Detection et correction of errors
– All electronic “communication”!
– Cryptography
Grace Murray Hopper
Grace Murray Hopper (rear admiral)
– Born the 9th of December, 1906, died the
1st of January, 1992
– Mother of the first compiler, of the term
Grace Hopper
*1906 †1992
20/76
– Mother of the first compiler, of the term
“debugging”, of COBOL and of standards
Defense Distinguished Service Medal in the USA
in 1986
– Cf. http://en.wikipedia.org/wiki/Grace_Hopper
Grace Murray Hopper
1944
– WWII is almost over
– Computers showed their usefulness
21/76
• Dehomag D11 (Germany/USA, 1930s):
handling of identify cards
• Zuse Z3 (Germany, 1941): flutter
(dynamic aeroelasticity of wings)
• Colossus Mark 1 (Grande Bretagne,
1943): decoding of messages
• Harvard Mark I (USA, 1944): production
of calculus tables for the Navy
Grace Murray Hopper
Principle of the first
computers
– Electromechanical or
electromagnetic relays
22/76
electromagnetic relays
– Two active relays make
a third relay active
• Relays “3” et “6” make
relay “9” active for a sum
1947
Grace Murray Hopper
1950
– Computers become programmable with higher-
level languages than microcode or assembly
• UNIVAC I: census
23/76
• UNIVAC I: census
• A-0 (Arithmetic Language version 0)
• Loader or linker more than a compiler
1954
– B-0 (Business Language version 0) also known
as FLOW-MATIC
Grace Murray Hopper
1959
– Conference CODASYL (Conference on Data
Systems Languages)
– COBOL as successor of FLOW-MATIC
24/76
– COBOL as successor of FLOW-MATIC
– Close to English
1970s
– Advocated standards tests for programming
languages, FORTRAN in particular
John McCarthy
John McCarthy
– Born the 4th of September, 1927
– Died on the 24 October, 2011
– Father of artificial intelligence, LISP, contributor to time-
John McCarthy
*1927 †2011
25/76
– Father of artificial intelligence, LISP, contributor to time-
sharing computing, inventor of “SaaS”
ACM Turing Award in 1971
National Medal of Science in the USA in 1991
– Cf. http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)
John McCarthy
Artificial intelligence, 1956
– Champion of logic programming
– Collaboration with Marvin Minsky
26/76
Inventor of LISP, 1960
– Recursive Functions of Symbolic
Expressions and Their Computation
by Machine, Part I, 1960
– Lambda calculus
– Garbage collection
John McCarthy
Time-sharing systems
– Multiprogramming and multitasking
– Most important change of paradigm in computer
science in 1970
DEC PDP-1, c. 1960
27/76
science in 1970
• Sharing of resources to avoid “waiting computation
time (cycles)”
– SaaS
• Software as a Service
• Architecture/engineering based on services
Frances E. Allen
Frances E. Allen
– Born on the 4th of August, 1932
– Pioneer of optimising compilation, code
optimisation, and parallelisation
Frances E. Allen
*1932
28/76
optimisation, and parallelisation
AWC Augusta Ada Lovelace Award en 2002
ACM Turing Award en 2006
– Cf. http://en.wikipedia.org/wiki/Frances_E._Allen
Frances E. Allen
Before 1966
– Since the 1930s
• Programmable computers
– Since the 1950s
29/76
– Since the 1950s
• First compilers by Grace Murray Hopper
• Programming languages
– FORTRAN: first complete compiler
– COBOL: first programming language compiled for different
computer architectures (UNIVAC II et RCA 501)
Frances E. Allen
Before 1966
– In 1955
• Context-free grammar invented by Noam Chomsky
– In 1966
30/76
– In 1966
• LR Parsing invented by Donald Knuth
Frances E. Allen
In 1966
– Program Optimization
• Use of graphs to describe programs and to allow their
optimisations
31/76
In 1970
– Control Flow Analysis et A Basis for Program
Optimization
• Intervals for control-flow analyses
In 1974
– Interprocedural data flow analysis
• Interprocedural analyses of whole programs
Dahl–Nygaard
Ole-Johan Dahl
– Born 12 October 1931, †29 June 2002
– Co-inventor of the object-oriented paradigm
Ole-Johan Dahl
*1931 †2002
32/76
– ACM Turing Award in 2001
– IEEE J. von Neumann in 2002
– Cf. http://www.olejohandahl.info/
– Cf. http://en.wikipedia.org/wiki/Ole-Johan_Dahl
Dahl–Nygaard
Kristen Nygaard
– Born 27 August 1926, †10 August 2002
– Co-inventor of the object-oriented paradigm
Kristen Nygaard
*1926 †2002
33/76
– ACM Turing Award in 2001
– IEEE J. von Neumann in 2002
– Cf. http://www.ifi.uio.no/in_memoriam_kristen/
– Cf. http://en.wikipedia.org/wiki/Kristen_Nygaard
Dahl–Nygaard
Object-oriented paradigm
– Context
• 1961
– Algol imperative programming
34/76
– Algol imperative programming
– Classes, objects, encapsulation, inheritance,
polymorphism
• Simula I
• Simula 67
Dahl–Nygaard
Object-oriented programming
– Smalltalk
• Xerox Parc, 1970–1983
– GUI
35/76
– GUI
– Icons
– WYSIWYG
– Mouse (cf. Stanford Research Institute)
• Dynamic typing
• Reflection
• Garbage collection
Dahl–Nygaard
Object-oriented programming
– C++
• AT&T Bell Labs
• Bjarne Stroustrup
36/76
• Bjarne Stroustrup
• 1980
• Static typing
• Multiple inheritance
• Cf. http://www.approximity.com/ruby/
Comparison_rb_st_m_java.html
Dahl–Nygaard
Object-oriented programming
– Oberon
• ETH Zurich
• Niklaus Wirth
37/76
• Niklaus Wirth
• 1986
• Static typing
• Garbage collection
• Array bounds checking
Charles A. R. Hoare
Sir Charles Antony Richard Hoare
– Born January 11th, 1934
– Inventor of QuickSort
Sir Charles Antony Richard Hoare
*1934
38/76
– Inventor of the Hoare logic
–
– ACM Turing Award in 1980
– IEEE J. von Neumann in 2011
– Cf. http://en.wikipedia.org/wiki/C._A._R._Hoare
Charles A. R. Hoare
QuickSort
– Context
• 1960
– In Soviet Union, Hoare works at Moscow State University in
39/76
– In Soviet Union, Hoare works at Moscow State University in
automatic translation
– He must sort words to be translated to map them with words
already translated
– QuickSort
• O(n × log(n)) in average, O(n2) worst case
• Works well with a cache
Charles A. R. Hoare
Hoare logic
– Context
• 1969
– Study program correctness
40/76
– Study program correctness
– Original idea sown by Robert Floyd in 1967
– Verification of the correctness of a program
• Hoare triplet: {P} C {Q}
• Pre-condition P, instruction C, post-condition Q
• Set of rules for imperative languages…
Edgar F. Codd
Edgar Frank “Ted” Codd
– Born August 23rd, 1913,
died April 18th, 2003
– Father of relational algebra
Edgar F. Codd
*1923 †12003
41/76
– Father of relational algebra
ACM Turing Award en 1999
– http://en.wikipedia.org/wiki/Edgar_F._Codd
Edgar F. Codd
1960s
– Databases become possible
• Direct-access storages
– No standard data models or query models
42/76
– No standard data models or query models
– Two dominant models
• CODASYL, network model
– “Manual” traversal
• IBM/IMS, hierarchical model
– Relations 1:n only
(Microsoft Windows Registry)
Edgar F. Codd
1970
– “A Relational Model of Data for Large Shared
Data Banks”
• Limits of the CODASYL approach
Lawrence Joseph "Larry" Ellison
*1944
43/76
• Limits of the CODASYL approach
• Introduction of the concept of tables
• Introduction of the concept of relation (keys)
– IBM Future Systems includes SEQUEL in 1975
– Relational Software Inc. release Oracle in 1979
(SEQUEL becomes SQL at the end of the ’70s)
Edgar F. Codd
Today
– SQL is a standard
• ANSI since 1986
• ISO since 1987
44/76
• ISO since 1987
– Implemented by almost all existing databases
– Interoperability
• Careful with proprietary extensions
• Careful with ambiguities
Edgar F. Codd
45/76
Edgar F. Codd
NoSQL
– http://nosql-database.org/
– http://www.10gen.com/nosql
46/76
Dave Parnas
Dave Parnas
– Born February 10th, 1941
– Father of the criteria to divide a program into
modules in a modular design
Dave Parnas
*1941
47/76
modules in a modular design
IEEE Computer Society 60th Anniversary Award
in 2007
– Cf. http://en.wikipedia.org/wiki/David_Parnas
Dave Parnas
Modular design
– Context
• 1972
– Procedural and object
48/76
– Procedural and object
programming languages
– Flow diagrams
– Decomposition of
programs in modules,
classes…
Dave Parnas
– Criteria
• “[I]t is almost always incorrect to begin the
decomposition of a system into modules on the basis
of a flowchart. We propose instead that one begins
49/76
of a flowchart. We propose instead that one begins
with a list of difficult design decisions or design
decisions which are likely to change. Each module
is then designed to hide such a decision from the
others”
• Information hiding = Encapsulation
Dave Parnas
– Rewriting of the criteria in terms of
• Cohesion
• Coupling
50/76
• Concepts “invented” by Larry Constantine in 1968
and published in 1972 in W. Stevens, G. Myers, L.
Constantine, "Structured Design", IBM Systems
Journal, 13 (2), 115-139, 1974.
• A module must have a strong cohesion and be
weakly coupled to other modules
Manny Lehman
Meir M. “Manny” Lehman
– Died December 29th, 2010
– Father of the laws of software evolution
Manny Lehman
*1925 †2010
51/76
Stevens Award in 2003
– Cf. http://www.doc.ic.ac.uk/news/archive/story/
manny-lehman
– Cf. http://www.ieeeghn.org/wiki/index.php/Oral-
History:Meir_Lehman
Manny Lehman
Laws of software evolution
– Context
• 1974
– IBM OS/360 et OS/370
52/76
– IBM OS/360 et OS/370
• Types of programs
– S: can be formally specified
– P: follow an iterative development process
– E: are embedded in our environment
Manny Lehman
– Eight laws
1. Continuing change: E-type systems must be continually
adapted or they become progressively less satisfactory
2. Increasing complexity: As an E-type system evolves its
complexity increases unless work is done to maintain or
53/76
complexity increases unless work is done to maintain or
reduce it
3. Self regulation: E-type system evolution process is self
regulating with distribution of product and process measures
close to normal
4. Conservation of organisational stability: The average
effective global activity rate in an evolving E-type system is
invariant over product lifetime
Manny Lehman
– Eight laws
5. Conservation of familiarity: As an E-type system evolves all
associated with it must maintain mastery of its content and
behaviour to achieve satisfactory evolution. The average
incremental growth remains invariant as the system evolves
54/76
incremental growth remains invariant as the system evolves
6. Continuing growth: The functional content of E-type systems
must be continually increased to maintain user satisfaction
over their lifetime
7. Declining quality: The quality of E-type systems will appear
to be declining unless they are rigorously maintained and
adapted to operational environment changes
8. Feedback system: E-type evolution processes constitute
multi-level, multi-loop, multi-agent feedback systems and must
be treated as such to achieve significant improvement over
any reasonable base
Frederick Brooks
Frederick Brooks
– Born April 19th, 1931
– Father of Brooks’ Law
Frederick Brooks
*1931
55/76
– IEEE J. von Neumann Medal in 1993
– ACM Turing Award in 1999
– Cf. http://en.wikipedia.org/wiki/Fred_Brooks
Frederick Brooks
Principle of Brooks’ Law
– Context
• 1956–1964
– Manager of the IBM OS/360 development project
56/76
– Manager of the IBM OS/360 development project
– Delays in the delivery
– Book
• The Mythical Man-Month: Essays on Software
Engineering
– Principle
• Adding manpower to a late software project
makes it later
Frederick Brooks
– Rationale
• It takes some time for the people added to a
project to become productive. Brooks calls this the
"ramp up" time. New workers must first become
57/76
"ramp up" time. New workers must first become
educated about the work that has preceded them;
also integrate with a team composed of multiple
engineers who must educate the new worker in their
area of expertise in the code base, day by day
• Communication overheads increase as the
number of people increases. The number of
different communication channels increases along
with the square of the number of people
Frederick Brooks
– Comments, solutions
• Brooks' Law applies to projects that are already late
• The quantity, quality and role of the people added to
the project also must be taken into consideration
58/76
the project also must be taken into consideration
• Good management and development practices also
help to minimize the impact of Brooks' Law
• Rather than depending on heroes to carry the day
with extraordinary efforts, Wiegers argues that a team
of ordinarily-skilled individuals can repeatedly deliver
timely results in the right work environment
Frederick Brooks
– Critics
“How to quadruple your productivity with an army of
student interns”
59/76
• Tolerate a little crowding
• Locate next to a deep pool of hackers
• Know who the best people are and only hire them
• Pay well
• Divide tasks to be as loosely-coupled as possible
• Design your intern projects in advance
Edward Yourdon
Edward Yourdon
– Born April 20th, 1944
– “Inventor” of seven types of cohesion
Edward Yourdon
*1944
60/76
– Cf. http://en.wikipedia.org/wiki/Edward_Yourdon
Edward Yourdon
Modular design
– Context
• 1972
– Procedural and object
61/76
– Procedural and object
programming languages
– Flow diagrams
– Decomposition of
programs in modules,
classes…
• 1987
– Object-oriented
programming is
increasingly popular
Edward Yourdon
– Cohesion criteria
1. Accidental: the weakest cohesion in which their is
no links between methods or their link is based on a
useless criteria
62/76
useless criteria
– Utility classes
2. Logic: when methods are linked logically by one or
more common criteria
– All classes pertaining to I/O, to user interactions...
3. Temporal: when methods must be called within a
common time-frame
– A method and the method called in on of its catch
statement, and so on
Edward Yourdon
– Cohesion criteria
4. Procedural: when methods must be called in a
specific order
– One method that check user rights and one method that
63/76
– One method that check user rights and one method that
opens a file subsequently
5. Communicational: when methods process the
dame set of data
– All classes pertaining to dates...
Edward Yourdon
– Cohesion criteria
6. Sequential: when methods that process the same
set of data must be called in a specific order
– A parser: inputs to one class are the outputs of another
64/76
– A parser: inputs to one class are the outputs of another
7. Functional: highest level of cohesion, when a class
or module is dedicated to a unique task
– Classes that contribute in implementing some
requirements
Barbara Liskov
Barbara Liskov
– Born November 7th, 1939
– Mother of the Liskov’s substitution principle
Barbara Liskov
*1939
65/76
– IEEE J. von Neumann Medal in 2004
– ACM Turing Award in 2008
– Cf. http://en.wikipedia.org/wiki/
Liskov_substitution_principle
Barbara Liskov
Liskov’s substitution principle
– Context
• 1987
– Object-oriented programming is increasingly popular
66/76
– Object-oriented programming is increasingly popular
– Principle
• Let q(x) be a property provable about objects x
of type T. Then q(y) should be true for objects y
of type S where S is a subtype of T
Barbara Liskov
– Principle
• Behavioural sub-typing is different and stronger than
the concept of sub-typing in type theory
• In type theory
67/76
• In type theory
– Contravariance of parameters: a parameter of type T can
accept object of type S, where S is a sub-type of T
– Covariance of return type: the return type can be “enlarged”
from T to S
• In addition
– Pre-conditions cannot be stronger in a sub-type
– Post-conditions cannot be weaker in a sub-type
– The sub-type S must preserve the invariants of type T
Barbara Liskov
– Implementation in Java
• Java < 1.5
– Redefinition
/* Mother class */ public T foo(String a, String b) {...}
68/76
/* Daughter class */ public T foo(String a, String b) {...}
– Overriding
/* Mother class */ public T foo(String a, String b) {...}
/* Daughter class */ public T foo(String a, Integer c) {...}
• Java > 1.5
– Redefinition
/* Mother class */ public T foo(String a, String b) {...}
/* Daughter class */ public S foo(String a, String b) {...}
Erich Gamma
Erich Gamma
– Born in 1961
– Father of the software design patterns
Erich Gamma
*1961
69/76
Dahl-Nygaard Prizes in 2006
– Cf. http://en.wikipedia.org/wiki/Erich_Gamma
– Cf. http://c2.com/cgi/wiki?ErichGamma
Erich Gamma
Software design patterns
– Context
• 1977 et 1979
– Christopher Alexander
70/76
– Christopher Alexander
– A Pattern Language: Towns, Buildings, Construction and the
idea of generative patterns
– The Timeless Way of Building and the idea of perfection in
architecture
• 1990
– Object-oriented programs are becoming mainstream
Erich Gamma
A Pattern Language: Towns, Buildings, Construction
– 253 patterns
– Generative grammar
– “At the core... is the idea that people should design for
themselves their own houses, streets and communities.
71/76
themselves their own houses, streets and communities.
This idea... comes simply from the observation that most of
the wonderful places of the world were not made by
architects but by the people”
Design Patterns: Elements of Reusable Object-
Oriented Software
– 23 patterns
– Not a language?
– “Dynamic, highly parameterized software is harder to
understand and build than more static software”
Erich Gamma
Design Patterns:
Elements of Reusable
Object-Oriented
Software
72/76
Software
– Dahl-Nygaard Prizes à
• Ralph Johnson
• Richard Helm
• Erich Gamma
• † John Vlissides
Grady Booch
Grady Booch
– Born February 27th, 1955
– Father of the UML with Jacobson et Rumbaugh
Grady Booch
*1955
73/76
Stevens Award in 2003
– Cf. http://en.wikipedia.org/wiki/Grady_Booch
Grady Booch
UML
– Context
74/76
Grady Booch
– Three Amigos and their methods
• Grady Booch,
– Booch Method (design)
• Ivar Jacobson
75/76
• Ivar Jacobson
– Object Oriented Software Engineering, OOSE (use cases)
• James Rumbaugh
– Object Modeling Technique, OMT (analysis)
• Rational Software Corporation
– UML
To Be Continued
ACM A. M. Turing Award
– Cf. http://awards.acm.org/homepage.cfm?
awd=140
AITO Dahl-Nygaard Prize
76/76
AITO Dahl-Nygaard Prize
– http://www.aito.org/Dahl-Nygaard/
IEEE J. von Neumann Medal
– Cf. http://www.ieee.org/about/awards/bios/
vonneumann_recipients.html

Weitere ähnliche Inhalte

Andere mochten auch

Rapport de Triple-C sur l'audience du Carn@val numérique 1re saison
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saisonRapport de Triple-C sur l'audience du Carn@val numérique 1re saison
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saisonMichel Guillou
 
Knack success story - Gamification in recruitment - Manu Melwin Joy
Knack success story - Gamification in recruitment  - Manu Melwin JoyKnack success story - Gamification in recruitment  - Manu Melwin Joy
Knack success story - Gamification in recruitment - Manu Melwin Joymanumelwin
 
The Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsThe Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsEnterprise Knowledge
 
Campamento de Verano Surf Camp Almerimar 2017 ALMERIA
Campamento de Verano Surf Camp Almerimar 2017 ALMERIACampamento de Verano Surf Camp Almerimar 2017 ALMERIA
Campamento de Verano Surf Camp Almerimar 2017 ALMERIAVeleta3000
 
R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)Raimondo Villano
 
Students’ intentions to use technology in their learning: The effects of inte...
Students’ intentions to use technology in their learning: The effects of inte...Students’ intentions to use technology in their learning: The effects of inte...
Students’ intentions to use technology in their learning: The effects of inte...Alexander Whitelock-Wainwright
 
How to win direct hotel bookings from data
How to win direct hotel bookings from dataHow to win direct hotel bookings from data
How to win direct hotel bookings from datatnooz
 
IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015Takeshi HASEGAWA
 
MicroMedia - Markkinointia MaaS-palveluna 2017
MicroMedia - Markkinointia MaaS-palveluna 2017MicroMedia - Markkinointia MaaS-palveluna 2017
MicroMedia - Markkinointia MaaS-palveluna 2017Kimmo Luoma
 
Quelle stratégie éditoriale pour booster votre performance SEO ? - Petit déj...
Quelle stratégie éditoriale pour booster votre performance SEO ?  - Petit déj...Quelle stratégie éditoriale pour booster votre performance SEO ?  - Petit déj...
Quelle stratégie éditoriale pour booster votre performance SEO ? - Petit déj...Peak Ace
 
We've been building this for years now
We've been building this for years nowWe've been building this for years now
We've been building this for years nowJacob Oduor
 
Webinar: Stop Complex Fraud in its Tracks with Neo4j
Webinar: Stop Complex Fraud in its Tracks with Neo4jWebinar: Stop Complex Fraud in its Tracks with Neo4j
Webinar: Stop Complex Fraud in its Tracks with Neo4jNeo4j
 
確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーション確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーションToru Makabe
 

Andere mochten auch (15)

Rapport de Triple-C sur l'audience du Carn@val numérique 1re saison
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saisonRapport de Triple-C sur l'audience du Carn@val numérique 1re saison
Rapport de Triple-C sur l'audience du Carn@val numérique 1re saison
 
Aif gt-170317slide
Aif gt-170317slideAif gt-170317slide
Aif gt-170317slide
 
Knack success story - Gamification in recruitment - Manu Melwin Joy
Knack success story - Gamification in recruitment  - Manu Melwin JoyKnack success story - Gamification in recruitment  - Manu Melwin Joy
Knack success story - Gamification in recruitment - Manu Melwin Joy
 
The Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsThe Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and Classrooms
 
Campamento de Verano Surf Camp Almerimar 2017 ALMERIA
Campamento de Verano Surf Camp Almerimar 2017 ALMERIACampamento de Verano Surf Camp Almerimar 2017 ALMERIA
Campamento de Verano Surf Camp Almerimar 2017 ALMERIA
 
R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)R. Villano - Las fotos (Appendice ES 2)
R. Villano - Las fotos (Appendice ES 2)
 
Students’ intentions to use technology in their learning: The effects of inte...
Students’ intentions to use technology in their learning: The effects of inte...Students’ intentions to use technology in their learning: The effects of inte...
Students’ intentions to use technology in their learning: The effects of inte...
 
How to win direct hotel bookings from data
How to win direct hotel bookings from dataHow to win direct hotel bookings from data
How to win direct hotel bookings from data
 
IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015
 
MicroMedia - Markkinointia MaaS-palveluna 2017
MicroMedia - Markkinointia MaaS-palveluna 2017MicroMedia - Markkinointia MaaS-palveluna 2017
MicroMedia - Markkinointia MaaS-palveluna 2017
 
Quelle stratégie éditoriale pour booster votre performance SEO ? - Petit déj...
Quelle stratégie éditoriale pour booster votre performance SEO ?  - Petit déj...Quelle stratégie éditoriale pour booster votre performance SEO ?  - Petit déj...
Quelle stratégie éditoriale pour booster votre performance SEO ? - Petit déj...
 
We've been building this for years now
We've been building this for years nowWe've been building this for years now
We've been building this for years now
 
Webinar: Stop Complex Fraud in its Tracks with Neo4j
Webinar: Stop Complex Fraud in its Tracks with Neo4jWebinar: Stop Complex Fraud in its Tracks with Neo4j
Webinar: Stop Complex Fraud in its Tracks with Neo4j
 
Predicting employee burnout
Predicting employee burnoutPredicting employee burnout
Predicting employee burnout
 
確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーション確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーション
 

Ähnlich wie Some Well-known Computer Scientists

Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsPersistent Systems Ltd.
 
The First Billion Android Activations
The First Billion Android ActivationsThe First Billion Android Activations
The First Billion Android ActivationsDavid Evans
 
med122 brief history of the computer lecture
med122 brief history of the computer lecturemed122 brief history of the computer lecture
med122 brief history of the computer lectureRob Jewitt
 
History of computers - Modern
History of computers - ModernHistory of computers - Modern
History of computers - ModernDamian T. Gordon
 
Alan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceAlan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceJonathan Bowen
 
Art/Science Interaction - Case study: Silicon Valley
 Art/Science Interaction - Case study: Silicon Valley Art/Science Interaction - Case study: Silicon Valley
Art/Science Interaction - Case study: Silicon Valleypiero scaruffi
 
COM 546, Week2
COM 546, Week2COM 546, Week2
COM 546, Week2Kathy Gill
 
Invitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptxInvitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptxkalyank35
 
The computer as a modelling machine, a history of analog computing
The computer as a modelling machine, a history of analog computingThe computer as a modelling machine, a history of analog computing
The computer as a modelling machine, a history of analog computingCharles Care
 
Basic Computing Concepts, Including History - Lecture C
Basic Computing Concepts, Including History - Lecture CBasic Computing Concepts, Including History - Lecture C
Basic Computing Concepts, Including History - Lecture CCMDLearning
 
Basic Computing Concepts Including History | Lecture 2C
Basic Computing Concepts Including History | Lecture 2CBasic Computing Concepts Including History | Lecture 2C
Basic Computing Concepts Including History | Lecture 2CCMDLMS
 
History of computer lecture notes
History of computer lecture notesHistory of computer lecture notes
History of computer lecture notesmbalenia
 

Ähnlich wie Some Well-known Computer Scientists (20)

Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
 
The First Billion Android Activations
The First Billion Android ActivationsThe First Billion Android Activations
The First Billion Android Activations
 
Alan Turing
Alan TuringAlan Turing
Alan Turing
 
med122 brief history of the computer lecture
med122 brief history of the computer lecturemed122 brief history of the computer lecture
med122 brief history of the computer lecture
 
History of Women in Tech
History of Women in TechHistory of Women in Tech
History of Women in Tech
 
History of computers - Modern
History of computers - ModernHistory of computers - Modern
History of computers - Modern
 
Alan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceAlan Turing: Founder of Computer Science
Alan Turing: Founder of Computer Science
 
History of GIS
History of GISHistory of GIS
History of GIS
 
Rc 10.computers
Rc 10.computersRc 10.computers
Rc 10.computers
 
Art/Science Interaction - Case study: Silicon Valley
 Art/Science Interaction - Case study: Silicon Valley Art/Science Interaction - Case study: Silicon Valley
Art/Science Interaction - Case study: Silicon Valley
 
Evolution3
Evolution3Evolution3
Evolution3
 
COM 546, Week2
COM 546, Week2COM 546, Week2
COM 546, Week2
 
My lectures
My lecturesMy lectures
My lectures
 
Invitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptxInvitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptx
 
Evolution4
Evolution4Evolution4
Evolution4
 
The computer as a modelling machine, a history of analog computing
The computer as a modelling machine, a history of analog computingThe computer as a modelling machine, a history of analog computing
The computer as a modelling machine, a history of analog computing
 
Basic Computing Concepts, Including History - Lecture C
Basic Computing Concepts, Including History - Lecture CBasic Computing Concepts, Including History - Lecture C
Basic Computing Concepts, Including History - Lecture C
 
Basic Computing Concepts Including History | Lecture 2C
Basic Computing Concepts Including History | Lecture 2CBasic Computing Concepts Including History | Lecture 2C
Basic Computing Concepts Including History | Lecture 2C
 
History of computer lecture notes
History of computer lecture notesHistory of computer lecture notes
History of computer lecture notes
 

Mehr von Yann-Gaël Guéhéneuc

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Yann-Gaël Guéhéneuc
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Yann-Gaël Guéhéneuc
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6Yann-Gaël Guéhéneuc
 

Mehr von Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
Icsm20.ppt
 

Kürzlich hochgeladen

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 

Kürzlich hochgeladen (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

Some Well-known Computer Scientists

  • 1. Some Well-known Computer Scientists Yann-Gaël Guéhéneuc Département de génie informatique et de génie logiciel This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License yann-gael.gueheneuc@polytmtl.ca Version 1.0 2013/04/22
  • 2. Any questions/comments are welcome at 2/76 Any questions/comments are welcome at yann-gael.gueheneuc@polymtl.ca
  • 3. Why Is It Important? (1/2) “Those who cannot remember the past are condemned to repeat it” 3/76 —By George Santayana in Life of Reason, Reason in Common Sense, Scribner's, 1905, page 284
  • 4. Why Is It Important? (2/2) Pythagoras’ theorem Ohm’s law … 4/76 … You know the Nobel Prizes… … do you know the Turing Awards?
  • 5. How to Choose? (1/2) Hundreds of women and men made and are making the history of computer science – Difficult choice, impossible choice 5/76 – Inclusion criteria • Historical importance • Historical continuity • Link to software engineering – No exclusion criteria!
  • 6. How to Choose? (2/2) Suggestions for other computer scientists to appear here – Please send an e-mail to Yann-Gaël Guéhéneuc 6/76 yann-gael.gueheneuc@polymtl.ca
  • 7. Some Well-known Computer Scientists 1936 Alan Turing 1948 Claude Elwood Shannon 1950 Grace Murray Hopper 1960 John McCarthy 1966 Frances E. Allen 1972 Dave Parnas 1974 Manny Lehman 1975 Frederick Brooks 1986 Edward Yourdon 1987 Barbara Liskov 7/76 1966 Frances E. Allen 1967 Dahl et Nygaard 1969 Charles A. R. Hoare 1970 Edgar F. Codd 1987 Barbara Liskov 1994 Erich Gamma 1997 Grady Booch
  • 8. Alan Turing Alan Mathison Turing – Born June 23rd, 1912, died June 7th, 1954 – Turing machines, undecidability, halting problem, computability Alan Turing *1912 †1954 8/76 problem, computability The Turing Award is given in his honour IEEE Milestone … – http://en.wikipedia.org/wiki/Alan_Turing
  • 9. Alan Turing 1928 – Hilbert introduced the decision problem 9/76 1931 – Gödel give results on the limits of proofs and computability
  • 10. Alan Turing 1936 – Turing introduce a concept of machines now known as “Turing machines” – Turing prove with his machines that the halting 10/76 – Turing prove with his machines that the halting problem is undecidable
  • 11. Alan Turing Halting problem – First problem proven undecidable – Used to prove that other problems are undecidable by reduction 11/76 undecidable by reduction
  • 12. Alan Turing Generalisation ≠ particular cases – Correctness proofs are posibles but on particular problems and not automatically in the general case 12/76 general case Formal methods ≠ tests – Prove the correctness of a particular algorithm – Prove the presence of errors
  • 13. Alan Turing 1938−1945 – Work at Bletchley Park • British Government Code and Cypher School • Five major contributions 13/76 • Five major contributions – Decode the Enigma code of the German army – Decode the indicator procedure of the Enigma use by the German navy – Develop a statistical method to make the “Bombe” more efficient – Develop a procedure to decode the Lorenz SZ 40/42 machines – Develop a voice scrambler
  • 14. Alan Turing 1952 – Turing test 1966 – ELIZA Joseph Weizenbaum *1923 †12008 14/76
  • 15. Claude Elwood Shannon Claude Elwood Shannon – Born April 30th, 1916, died February 24th, 2001 – Father of the information theory Claude Elwood Shannon *1916 †12001 15/76 – Father of the information theory National Medal of Science in the USA in 1966 IEEE Medal of Honor in 1966 … – en.wikipedia.org/wiki/Claude_Shannon
  • 16. Claude Elwood Shannon 1830s – Telegraph – Morse Code 16/76
  • 17. Claude Elwood Shannon 1830s – A form of lossless compression 17/76
  • 18. Claude Elwood Shannon 1948 « The fundamental problem of communication is that of reproducing at one point, either exactly or 18/76 that of reproducing at one point, either exactly or approximately, a message selected at another point. » —Shannon, in A Mathematical Theory of Communication, 1948
  • 19. Claude Elwood Shannon 1948 – Probabilistic theory quantifying the average information content of a message 19/76 – Entropy – Code theory • Compression • Detection et correction of errors – All electronic “communication”! – Cryptography
  • 20. Grace Murray Hopper Grace Murray Hopper (rear admiral) – Born the 9th of December, 1906, died the 1st of January, 1992 – Mother of the first compiler, of the term Grace Hopper *1906 †1992 20/76 – Mother of the first compiler, of the term “debugging”, of COBOL and of standards Defense Distinguished Service Medal in the USA in 1986 – Cf. http://en.wikipedia.org/wiki/Grace_Hopper
  • 21. Grace Murray Hopper 1944 – WWII is almost over – Computers showed their usefulness 21/76 • Dehomag D11 (Germany/USA, 1930s): handling of identify cards • Zuse Z3 (Germany, 1941): flutter (dynamic aeroelasticity of wings) • Colossus Mark 1 (Grande Bretagne, 1943): decoding of messages • Harvard Mark I (USA, 1944): production of calculus tables for the Navy
  • 22. Grace Murray Hopper Principle of the first computers – Electromechanical or electromagnetic relays 22/76 electromagnetic relays – Two active relays make a third relay active • Relays “3” et “6” make relay “9” active for a sum 1947
  • 23. Grace Murray Hopper 1950 – Computers become programmable with higher- level languages than microcode or assembly • UNIVAC I: census 23/76 • UNIVAC I: census • A-0 (Arithmetic Language version 0) • Loader or linker more than a compiler 1954 – B-0 (Business Language version 0) also known as FLOW-MATIC
  • 24. Grace Murray Hopper 1959 – Conference CODASYL (Conference on Data Systems Languages) – COBOL as successor of FLOW-MATIC 24/76 – COBOL as successor of FLOW-MATIC – Close to English 1970s – Advocated standards tests for programming languages, FORTRAN in particular
  • 25. John McCarthy John McCarthy – Born the 4th of September, 1927 – Died on the 24 October, 2011 – Father of artificial intelligence, LISP, contributor to time- John McCarthy *1927 †2011 25/76 – Father of artificial intelligence, LISP, contributor to time- sharing computing, inventor of “SaaS” ACM Turing Award in 1971 National Medal of Science in the USA in 1991 – Cf. http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)
  • 26. John McCarthy Artificial intelligence, 1956 – Champion of logic programming – Collaboration with Marvin Minsky 26/76 Inventor of LISP, 1960 – Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, 1960 – Lambda calculus – Garbage collection
  • 27. John McCarthy Time-sharing systems – Multiprogramming and multitasking – Most important change of paradigm in computer science in 1970 DEC PDP-1, c. 1960 27/76 science in 1970 • Sharing of resources to avoid “waiting computation time (cycles)” – SaaS • Software as a Service • Architecture/engineering based on services
  • 28. Frances E. Allen Frances E. Allen – Born on the 4th of August, 1932 – Pioneer of optimising compilation, code optimisation, and parallelisation Frances E. Allen *1932 28/76 optimisation, and parallelisation AWC Augusta Ada Lovelace Award en 2002 ACM Turing Award en 2006 – Cf. http://en.wikipedia.org/wiki/Frances_E._Allen
  • 29. Frances E. Allen Before 1966 – Since the 1930s • Programmable computers – Since the 1950s 29/76 – Since the 1950s • First compilers by Grace Murray Hopper • Programming languages – FORTRAN: first complete compiler – COBOL: first programming language compiled for different computer architectures (UNIVAC II et RCA 501)
  • 30. Frances E. Allen Before 1966 – In 1955 • Context-free grammar invented by Noam Chomsky – In 1966 30/76 – In 1966 • LR Parsing invented by Donald Knuth
  • 31. Frances E. Allen In 1966 – Program Optimization • Use of graphs to describe programs and to allow their optimisations 31/76 In 1970 – Control Flow Analysis et A Basis for Program Optimization • Intervals for control-flow analyses In 1974 – Interprocedural data flow analysis • Interprocedural analyses of whole programs
  • 32. Dahl–Nygaard Ole-Johan Dahl – Born 12 October 1931, †29 June 2002 – Co-inventor of the object-oriented paradigm Ole-Johan Dahl *1931 †2002 32/76 – ACM Turing Award in 2001 – IEEE J. von Neumann in 2002 – Cf. http://www.olejohandahl.info/ – Cf. http://en.wikipedia.org/wiki/Ole-Johan_Dahl
  • 33. Dahl–Nygaard Kristen Nygaard – Born 27 August 1926, †10 August 2002 – Co-inventor of the object-oriented paradigm Kristen Nygaard *1926 †2002 33/76 – ACM Turing Award in 2001 – IEEE J. von Neumann in 2002 – Cf. http://www.ifi.uio.no/in_memoriam_kristen/ – Cf. http://en.wikipedia.org/wiki/Kristen_Nygaard
  • 34. Dahl–Nygaard Object-oriented paradigm – Context • 1961 – Algol imperative programming 34/76 – Algol imperative programming – Classes, objects, encapsulation, inheritance, polymorphism • Simula I • Simula 67
  • 35. Dahl–Nygaard Object-oriented programming – Smalltalk • Xerox Parc, 1970–1983 – GUI 35/76 – GUI – Icons – WYSIWYG – Mouse (cf. Stanford Research Institute) • Dynamic typing • Reflection • Garbage collection
  • 36. Dahl–Nygaard Object-oriented programming – C++ • AT&T Bell Labs • Bjarne Stroustrup 36/76 • Bjarne Stroustrup • 1980 • Static typing • Multiple inheritance • Cf. http://www.approximity.com/ruby/ Comparison_rb_st_m_java.html
  • 37. Dahl–Nygaard Object-oriented programming – Oberon • ETH Zurich • Niklaus Wirth 37/76 • Niklaus Wirth • 1986 • Static typing • Garbage collection • Array bounds checking
  • 38. Charles A. R. Hoare Sir Charles Antony Richard Hoare – Born January 11th, 1934 – Inventor of QuickSort Sir Charles Antony Richard Hoare *1934 38/76 – Inventor of the Hoare logic – – ACM Turing Award in 1980 – IEEE J. von Neumann in 2011 – Cf. http://en.wikipedia.org/wiki/C._A._R._Hoare
  • 39. Charles A. R. Hoare QuickSort – Context • 1960 – In Soviet Union, Hoare works at Moscow State University in 39/76 – In Soviet Union, Hoare works at Moscow State University in automatic translation – He must sort words to be translated to map them with words already translated – QuickSort • O(n × log(n)) in average, O(n2) worst case • Works well with a cache
  • 40. Charles A. R. Hoare Hoare logic – Context • 1969 – Study program correctness 40/76 – Study program correctness – Original idea sown by Robert Floyd in 1967 – Verification of the correctness of a program • Hoare triplet: {P} C {Q} • Pre-condition P, instruction C, post-condition Q • Set of rules for imperative languages…
  • 41. Edgar F. Codd Edgar Frank “Ted” Codd – Born August 23rd, 1913, died April 18th, 2003 – Father of relational algebra Edgar F. Codd *1923 †12003 41/76 – Father of relational algebra ACM Turing Award en 1999 – http://en.wikipedia.org/wiki/Edgar_F._Codd
  • 42. Edgar F. Codd 1960s – Databases become possible • Direct-access storages – No standard data models or query models 42/76 – No standard data models or query models – Two dominant models • CODASYL, network model – “Manual” traversal • IBM/IMS, hierarchical model – Relations 1:n only (Microsoft Windows Registry)
  • 43. Edgar F. Codd 1970 – “A Relational Model of Data for Large Shared Data Banks” • Limits of the CODASYL approach Lawrence Joseph "Larry" Ellison *1944 43/76 • Limits of the CODASYL approach • Introduction of the concept of tables • Introduction of the concept of relation (keys) – IBM Future Systems includes SEQUEL in 1975 – Relational Software Inc. release Oracle in 1979 (SEQUEL becomes SQL at the end of the ’70s)
  • 44. Edgar F. Codd Today – SQL is a standard • ANSI since 1986 • ISO since 1987 44/76 • ISO since 1987 – Implemented by almost all existing databases – Interoperability • Careful with proprietary extensions • Careful with ambiguities
  • 46. Edgar F. Codd NoSQL – http://nosql-database.org/ – http://www.10gen.com/nosql 46/76
  • 47. Dave Parnas Dave Parnas – Born February 10th, 1941 – Father of the criteria to divide a program into modules in a modular design Dave Parnas *1941 47/76 modules in a modular design IEEE Computer Society 60th Anniversary Award in 2007 – Cf. http://en.wikipedia.org/wiki/David_Parnas
  • 48. Dave Parnas Modular design – Context • 1972 – Procedural and object 48/76 – Procedural and object programming languages – Flow diagrams – Decomposition of programs in modules, classes…
  • 49. Dave Parnas – Criteria • “[I]t is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that one begins 49/76 of a flowchart. We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others” • Information hiding = Encapsulation
  • 50. Dave Parnas – Rewriting of the criteria in terms of • Cohesion • Coupling 50/76 • Concepts “invented” by Larry Constantine in 1968 and published in 1972 in W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13 (2), 115-139, 1974. • A module must have a strong cohesion and be weakly coupled to other modules
  • 51. Manny Lehman Meir M. “Manny” Lehman – Died December 29th, 2010 – Father of the laws of software evolution Manny Lehman *1925 †2010 51/76 Stevens Award in 2003 – Cf. http://www.doc.ic.ac.uk/news/archive/story/ manny-lehman – Cf. http://www.ieeeghn.org/wiki/index.php/Oral- History:Meir_Lehman
  • 52. Manny Lehman Laws of software evolution – Context • 1974 – IBM OS/360 et OS/370 52/76 – IBM OS/360 et OS/370 • Types of programs – S: can be formally specified – P: follow an iterative development process – E: are embedded in our environment
  • 53. Manny Lehman – Eight laws 1. Continuing change: E-type systems must be continually adapted or they become progressively less satisfactory 2. Increasing complexity: As an E-type system evolves its complexity increases unless work is done to maintain or 53/76 complexity increases unless work is done to maintain or reduce it 3. Self regulation: E-type system evolution process is self regulating with distribution of product and process measures close to normal 4. Conservation of organisational stability: The average effective global activity rate in an evolving E-type system is invariant over product lifetime
  • 54. Manny Lehman – Eight laws 5. Conservation of familiarity: As an E-type system evolves all associated with it must maintain mastery of its content and behaviour to achieve satisfactory evolution. The average incremental growth remains invariant as the system evolves 54/76 incremental growth remains invariant as the system evolves 6. Continuing growth: The functional content of E-type systems must be continually increased to maintain user satisfaction over their lifetime 7. Declining quality: The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes 8. Feedback system: E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base
  • 55. Frederick Brooks Frederick Brooks – Born April 19th, 1931 – Father of Brooks’ Law Frederick Brooks *1931 55/76 – IEEE J. von Neumann Medal in 1993 – ACM Turing Award in 1999 – Cf. http://en.wikipedia.org/wiki/Fred_Brooks
  • 56. Frederick Brooks Principle of Brooks’ Law – Context • 1956–1964 – Manager of the IBM OS/360 development project 56/76 – Manager of the IBM OS/360 development project – Delays in the delivery – Book • The Mythical Man-Month: Essays on Software Engineering – Principle • Adding manpower to a late software project makes it later
  • 57. Frederick Brooks – Rationale • It takes some time for the people added to a project to become productive. Brooks calls this the "ramp up" time. New workers must first become 57/76 "ramp up" time. New workers must first become educated about the work that has preceded them; also integrate with a team composed of multiple engineers who must educate the new worker in their area of expertise in the code base, day by day • Communication overheads increase as the number of people increases. The number of different communication channels increases along with the square of the number of people
  • 58. Frederick Brooks – Comments, solutions • Brooks' Law applies to projects that are already late • The quantity, quality and role of the people added to the project also must be taken into consideration 58/76 the project also must be taken into consideration • Good management and development practices also help to minimize the impact of Brooks' Law • Rather than depending on heroes to carry the day with extraordinary efforts, Wiegers argues that a team of ordinarily-skilled individuals can repeatedly deliver timely results in the right work environment
  • 59. Frederick Brooks – Critics “How to quadruple your productivity with an army of student interns” 59/76 • Tolerate a little crowding • Locate next to a deep pool of hackers • Know who the best people are and only hire them • Pay well • Divide tasks to be as loosely-coupled as possible • Design your intern projects in advance
  • 60. Edward Yourdon Edward Yourdon – Born April 20th, 1944 – “Inventor” of seven types of cohesion Edward Yourdon *1944 60/76 – Cf. http://en.wikipedia.org/wiki/Edward_Yourdon
  • 61. Edward Yourdon Modular design – Context • 1972 – Procedural and object 61/76 – Procedural and object programming languages – Flow diagrams – Decomposition of programs in modules, classes… • 1987 – Object-oriented programming is increasingly popular
  • 62. Edward Yourdon – Cohesion criteria 1. Accidental: the weakest cohesion in which their is no links between methods or their link is based on a useless criteria 62/76 useless criteria – Utility classes 2. Logic: when methods are linked logically by one or more common criteria – All classes pertaining to I/O, to user interactions... 3. Temporal: when methods must be called within a common time-frame – A method and the method called in on of its catch statement, and so on
  • 63. Edward Yourdon – Cohesion criteria 4. Procedural: when methods must be called in a specific order – One method that check user rights and one method that 63/76 – One method that check user rights and one method that opens a file subsequently 5. Communicational: when methods process the dame set of data – All classes pertaining to dates...
  • 64. Edward Yourdon – Cohesion criteria 6. Sequential: when methods that process the same set of data must be called in a specific order – A parser: inputs to one class are the outputs of another 64/76 – A parser: inputs to one class are the outputs of another 7. Functional: highest level of cohesion, when a class or module is dedicated to a unique task – Classes that contribute in implementing some requirements
  • 65. Barbara Liskov Barbara Liskov – Born November 7th, 1939 – Mother of the Liskov’s substitution principle Barbara Liskov *1939 65/76 – IEEE J. von Neumann Medal in 2004 – ACM Turing Award in 2008 – Cf. http://en.wikipedia.org/wiki/ Liskov_substitution_principle
  • 66. Barbara Liskov Liskov’s substitution principle – Context • 1987 – Object-oriented programming is increasingly popular 66/76 – Object-oriented programming is increasingly popular – Principle • Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T
  • 67. Barbara Liskov – Principle • Behavioural sub-typing is different and stronger than the concept of sub-typing in type theory • In type theory 67/76 • In type theory – Contravariance of parameters: a parameter of type T can accept object of type S, where S is a sub-type of T – Covariance of return type: the return type can be “enlarged” from T to S • In addition – Pre-conditions cannot be stronger in a sub-type – Post-conditions cannot be weaker in a sub-type – The sub-type S must preserve the invariants of type T
  • 68. Barbara Liskov – Implementation in Java • Java < 1.5 – Redefinition /* Mother class */ public T foo(String a, String b) {...} 68/76 /* Daughter class */ public T foo(String a, String b) {...} – Overriding /* Mother class */ public T foo(String a, String b) {...} /* Daughter class */ public T foo(String a, Integer c) {...} • Java > 1.5 – Redefinition /* Mother class */ public T foo(String a, String b) {...} /* Daughter class */ public S foo(String a, String b) {...}
  • 69. Erich Gamma Erich Gamma – Born in 1961 – Father of the software design patterns Erich Gamma *1961 69/76 Dahl-Nygaard Prizes in 2006 – Cf. http://en.wikipedia.org/wiki/Erich_Gamma – Cf. http://c2.com/cgi/wiki?ErichGamma
  • 70. Erich Gamma Software design patterns – Context • 1977 et 1979 – Christopher Alexander 70/76 – Christopher Alexander – A Pattern Language: Towns, Buildings, Construction and the idea of generative patterns – The Timeless Way of Building and the idea of perfection in architecture • 1990 – Object-oriented programs are becoming mainstream
  • 71. Erich Gamma A Pattern Language: Towns, Buildings, Construction – 253 patterns – Generative grammar – “At the core... is the idea that people should design for themselves their own houses, streets and communities. 71/76 themselves their own houses, streets and communities. This idea... comes simply from the observation that most of the wonderful places of the world were not made by architects but by the people” Design Patterns: Elements of Reusable Object- Oriented Software – 23 patterns – Not a language? – “Dynamic, highly parameterized software is harder to understand and build than more static software”
  • 72. Erich Gamma Design Patterns: Elements of Reusable Object-Oriented Software 72/76 Software – Dahl-Nygaard Prizes à • Ralph Johnson • Richard Helm • Erich Gamma • † John Vlissides
  • 73. Grady Booch Grady Booch – Born February 27th, 1955 – Father of the UML with Jacobson et Rumbaugh Grady Booch *1955 73/76 Stevens Award in 2003 – Cf. http://en.wikipedia.org/wiki/Grady_Booch
  • 75. Grady Booch – Three Amigos and their methods • Grady Booch, – Booch Method (design) • Ivar Jacobson 75/76 • Ivar Jacobson – Object Oriented Software Engineering, OOSE (use cases) • James Rumbaugh – Object Modeling Technique, OMT (analysis) • Rational Software Corporation – UML
  • 76. To Be Continued ACM A. M. Turing Award – Cf. http://awards.acm.org/homepage.cfm? awd=140 AITO Dahl-Nygaard Prize 76/76 AITO Dahl-Nygaard Prize – http://www.aito.org/Dahl-Nygaard/ IEEE J. von Neumann Medal – Cf. http://www.ieee.org/about/awards/bios/ vonneumann_recipients.html