3 Areas of computer science
3.1 Theoretical computer science
3.1.1 Theory of computation
3.1.2 Information and coding theory
3.1.3 Algorithms and data structures
3.1.4 Programming language theory
3.1.5 Formal methods
3.2 Applied computer science
3.2.1 Artificial intelligence
3.2.2 Computer architecture and engineering
3.2.3 Computer Performance Analysis
3.2.4 Computer graphics and visualization
3.2.5 Computer security and cryptography
3.2.6 Computational science
3.2.7 Computer networks
3.2.8 Concurrent, parallel and distributed systems
3.2.9 Databases
3.2.10 Health informatics
3.2.11 Information science
3.2.12 Software engineering