Presentation Chap23
Presentation Chap23
Computer Science
David Reed, Creighton University
©2005 Pearson Prentice Hall
ISBN 0-13-046709-X
Chapter 10
Computer Science as a Discipline
1
Computer “Science”
some people argue that computer science is not a science in the same sense
that biology and chemistry are
the interdisciplinary nature of computer science has made it hard to classify
2
Scientific Method
the process developed by the scientific community for examining
observations and events is known as the scientific method
many activities carried out by computer scientists follow the scientific method
e.g., designing and implementing a large database system requires hypothesizing
about its behavior under various conditioning, experimenting to test those
hypotheses, analyzing the results, and possibly redesigning
e.g., debugging a complex program requires forming hypotheses about where an
error might be occurring, experimenting to test those hypotheses, analyzing the
results, and fixing the bugs
3
Artificial Science
the distinction between computer science and natural sciences like biology,
chemistry, and physics is the type of systems being studied
natural sciences study naturally occurring phenomena and attempt to extract
underlying laws of nature
computer science studies human-made constructs: programs, computers, and
computational modes
5
Hardware
hardware refers to the physical components of a computer and its supporting
devices
6
Software
software refers to the programs that execute on computers
7
Theory
theoretical computer scientists strive to understand the capabilities of
algorithms and computers (deeply rooted in math and formal logic)
8
Subfields of
Computer
Science
computer science can be
divided into subfields
each subfield takes a unique
approach to computation
however the common themes
of computer science
(hardware, software, and
theory) influence every
subfield
9
Algorithms and Data Structures
subfield that involves developing, analyzing, and implementing algorithms for
solving problems
application: encryption
encryption is the process of encoding a message so that it is decipherable only
by its intended recipient
Caesar cipher: shift each letter three down in the alphabet
e.g., ET TU BRUTE HW WX EUXWH
Caesar cipher is an example of private-key encryption
relies on the sender and the recipient sharing a secret key
some modern encryption algorithms rely on private keys
e.g., Digital Encryption Standard (DES) utilizes 56-bit keys
10
Public-Key Encryption
private-key encryption assumes that the sender and the recipient have agreed
upon some key ahead of time (which introduces other security risks)
allows for double encryption to also verify the identity of the sender
you can encode messages with your own private key and the recipient’s
public key, and decode the message in reverse
11
Architecture
subfield concerned with methods of organizing hardware components into
efficient, reliable systems
15
The Ethics of Computing
as technology becomes more prevalent in society, computing professionals
must ensure that hardware and software are used safely, fairly, and effectively
16