The ACM Computing Curricula 2005[2] and 2020[1] defined "computing" as follows:
ACM also defines seven sub-disciplines of the computing field:[1]
- Computer engineering.
- Computer science.
- Cybersecurity.
- Data science.
- Information systems.
- Information technology.
- Software engineering.
High-level Themes
- The “Big Tent” view of CS. “Computational X”
- Managing the size of the curriculum.
- Actual course exemplars. CS2013 takes a different approach: we identify and describe existing successful courses and curricula to show how relevant knowledge units are addressed and incorporated in actual programs.
- Institutional needs. CS2013 aims to be applicable in a broad range of geographic and cultural contexts, understanding that curricula exist within specific institutional needs, goals, and resource constraints.
Knowledge Areas
- AL - Algorithms and Complexity
- AR - Architecture and Organization
- CN - Computational Science
- DS - Discrete Structures
- GV - Graphics and Visualization
- HCI - Human-Computer Interaction
- IAS - Information Assurance and Security
- IM - Information Management
- IS - Intelligent Systems
- NC - Networking and Communications
- OS - Operating Systems
- PBD - Platform-based Development
- PD - Parallel and Distributed Computing
- PL - Programming Languages
- SDF - Software Development Fundamentals
- SE - Software Engineering
- SF - Systems Fundamentals
- SP - Social Issues and Professional Practice
Professional Practice
Students will gain some soft skills and personal attributes through the general college experience (e.g., patience, time management, work ethic, and an appreciation for diversity), and others through specific curricula.