Basic Classification
Computer science is a discipline that encompasses a fairly broad branch of science, from basic theories problems to technological applications. The classification of Computer Science Dennings usually refer to the matrix, which is one of the classification matrix of Computer Science created by Peter J. Dennings [1] [2].
This classification is undergoing some refurbishment, where the latest version is the 1999 version [2] [3]. In the final version of the computer science is divided into 12 subfields (the previous version is 9 subfields). 12 subfields of Computer Science are:
Algoritma dan Struktur Data
(Algorithms and Data Structures)
|
Bahasa Pemrograman
(Programming Languages)
|
Arsitektur
(Architecture)
|
Sistem Operasi dan Jaringan
(Operating Systems and Networks)
|
Software Engineering
|
Database dan Sistim Retrieval Informasi
(Database and Information Retrieval Systems)
|
Artificial Intelligence dan Robotik
(Artificial Intelligence and Robotics)
|
Grafik
(Graphics)
|
Human Computer Interaction
|
Ilmu Komputasi
(Computational Sciences)
|
Organizational Informatics
|
BioInformatik
(BioInformatics)
|
Dennings give special note to the new field of bioinformatics as a field that is a combination of Computer Science and Biology, and is currently experiencing significant growth.
Then along with the increase of science and technology, there is a possibility of this matrix will have improved again in days to come. Rows in the matrix Denning describes the fields in computer science. While the columns of the matrix illustrates the paradigm of these areas, which is reflected in three ways: Theory (Theory), Abstract (Abstraction), and Design (Design).
• Theory: is based on a mathematical approach, whereby to obtain a valid theory, must go through the following processes:
1. Definition (definition)
2. Manufacture theorem (theorem)
3. Evidence (proof)
4. Penginterpretasian results (interpret result)
• Abstract or modeling (modeling), is based on scientific experimental method, in which the conduct invesitigasi against a phenomenon, must go through the following processes:
1. The hypothesis form (form a hypothesis)
2. Making a model and make predictions (a construct models and make a predition)
3. Designing experiments and collecting data (design an experiment and collect data)
4. Analyze the results (analyze results)
• Design: is based on pendekatann engineering (engineering), which at the time of designing a system or device to solve the problem, must go through the following processes:
1. Stated requirements (state requirements),
2. Stated specification (state specifications)
3. Undertake the design and implementation of the system (design and implement the system)
4. Conduct testing of the system (the system test)
From the above, we can understand that it is engaged in computer science research problems will be a lot to do with the first two columns of the matrix (Theory and Abstraction). While engaged in the more technical issues using engineering approach, will be more involved in the scope of the last two columns matrix (Abstraction and Design).
Classification of Computer Science
Summarize the complete classification of computer science by Matrix Denning 1999 version is as below. The author deliberately make improvements, translation, and the cutting, to further facilitate the understanding of the classification of the computer science.
|
Teori
|
Abstraksi
|
Desain
|
|
Algoritma dan Struktur Data
|
Teori
Komputabilitas
|
Algoritma
Paralel dan Terdistribusi
|
Program
Aplikasi
|
|
Teori
Komputasi Kompleks
|
|
Komputasi Paralel
|
Algoritma Efisien dan Optimal
|
|
Teori Graf
|
|
Kriptografi
|
|
Algoritma dan Teori Probabilistik
|
|
Bahasa Pemrograman
|
Bahasa
Formal dan Automata
|
BNF
|
Bahasa
Pemrograman
|
|
Turing
Machines
|
|
Metode
Parsing, Compiling, Interpretation
|
|
Formal
Semantics
|
Translator,
Kompiler, Interpreter
|
|
Arsitektur
|
Aljabar
Boolean
|
Arsitektur
Nueman
|
Produk
Hardware (PC, Superkomputer, Mesin Von Neumann)
|
|
Teori
Coding
|
Hardware
Reliability
|
|
Teori
Switching
|
Finite State Machine
|
Sistem
CAD dan Simulasi Logika
|
|
Teori Finite State
Machine
|
Model
Sirkuit, Data Path, Struktur Kontrol
|
|
Sistem Operasi dan Jaringan
|
Teori
Concurrency
|
Manajemen
Memori, Job Scheduling
|
Produk
OS (UNIX, Windows, Mach, dsb)
|
|
Teori
Scheduling
|
Model
Komputer Terdistribusi
|
File
dan File Sistem
|
|
Teori
Manajemen Memori
|
Networking
(Protokol, Naming, dsb)
|
Pustaka
untuk Utilities (Editor, Formatter, Linker, dsb)
|
|
Software Engineering
|
Teori
Reliability
|
Metode
Spesifikasi
|
Bahasa
Spesifikasi
|
|
Program
Verification and Proof
|
Metode
Otomatisasi Pengembangan Program
|
Metodologi
Pengembangan Software
|
|
Temporal
Logic
|
Tool
Pengembangan Software
|
Tool
untuk Pengembangan Software
|
|
Database dan Sistim Retrieval Informasi
|
Relational
Aljabar dan Kalkulus
|
Data
Model
|
Teknik
Pendesainan Database (Relational, Hierarchical, Network, dsb)
|
|
Teori
Dependency
|
|
Teori Concurrency
|
Skima Database
|
Teknik Pendesainan Database Sistem (Ingres, Dbase,
Oracle, dsb)
|
|
Performance Analysis
|
|
Sorting dan Searching
|
Representasi File untu Retrieval
|
Hypertext System
|
|
Statistical Inference
|
|
Artificial Intelligence dan Robotik
|
Teori
Logika
|
Knowledge
Representation
|
Logic
Programming (Prolog)
|
|
Semantik
dan Sintatik Model untuk Natural Language
|
Metode
Pencarian Heuristic
|
Neural
Network
|
|
Conceptual
Dependency
|
Model
Reasoning dan Learning
|
Sistem
Pakar
|
|
Kinematics
and Dynamics of Robot Motion
|
Model
Memori Manusia, Autonomous Learning
|
Teknik
Pendesaian Software untuk Logic Programming
|
|
Grafik
|
Teori
Grafik dan Warna
|
Algoritma
Komputer Grafik
|
Pustaka
untuk Grafik
|
|
Geometri
Dimensi Dua atau Lebih
|
Model
untuk Virtual Reality
|
Grafik
Standar
|
|
Teori
Chaos
|
Metode
Komputer Grafik
|
Image
Enhacement System
|
|
Human Computer Interaction
|
Risk
Analysis
|
Pattern
Recognition
|
Flight
Simulation
|
|
Cognitive
Psychology
|
Sistem
CAD
|
Usability
Engineering
|
|
Ilmu Komputasi
|
Number
Theory
|
Discrete
Approximations, Fast Fourier Transform and Poisson Solvers
|
Pustaka
dan Paket untuk Tool Penelitian (Chem, Macsyma, Mathematica, Maple, Reduce,
dsb)
|
|
Binary
Representation
|
Backward
Error Propagation
|
|
Teori
Quantum
|
Finite
Element Models,
|
|
Organizational Informatics
|
Organizational
Science
|
Model
dan Simlasi berhubungan dengan organizational informatics
|
Management
Information Systems
|
|
Decision
Support Systems
|
|
Decision
Sciences
|
|
Organizational
Dynamics
|
|
Bioinformatik
|
Teori
Komputasi
|
Model
Komputasi DNA Kimia
|
Organic
Memory Devices
|
|
Ilmu
Biologi
|
Protipe
Retina dari Silikon
|
Proyek
Database Genom Manusia
|
|
Medicine
|
Model
Database Genom Manusia
|
Analisa
Komputer Terhadap Struktur Enzim untuk Kesehatan
|
|
|
ACM Computing Classification System (CCS)
Association for Computing Machinary (ACM) as a scientific association in the world's oldest computer field also devised a classification system for the field of computing (computing), which is known as the ACM Computing Classification System (CSS). ACM Computing Classification System is divided into three levels, which is similar to the preparation system to the Dewey Decimal Classification System (DCC) which is currently used as a standard preparation of the catalog of books in libraries. This classification system is divided into three, based on years of issuance. Detailed classification is as below.
1. Classification System 1998
2. Classification System 1991
3. Classification System 1964
Referensi
- Peter Denning, et al.,
"Computing as a Discipline," Communications of ACM,
32, 1 (January), 9-23, 1989.
- Peter Denning, "Computer
Science: the Discipline," In Encyclopedia of Computer Science
(A. Ralston and D. Hemmendinger, Eds), 1999.
- A. Tucker, Jr. and P.
Wegner, "Computer Science and Engineering: the Discipline and Its
Impact," In Handbook of Computer Science and Engineering,
CRC Press, Chapter 1, 1996.