What is CS?
• Engineering? Application of science?
• Natural science? Observable phenomena?
• Mathematics? Invisible abstractions?
• Social science? Functioning of human society?
CS is exciting and difficult as it is all these things.
Computer Science (Introduction) What is CS? © 5 February 2024 20 / 138
Existential Angst
The Scream by the Norwegian artist Edvard Munch,
painted in 1893.
Computer Science (Introduction) What is CS? © 5 February 2024 21 / 138
We are at the dawn of new era. The, as yet unfinished, language of computation is
the language of science and engineering and is overtaking mathematics as the
Queen of Science.
Philosophy is written in this grand book, the universe which stands
continually open to our gaze. But the book cannot be understood unless
one first learns to comprehend the language and read the letters in which
it is composed. It is written in the language of mathematics, and its
characters are triangles, circles and other geometric figures without which
it is humanly impossible to understand a single word of it; without these,
one wanders about in a dark labyrinth.
Galileo Galilee in The Assayer
Computer Science (Introduction) What is CS? © 5 February 2024 22 / 138
How does this class (studying Java) fit into the study of Computer
Science?
Computer Science (Introduction) What is CS? © 5 February 2024 23 / 138
How does this class (studying Java) fit into the study of Computer
Science?
Learn some algorithms, some real and idealized machines, learn something about
information. Mostly learn some mechanisms which can express computation.
Computer Science (Introduction) What is CS? © 5 February 2024 24 / 138
What Does A Computer Scientist Do?
Similar to mathematics, most everyone in modern society uses computing. So
getting a computer science degree prepares you for everything and nothing.
• To do anything requires programming
• To do something useful requires domain knowledge
Do you become skillful at programming, or an expert in a domain?
What do you want to do?
Computer Science (Introduction) What is CS? © 5 February 2024 25 / 138
Fields
• Computer architecture
• Operating systems
• Programming languages and compilers
• Algorithms, data structures, complexity
• Computability theory
• Numerical analysis
• Networking and distributed computing
• Parallel computing
• Information Management/Database systems
• Software development (aka Software Engineering)
• Human-computer communication/interaction
• Graphics and Visual Computing
• Intelligent Systems (aka Artificial Intelligence)
Computer Science (Introduction) What is CS? (Overview of Fields) © 5 February 2024 26 / 138
Architecture
Basic five-stage pipeline in a RISC machine: instruction fetch, instruction decode,
execute, memory access, register write back.
The IBM PowerPC G5 has 21 pipeline stages; the Intel Pentium 4E has 31 stages.
Computer Science (Introduction) What is CS? (Overview of Fields) © 5 February 2024 27 / 138
Operating Systems — paging
Computer Science (Introduction) What is CS? (Overview of Fields) © 5 February 2024 28 / 138
Programming Languages and Compilers
Computer Science (Introduction) What is CS? (Overview of Fields) © 5 February 2024 29 / 138
Algorithms and Data Structures — Sorting
Sorting animation
Computer Science (Introduction) What is CS? (Overview of Fields) © 5 February 2024 30 / 138