-
but: a "computer" used to be a person!
- See webpage on History of Computers
2. Also known as "informatics" (like "mathematics")
- i.e., the study of information processing
* how info-processing tasks can be automated
> i.e., done by machine
with or without human intervention
* how they can be automated efficiently
> i.e., in least amount of time
and/or using least amount of physical
resources ("space")
* what can/can't be automated
(e.g., artificial intelligence
("AI") =
can intelligence/thinking/cognition
be automated?)
3. Key terms:a) algorithm (for a problem)
- best example to keep in mind: rules for +, -, *, /
- from: Muhammed ibn-Musa al-Khuwarizmi
(Arab mathematician, ca. 780-850 A.D.)= a procedure (for solving the problem) that is:
- unambiguous : - for computer or human
who will "execute" it;
- all steps of procedure
must be clear &
well-defined
for the executor& - effective : - must eventually halt
(no infinite loop)
* e.g., shampoo "algorithm":
lather, rinse, repeat
* but: online interactive
programs don't end!- must be correct
* i.e., must solve the problem
they were designed for- e.g., the "How to Read" algorithm
- e.g., rules for arithmetic:
very difficult to spell out precisely
* try it! -- try writing down the algorithm for
adding columns of numbers
with any amount of digits.So: Computer Science can be viewed as the study of
which problems can be solved by algorithms:
- what are those algorithms?
- if there is more than one algorithm per problem,
which are "better" (more efficient)?b) program = an algorithm written in a special
language, usually one that a computer
can "understand"c) programming language =
a language for formally expressing
information-processing tasks
- usually an artificial language
that can be "understood" by computer
e.g., Basic, Fortran, Lisp, Cobol,
Pascal, C, C++, Java, etc.
- but could be English
(& we humans could be the computer!)
- in fact, one goal of AI is to be able to
get computers to understand
natural language
- & one goal of programming is
"automatic programming":
* give computer description
of problem
(in English or formal language)
& let it do the programming!d) (digital) computer
= general-purpose
information-processing machine
- capable of executing (i.e., carrying out)
any information-processing task that can be
formally expressed by an algorithm.
3 Great Insights of Computer Science
I. There are only 2 objects
that a computer has to deal with
in order to represent "anything"II. There are only 5 actions
that a computer has to perform
in order to do "anything"III. There are only 3 ways of combining
these actions (into more complex ones)
that are needed in order for a computer
to do "anything"