Computer Science
DSC 4AI
What is Computer Science?
The discipline that seeks to build a scientific
foundation for a variety of topics including:
•
•
•
•
computer device design
computer programming
information processing
algorithmic solutions to problems
Areas of Overlap
•
•
•
•
•
•
Mathematics
Physics
Biology
Chemistry
Psychology
Sociology
•
•
•
•
•
•
Geography
Art
Music
Medicine
Communication
Business
History - 1940s
• Von Neumann
– modern digital computer design
– first modern computer (ENIAC)
• Theoretical C.S.
– Turing
• definition of generic computer
• Turing test for AI
– Church
• what problems can and can’t be solved
History - 1950s
• Computer design
– increased power and size
• Languages
– Assembler, Fortran
• AI
– language translation problem
– Lisp
• Applications
– Cobol
History - 1960s
• Hardware design
– solid state and ICs  more reliability, power
– I/O devices
• Operating Systems
– multi-tasking
• Languages
– software engineering vs. programming as art
• Applications
– DBMS
History - 1970s
• Hardware design
– IC  PC
– supercomputers
– telecommunications / networks
• Languages
– struggle with design / structured methods
– Ada
• Application
– Fifth Generation Project
History - 1980s
• Theoretical C.S. revisited
– parallel and distributed processing
• Hardware design
– continues rapid advance  multimedia
• Languages
– wide adoption of OOP (started in 1967)
• Application
– embedded systems
– client-server
History - 1990s
• Hardware design
– ever increasing power
– driven by gaming
• Languages
– hacking
• Applications
– Internet
Topics - Hardware
• Data Manipulation
– stored program concept
– other architectures
• Data Representation
– integer, characters, decimals, fractions, images,
sound
Topics - Hardware
• Communication
–
–
–
–
CRC and error correcting codes
data compression & information theory
computer/peripheral
client-server architecture
Topics - Software
• OS
– architecture
– competition among processes
– networks and protocols
• Algorithms
– representation
– efficiency
– correctness
Topics - Software
• Languages
–
–
–
–
parallel computing
declarative programming
functional programming
logic programming
• Engineering
– techniques & design disciplines
– UML
Topics - AI
•
•
•
•
•
•
•
•
Fuzzy logic
reasoning
control systems
heuristics
neural nets
cellular automata
self-replicating computers
vision & pattern recognition
Topics - Theory of Computation
•
•
•
•
•
•
•
Finite state machines
Turing machine & halting problem
computable functions
noncomputable functions
complexity measurement
problem classification
complexity & chaos
Topics - Thermodynamics of
Computing
• reversible computation
• Quantum computation
Resources
• The Art & Craft of Computing; Ceri,
Mandriolli, Sbattella
• Computer Science, An Overview;
Brookshear
• Feynman Lectures on Computation;
Feynman
• The Turing Omnibus, Dewdney
Resources
• Islands of Truth, Peterson
• The Pattern on the Stone, simple ideas that
make computers work; Hillis
• Mind Children, the future of Robot and
Human Intelligence; Moravec
• The Emperor’s New Mind, concerning
computers, minds and the laws of physics;
Penrose
Resources
• Dreams of Reason, The Computer and the
Rise of the Sciences of Complexity; Pagels
• Chaos, Making a new Science; Gleick
Descargar

Computer Science