computer scince

28
Chapter 3: What is Computer Science? Christian Jacob TOC 1 Back 1 What is Computer Science? 3 2 Research Areas of Computer Science (CS) 9 2.1 Theoretical Computer Science 15 2.2 Programming Languages 16 2.3 Computer Structures 17 2.4 Operating Systems 18 2.5 Pattern Recognition 19 2.6 Database Systems 20 2.7 Communication Systems 21 2.8 Artificial Intelligence 22 2.9 Computer Graphics 23 2.10 System Simulation 24 2.11 Computers and their Environment 25 2.12 Computational “X” 26 3 New Frontiers of Computing? 27 4 Learning the Computers´ Languages 28 5 Conjuring the Spirits of the Computer … 29

Upload: tenvir-ali

Post on 06-May-2017

241 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Computer Scince

Chapter 3: What is Computer Science?

Christian Jacob

TOC

1

Back

1 What is Computer Science? 3

2 Research Areas of Computer Science (CS) 9

2.1 Theoretical Computer Science 152.2 Programming Languages 162.3 Computer Structures 172.4 Operating Systems 182.5 Pattern Recognition 192.6 Database Systems 202.7 Communication Systems 212.8 Artificial Intelligence 222.9 Computer Graphics 232.10 System Simulation 242.11 Computers and their Environment 252.12 Computational “X” 26

3 New Frontiers of Computing? 27

4 Learning the Computers´ Languages 28

5 Conjuring the Spirits of the Computer … 29

Page 2: Computer Scince

What is Computer Science?

What is Computer Science?

Christian Jacob

First Back TOC

3

Prev Next Last

1 What is Computer Science?

Page 3: Computer Scince

What is Computer Science?

What is Computer Science?

Christian Jacob

First Back TOC

4

Prev Next Last

1 What is Computer Science?

to compute:

(French

computer

or Latin

computare

; as COM-,

putare

´reckon´)

Computer Science = Science of how to

Calculate

???

Page 4: Computer Scince

What is Computer Science?

What is Computer Science?

Christian Jacob

First Back TOC

5

Prev Next Last

1 What is Computer Science?

to compute:

(French

computer

or Latin

computare

; as COM-,

putare

´reckon´)

Computer Science = Science of how to

Calculate

???

computer:

1. a

person who computes

or makes calulations (originally, well-trained mathematicians performing complex computations to set up logarithmic and trigonometric tables in the 18th century)

Page 5: Computer Scince

What is Computer Science?

What is Computer Science?

Christian Jacob

First Back TOC

6

Prev Next Last

1 What is Computer Science?

to compute:

(French

computer

or Latin

computare

; as COM-,

putare

´reckon´)

Computer Science = Science of how to

Calculate

???

computer:

1. a

person who computes

or makes calulations (originally, well-trained mathematicians performing complex computations to set up logarithmic and trigonometric tables in the 18th century)

2. a usually electronic device for

storing

and

processing data

(usually in binary form), according to instructions given to it in a variable program

1

1. The Concise Oxford Dictionary, Ninth Edition

Page 6: Computer Scince

What is Computer Science?

What is Computer Science?

Christian Jacob

First Back TOC

7

Prev Next Last

1 What is Computer Science?

to compute:

(French

computer

or Latin

computare

; as COM-,

putare

´reckon´)

Computer Science = Science of how to

Calculate

???

computer:

1. a

person who computes

or makes calulations (originally, well-trained mathematicians performing complex computations to set up logarithmic and trigonometric tables in the 18th century)

2. a usually electronic device for

storing

and

processing data

(usually in binary form), according to instructions given to it in a variable program

1

Computers are machines for the

processing

of

information:

- storage -generation- retrieval - transformation- analyzation - …

1. The Concise Oxford Dictionary, Ninth Edition

Page 7: Computer Scince

What is Computer Science?

What is Computer Science?

Christian Jacob

First Back TOC

8

Prev Next Last

Computer Science

=

Science of Processing Information by Computers

=

Informatics

Page 8: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

9

Prev Next Last

2 Research Areas of Computer Science (CS)

Theoretical CS

Programming Languages

Page 9: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

10

Prev Next Last

2 Research Areas of Computer Science (CS)

Theoretical CS

Programming Languages

Computer Structures

Operating SystemsCommunication Systems

Page 10: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

11

Prev Next Last

2 Research Areas of Computer Science (CS)

Theoretical CS

Programming Languages

Computer Structures

Operating SystemsCommunication Systems

Computers & their Environment

Page 11: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

12

Prev Next Last

2 Research Areas of Computer Science (CS)

Theoretical CS

Programming Languages

Computer Structures

Operating Systems

Database Systems

Communication Systems

Computer Graphics

System Simulation

Computers & their Environment

Page 12: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

13

Prev Next Last

2 Research Areas of Computer Science (CS)

Theoretical CS

Programming Languages

Computer Structures

Operating Systems

Pattern RecognitionDatabase Systems

Communication Systems

Artificial IntelligenceComputer Graphics

System Simulation

Computers & their Environment

Computational “X”

Page 13: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

14

Prev Next Last

2 Research Areas of Computer Science (CS)

Theoretical CS

Programming Languages

Computer Structures

Operating Systems

Pattern RecognitionDatabase Systems

Communication Systems

Artificial IntelligenceComputer Graphics

System Simulation

Computers & their Environment

Computational “X”

New Frontiers …

Page 14: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

15

Prev Next Last

2.1 Theoretical Computer Science

Theoretical CS

Automata Theory

Formal Languages

Grammars

ComputabilityCoding Theory

Complexity

Page 15: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

16

Prev Next Last

2.2 Programming Languages

Theoretical CSProgramming Languages

Modern programming languages and concepts

Syntax analysis

Grammars

Compilers

Code optimization

Visual programming

Genetic programming

Efficient Algorithms

Interpreters

Debuggers

Procedural … Functional … Rule-based … Object-oriented Programming

Soft computing:

- neural networks

- fuzzy systems

- evolutionary algorithms

Software Engineering

Page 16: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

17

Prev Next Last

2.3 Computer Structures

Theoretical CSComputer Structures

Multi-processing systems

Massively parallel computing architectures

Distributed computer architectures

Fault-tolerant computing systems

New Computer Architectures

Massively Parallel Computer Architectures

Alternative ComputingEnvironments

Page 17: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

18

Prev Next Last

2.4 Operating Systems

Theoretical CSOperating Systems

Multiprocessor and Network ConfigurationsObject-oriented Distributed Control

Computational Processes

System Processes

Synchronisation

Resource Allocation

Resource Sharing

Time-shared Processing

Multi-User Processing

Multi-Threaded Processing

Quasi-Parallel Computation

Page 18: Computer Scince

Research Areas of Computer Science (CS)

What is Computer Science?

Christian Jacob

First Back TOC

19

Prev Next Last

2.5 Pattern Recognition

Theoretical CSPattern Recognition

Computer Vision

Image Analysis

Speech Understanding

Knowledge Processing

Data Mining

Speech Recognition

Voice Recognition

Page 19: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 20 Prev Next Last

2.6 Database Systems

Theoretical CSDatabase Systems

Information Storage and Retrieval

Distributed Database Systems

Scientific Database Management

Workflow Management

Electronic Trading

E-commerce

Data Mining

Sorting

Searching

Page 20: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 21 Prev Next Last

2.7 Communication Systems

Theoretical CSCommunication Systems

Performance evaluation

Analytical Simulation

Measurement Techniques

Communication Networks

SIMD Machines

MIMD Machines:Multiple Input Multiple Data

Simple Input Multiple Data

Unconventional Computer Architectures

Design and Evaluation of

Page 21: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 22 Prev Next Last

2.8 Artificial Intelligence

Theoretical CSArtificial Intelligence

Machine LearningKnowledge and Reasoning

Planning

Uncertain Knowledge and ReasoningCommunicating

Robot Control

Alternative “Programming” Paradigms

Neural Networks

Evolutionary Algorithms

Perceiving

Acting

Fuzzy Logic

Symbolic Computation

Page 22: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 23 Prev Next Last

2.9 Computer Graphics

Theoretical CSComputer Graphics

Scientific Visualization

Rendering Techniques

Modelling of 3D ScenesAnimation

Computer Games

Virtual Reality

Page 23: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 24 Prev Next Last

2.10 System Simulation

Theoretical CSSystem Simulation

Self-Organizing Systems and Parallel Computation

High-Performance Programming Techniques

Continuous Simulation

Discrete Simulation

Multi-Level Methods

Numerical Simulation of Fluids

Parallel Finite Elements Algorithms for High-Performance Computers

Simulation in Science and Engineering

Stochastic Simulation and Modeling

Page 24: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 25 Prev Next Last

2.11 Computers and their Environment

Theoretical CSComputers & their Environment

Human-computer interaction

Design of “intelligent” computers Interface design

Page 25: Computer Scince

Research Areas of Computer Science (CS) What is Computer Science? Christian Jacob

First Back TOC 26 Prev Next Last

2.12 Computational “X”

Theoretical CSComputational “X”

Computational Biology, Bioinformatics

Computational Physics

Computational Mechanics

Computational Chemistry

Computational Mathematics

Computer AlgebraSymbolic Computation

Page 26: Computer Scince

New Frontiers of Computing? What is Computer Science? Christian Jacob

First Back TOC 27 Prev Next Last

3 New Frontiers of Computing?

Quantum Computing

DNA Computing

Evolutionary Computing

Agent-based, Distributed Computing

Massively Parallel Computing

Page 27: Computer Scince

Learning the Computers´ Languages What is Computer Science? Christian Jacob

First Back TOC 28 Prev Next Last

4 Learning the Computers´ Languages

I always worked with programming languages because it seemed to me that until you could understand those, you really couldn´t understand computers.

Understanding them doesn´t really mean only being able to use them.

A lot of people can use them without understanding them.

Christopher Strachey (1916-1975)1

1. Christopher Strachey was the first leader of the Programming Research Group (PRG), part of the Oxford University Computing Laboratory (OUCL), founded in 1965. He was the first Professor of Computation at Oxford, succeeded by Tony Hoare in 1977 after his untimely death. With Dana Scott he founded the field of denotational semantics, providing a firm mathematical foundation for programming languages.

Page 28: Computer Scince

Conjuring the Spirits of the Computer … What is Computer Science? Christian Jacob

First Back TOC 29 Prev Next Last

5 Conjuring the Spirits of the Computer …

We are about to study the idea of a computational process.

Computational processes are abstract beings that inhabit computers.

As they evolve, processes manipulate other abstract things called data.

The evolution of a process is directed by a pattern of rules called a program.

People create programs to direct processes.

“In effect, we conjure the spirits of the computer with our spells.”1

1. H. Abelson and G. J. Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1991.