Chapter 3: What is Computer Science? 1 What is Computer Science? 3 2 Research Areas of Computer Science (CS) 9 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 TOC Christian Jacob Theoretical Computer Science Programming Languages Computer Structures Operating Systems Pattern Recognition Database Systems Communication Systems Artificial Intelligence Computer Graphics System Simulation Computers and their Environment Computational “X” 15 16 17 18 19 20 21 22 23 24 25 26 3 New Frontiers of Computing? 27 4 Learning the Computers´ Languages 28 5 Conjuring the Spirits of the Computer … 29 1 Back What is Computer Science? What is Computer Science? 1 What is Computer Science? First Back TOC 3 Christian Jacob Prev Next Last What is Computer Science? 1 What is Computer Science? Christian Jacob What is Computer Science? to compute: (French computer or Latin computare; as COM-, putare ´reckon´) Computer Science = Science of how to Calculate ??? First Back TOC 4 Prev Next Last What is Computer Science? 1 What is Computer Science? Christian Jacob 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) First Back TOC 5 Prev Next Last What is Computer Science? What is Computer Science? 1 Christian Jacob 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 program1 1. The Concise Oxford Dictionary, Ninth Edition First Back TOC 6 Prev Next Last What is Computer Science? What is Computer Science? 1 Christian Jacob 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 program1 Computers are machines for the processing of information: - storage - retrieval - analyzation -generation - transformation -… 1. The Concise Oxford Dictionary, Ninth Edition First Back TOC 7 Prev Next Last What is Computer Science? What is Computer Science? Christian Jacob Computer Science = Science of Processing Information by Computers = Informatics First Back TOC 8 Prev Next Last Research Areas of Computer Science (CS) 2 What is Computer Science? Christian Jacob Research Areas of Computer Science (CS) Theoretical CS Programming Languages First Back TOC 9 Prev Next Last Research Areas of Computer Science (CS) 2 What is Computer Science? Christian Jacob Research Areas of Computer Science (CS) Theoretical CS Programming Languages Communication Systems Operating Systems Computer Structures First Back TOC 10 Prev Next Last Research Areas of Computer Science (CS) 2 What is Computer Science? Christian Jacob Research Areas of Computer Science (CS) Theoretical CS Programming Languages Communication Systems Operating Systems Computer Structures Computers & their Environment First Back TOC 11 Prev Next Last Research Areas of Computer Science (CS) 2 What is Computer Science? Christian Jacob Research Areas of Computer Science (CS) Computer Graphics Theoretical CS System Simulation Database Systems Programming Languages Communication Systems Operating Systems Computer Structures Computers & their Environment First Back TOC 12 Prev Next Last Research Areas of Computer Science (CS) 2 What is Computer Science? Christian Jacob Research Areas of Computer Science (CS) Computer Graphics Artificial Intelligence Computational “X” Theoretical CS System Simulation Database Systems Pattern Recognition Programming Languages Communication Systems Operating Systems Computer Structures Computers & their Environment First Back TOC 13 Prev Next Last Research Areas of Computer Science (CS) 2 What is Computer Science? Christian Jacob Research Areas of Computer Science (CS) New Frontiers … Computer Graphics Artificial Intelligence Computational “X” Theoretical CS System Simulation Database Systems Pattern Recognition Programming Languages Communication Systems Operating Systems Computer Structures Computers & their Environment First Back TOC 14 Prev Next Last Research Areas of Computer Science (CS) 2.1 What is Computer Science? Christian Jacob Theoretical Computer Science Automata Theory Formal Languages Grammars Theoretical CS Computability Coding Theory Complexity First Back TOC 15 Prev Next Last What is Computer Science? Research Areas of Computer Science (CS) 2.2 Christian Jacob Programming Languages Modern programming languages and concepts Procedural … Functional … Rule-based … Object-oriented Programming Grammars Visual programming Programming Languages Theoretical CS Syntax analysis Genetic programming Software Engineering Compilers Interpreters Soft computing: Debuggers Code optimization - neural networks - fuzzy systems - evolutionary algorithms Efficient Algorithms First Back TOC 16 Prev Next Last Research Areas of Computer Science (CS) 2.3 What is Computer Science? Christian Jacob Computer Structures Multi-processing systems Massively parallel computing architectures New Computer Architectures Computer Structures Theoretical CS Alternative Computing Environments Distributed computer architectures Fault-tolerant computing systems Massively Parallel Computer Architectures First Back TOC 17 Prev Next Last Research Areas of Computer Science (CS) 2.4 What is Computer Science? Christian Jacob Operating Systems Quasi-Parallel Computation Computational Processes Time-shared Processing System Processes Multi-Threaded Processing Operating Systems Theoretical CS Multi-User Processing Resource Allocation Synchronisation Resource Sharing Object-oriented Distributed Control Multiprocessor and Network Configurations First Back TOC 18 Prev Next Last Research Areas of Computer Science (CS) 2.5 What is Computer Science? Christian Jacob Pattern Recognition Image Analysis Computer Vision Data Mining Voice Recognition Theoretical CS Pattern Recognition Speech Recognition Knowledge Processing Speech Understanding First Back TOC 19 Prev Next Last Research Areas of Computer Science (CS) 2.6 What is Computer Science? Christian Jacob Database Systems Information Storage and Retrieval Distributed Database Systems Data Mining Database Systems Theoretical CS Sorting Searching Scientific Database Management Electronic Trading Workflow Management E-commerce First Back TOC 20 Prev Next Last Research Areas of Computer Science (CS) 2.7 What is Computer Science? Christian Jacob Communication Systems SIMD Machines Simple Input Multiple Data Design and Evaluation of MIMD Machines: Multiple Input Multiple Data Communication Networks Communication Theoretical Systems CS Performance evaluation Analytical Simulation Measurement Techniques Unconventional Computer Architectures First Back TOC 21 Prev Next Last Research Areas of Computer Science (CS) 2.8 What is Computer Science? Christian Jacob Artiļ¬cial Intelligence Machine Learning Knowledge and Reasoning Uncertain Knowledge and Reasoning Communicating Perceiving Acting Planning Theoretical CS Artificial Intelligence Robot Control Fuzzy Logic Neural Networks Alternative “Programming” Paradigms Evolutionary Algorithms Symbolic Computation First Back TOC 22 Prev Next Last What is Computer Science? Research Areas of Computer Science (CS) 2.9 Christian Jacob Computer Graphics Scientific Visualization Rendering Techniques Virtual Reality Theoretical CS Computer Graphics Modelling of 3D Scenes Animation Computer Games First Back TOC 23 Prev Next Last What is Computer Science? Research Areas of Computer Science (CS) 2.10 Christian Jacob System Simulation Simulation in Science and Engineering Discrete Simulation Continuous Simulation Stochastic Simulation and Modeling System Theoretical Simulation CS Multi-Level Methods Self-Organizing Systems and Parallel Computation High-Performance Programming Techniques Numerical Simulation of Fluids Parallel Finite Elements First Back TOC Algorithms for High-Performance Computers 24 Prev Next Last Research Areas of Computer Science (CS) 2.11 What is Computer Science? Christian Jacob Computers and their Environment Human-computer interaction Theoretical CS Computers & their Environment Interface design Design of “intelligent” computers First Back TOC 25 Prev Next Last Research Areas of Computer Science (CS) 2.12 What is Computer Science? Christian Jacob Computational “X” Computational Biology, Bioinformatics Computational Physics Computational Mechanics Theoretical CS Computational “X” Computational Chemistry Computational Mathematics Symbolic Computation Computer Algebra First Back TOC 26 Prev Next Last New Frontiers of Computing? 3 What is Computer Science? Christian Jacob New Frontiers of Computing? Quantum Computing DNA Computing Evolutionary Computing Agent-based, Distributed Computing Massively Parallel Computing … First Back TOC 27 Prev Next Last Learning the Computers´ Languages 4 What is Computer Science? Christian Jacob 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. First Back TOC 28 Prev Next Last Conjuring the Spirits of the Computer … 5 What is Computer Science? Christian Jacob 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. First Back TOC 29 Prev Next Last