Category:ACM Body of Knowledge
From Foss2Serve
Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, (CS2013) developed by the ACM/IEEE Joint Task Force on Computing Curricula, describes the body of knowledge needed for a CS curriculum, course exemplars, and other guidelines. Similar guidelines are available for Computer Engineering, Information Systems, Information Technology, and Software Engineering.
CS2013 identifies a set of knowledge areas, divided into sub-areas, each with topics and learning outcomes for Core-Tier1, Core-Tier2, and electives. CS2013 Body of Knowledge
AL - Algorithms and Complexity
- AL Basic Analysis
- AL Algorithmic Strategies
- AL Fundamental Data Structures and Algorithms
- AL Basic Automata Computability and Complexity
- AL Advanced Computational Complexity
- AL Advanced Automata Theory and Computability
- AL Advanced Data Structures Algorithms and Analysis
AR - Architecture and Organization
- AR Digital Logic and Digital Systems
- AR Machine Level Representation of Data
- AR Assembly Level Machine Organization
- AR Memory System Organization and Architecture
- AR Interfacing and Communication
- AR Functional Organization
- AR Multiprocessing and Alternative Architectures
- AR Performance Enhancements
CN - Computational Science
- CN Introduction to Modeling and Simulation
- CN Modeling and Simulation
- CN Processing
- CN Interactive Visualization
- CN Data, Information, and Knowledge
- CN Numerical Analysis
DS - Discrete Structures
- DS Sets, Relations, and Functions
- DS Basic Logic
- DS Proof Techniques
- DS Basics of Counting
- DS Graphs and Trees
- DS Discrete Probability
GV - Graphics and Visualization
- GV Fundamental Concepts
- GV Basic Rendering
- GV Geometric Modeling
- GV Advanced Rendering
- GV Computer Animation
- GV Visualization
HCI - Human-Computer Interaction
- HCI Foundations
- HCI Designing Interaction
- HCI Programming Interactive Systems
- HCI User-centered Design and Testing
- HCI New Interactive Technologies
- HCI Collaboration and Communication
- HCI Statistical Methods for HCI
- HCI Human factors and Security
- HCI Design-oriented HCI
- HCI Mixed, Augmented and Virtual Reality
IAS - Information Assurance and Security
- IAS Foundational Concepts in Security
- IAS Principles of Secure Design
- IAS Defensive Programming
- IAS Threats and Attacks
- IAS Network Security
- IAS Cryptography
- IAS Web Security
- IAS Platform Security
- IAS Security Policy and Governance
- IAS Digital Forensics
- IAS Secure Software Engineering
IM - Information Management
- IM Information Management Concepts
- IM Database Systems
- IM Data Modeling
- IM Indexing
- IM Relational Databases
- IM Query Languages
- IM Transaction Processing
- IM Distributed Databases
- IM Physical Database Design
- IM Data Mining
- IM Information Storage and Retrieval
- IM Multimedia Systems
IS - Intelligent Systems
- IS Fundamental Issues
- IS Basic Search Strategies
- IS Basic Knowledge Representation and Reasoning
- IS Basic Machine Learning
- IS Advanced Search
- IS Advanced Representation and Reasoning
- IS Reasoning Under Uncertainty
- IS Agents
- IS Natural Language Processing
- IS Advanced Machine Learning
- IS Robotics
- IS Perception and Computer Vision
NC - Networking and Communications
- NC Introduction
- NC Networked Applications
- NC Reliable Data Delivery
- NC Routing and Forwarding
- NC Local Area Networks
- NC Resource Allocation
- NC Mobility
- NC Social Networking
OS - Operating Systems
- OS Overview of Operating Systems
- OS Operating System Principles
- OS Concurrency
- OS Scheduling and Dispatch
- OS Memory Management
- OS Security and Protection
- OS Virtual Machines
- OS Device Management
- OS File Systems
- OS Real Time and Embedded Systems
- OS Fault Tolerance
- OS System Performance Evaluation
PBD - Platform-based Development
- PBD Introduction
- PBD Web Platforms
- PBD Mobile Platforms
- PBD Industrial Platforms
- PBD Game Platforms
PD - Parallel and Distributed Computing
- PD Parallelism Fundamentals
- PD Parallel Decomposition
- PD Communication and Coordination
- PD Parallel Algorithms, Analysis, and Programming
- PD Parallel Architecture
- PD Parallel Performance
- PD Distributed Systems
- PD Cloud Computing
- PD Formal Models and Semantics
PL - Programming Languages
- PL Object-Oriented Programming
- PL Functional Programming
- PL Event-Driven and Reactive Programming
- PL Basic Type Systems
- PL Program Representation
- PL Language Translation and Execution
- PL Syntax Analysis
- PL Compiler Semantic Analysis
- PL Code Generation
- PL Runtime Systems
- PL Static Analysis
- PL Advanced Programming Constructs
- PL Concurrency and Parallelism
- PL Type Systems
- PL Formal Semantics
- PL Language Pragmatics
- PL Logic Programming
SDF - Software Development Fundamentals
- SDF Algorithms and Design
- SDF Fundamental Programming Concepts
- SDF Fundamental Data Structures
- SDF Development Methods
SE - Software Engineering
- SE Software Processes
- SE Software Project Management
- SE Tools and Environments
- SE Requirements Engineering
- SE Software Design
- SE Software Construction
- SE Software Verification Validation
- SE Software Evolution
- SE Software Reliability
- SE Formal Methods
SF - Systems Fundamentals
- SF Computational Paradigms
- SF Cross-Layer Communications
- SF State and State Machines
- SF Parallelism
- SF Evaluation
- SF Resource Allocation and Scheduling
- SF Proximity
- SF Virtualization and Isolation
- SF Reliability through Redundancy
- SF Quantitative Evaluation
SP - Social Issues and Professional Practice
- SP Social Context
- SP Analytical Tools
- SP Professional Ethics
- SP Intellectual Property
- SP Privacy and Civil Liberties
- SP Professional Communication
- SP Sustainability
- SP History
- SP Economies of Computing
- SP Security Policies
Subcategories
This category has the following 3 subcategories, out of 3 total.