Title: What is Computer Science
1What is Computer Science?
- Amit Jain
- Associate Professor
- Department of Computer Science
- College of Engineering
- Boise State University
- Consulting Scientist
- Balihoo, Inc
2Introduction
- Computer science, like Engineering, builds upon
a foundation of Mathematics and Science. - Both computer science and physics are about how
the world works at a rather fundamental
level. The difference, of course, is that
while in physics you're supposed to figure out
how the world is made up, in computer
science you create the world. - Computer Science and Engineering deal precisely
with the notion of how to. Science and
Mathematics deal precisely with the notion of
what is. - Computer Science in turn now drives the research
and practice in science, mathematics and
engineering.
3Introduction (continued)?
- Computer Science involves finding how to
decompose problems into manageable parts and
how to work on those parts. - Computer Scientists often use computer
programming languages to write the steps for
solving a problem, but the crux of the work is
spending time discovering the steps needed to
solve a particular problem. - The computer revolution is a revolution in the
way we think and in the way we express what
we think. - A computer language is not just a way of getting
a computer to perform certain operations but
rather it is a novel formal medium for
expressing ideas about methodology.
4Major Areas of Computer Science
- Algorithms and Data Structures
- Programming Languages
- Systems Operating Systems, Architecture,
Databases and Networking.
5Recursion
- Define a b as
- if a is 0 then b
- else (decrement a) (increment
b)? - An implementation in the programming language
Scheme - (define ( a b)?
- (if ( a 0)?
- b
- ( (dec a) (inc b))))?
6Hole in my Bucket
- There's a hole in my bucket,
- dear Liza, dear Liza,
- There's a hole in my bucket,
- dear Liza, a hole.
- Well fix it, dear Henry,
- dear Henry, dear Henry,
- Well fix it, dear Henry, well fix it.
-
- With what shall I fix it, . . .
- With straw, . . .
- The straw is too long, . . .
- Well cut it, . . .
With what shall I cut it, . . . With an
axe, . . . The axe is too dull, . . . Then
sharpen it, . . . With what shall I sharpen
it, . . . With a stone, . . . . The stone
is too dry, . . . Then wet it, . . . With
what shall I wet it, . . . With water, . . . .
In what shall I fetch it, . . . With a
bucket, . . . There's a hole in my bucket, . .
.
7Algorithm Example
- Computer 2n
- Approaches The simple way versus recursive
doubling.
8Software Engineering Example
- The Linux Operating System kernel
- Version 2.6.22 7.44 million lines of code, 26356
files, about 100,000 developers - The Space Shuttle
- 2.5 million parts, 230 miles of wire, 4.5 million
lbs, 18,000 NASA employees.
9Computer Science Careers
- Wide variety of careers Software companies,
Engineering companies, Biomedical companies,
Investment companies etc. - NASA, NSA, Google, Wall Street, Bioinformatics,
Intel, Microsoft, Facebook, Twitter. - Boise Metro Area over 200 software companies
10History
- Charles Babbage (1791-1871). Designed the first
programmable computer (around 1822) called the
Difference Engine. It had 25,000 parts,
stood 8 feet tall and weighed fifteen tons. - Countess Lovelace Ada (1815-1852). Collaborated
with Charles Babbage. She was the first
programmer! She understood and articulated
the promise of a general purpose computer. - Alan Turing (1912-1954). Defined the notion of a
general purpose computer precisely. Led a team
to build one of the first computers in the
1940s.. - Von Neumann (1903-1957). One of the earli
pioneers who also led a team to build a
digital computer in the 1940s.
11References
- Is Computer Science Science? By Peter J,
Denning, Communications of the ACM, April
2005, Vol. 48, No. 4. - Just for Fun The Story of an Accidental
Revolutionary by Linus Torvalds and David
Diamond, HarperCollins, 2001. - What is Computer Science? By James Thornton,
http//jamesthornton.com/wp/display/350/