CS2023 is the latest version of computer science curricular guidelines, produced by a joint task force of the ACM, IEEE Computer Society, and AAAI. The following is a summary of significant issues of the day and how they have been addressed in CS2023 curricular guidelines:
The discipline continues to evolve. The Body of Knowledge consisting of seventeen knowledge areas has been revised and updated.
The discipline continues to grow. Topics that every graduate must know have been circumscribed as CS Core and kept to a minimum. Topics recommended for in-depth study have been labeled KA Core.
It is increasingly difficult for programs to be all things to all people. Programs can now select the knowledge areas on which to focus. The knowledge areas, when coherently chosen, define the competency area(s) of the program.
Societal and ethical concerns have risen sharply. The Society, Ethics, and the Profession (SEP) knowledge area is now an integral part of most knowledge areas of the curriculum.
The role of mathematics has increased. Additional hours have been allocated to mathematics and flexibility has been provided for coverage of the requirements in the curriculum.
The need for professional dispositions is increasingly being recognized. Professional dispositions appropriate for each knowledge area have been listed and justified.
Interest is growing among educators in a competency model of the curriculum. A Competency Framework has been provided for programs to create their own competency model of the curriculum tailored to local needs.
Generative AI is poised to impact computer science education. A chapter has been included that addresses how Generative AI could propel further innovation in computer science education.
The CS2023 knowledge model consists of 17 knowledge areas, listed in alphabetical order of their abbreviation:
- Artificial Intelligence (AI)
- Algorithmic Foundations (AL)
- Architecture and Organization (AR)
- Data Management (DM)
- Foundations of Programming Languages (FPL)
- Graphics and Interactive Techniques (GIT)
- Networking and Communication (NC)
- Operating Systems (OS)
- Parallel and Distributed Computing (PDC)
- Software Development Fundamentals (SDF)
- Software Engineering (SE)
- Security (SEC)
- Society, Ethics, and the Profession (SEP) 30
- Human-Computer Interaction (HCI)
- Mathematical and Statistical Foundations (MSF)
- Systems Fundamentals (SF)
- Specialized Platform Development (SPD)
- A knowledge model of a curriculum is structured as a set of knowledge areas: Knowledge model = { Knowledge areas }
- A knowledge area is a set of related knowledge units: Knowledge area = { Knowledge units }
- A knowledge unit is a set of related topics and a set of learning outcomes for those topics: Knowledge unit = { Topics } + { Learning outcomes }
The subset of knowledge areas on which a curriculum is focused, when coherently chosen, defines the competency area(s) of the curriculum.
Competency area ⊆ Knowledge model.
Three representative competency areas are presented in CS2023:
- Software Development – the knowledge areas that prepare a student to be a journeyman programmer. These include Software Development Fundamentals (SDF), Algorithmic Foundations (AL), Foundations of Programming Languages (FPL), and Software Engineering (SE) knowledge areas.
- Systems Development – the knowledge areas that prepare a student to provide essential services including non-functional requirements. These include Systems Fundamentals (SF), Architecture and Organization (AR), Operating Systems (OS), Parallel and Distributed Computing (PDC), Networking and Communication (NC), Security (SEC), and Data Management (DM).
- Applications Development – the knowledge areas that prepare a student with problem-specific or solution-specific knowledge in addition to software development. These include Graphics and Interactive Techniques (GIT), Artificial Intelligence (AI), Specialized Platform Development (SPD), Human-Computer Interaction (HCI), Security (SEC), and Data Management (DM).
Society, Ethics, and the Profession (SEP) and Mathematical and Statistical Foundations (MSF) are part of all competency areas. Note that the Software competency area is a prerequisite of the other two competency areas. This list of competency areas is meant to be neither prescriptive nor comprehensive. Other competency area(s) may be based on institutional mission and local needs. Examples include Computing for the social good, Scientific computing, and Secure computing.
Professional dispositions are malleable values, beliefs, and attitudes that enable consistent behaviors desirable in the workplace [...] they refer to the willingness and intent to apply the skills to complete a task. They are sought by employers and are essential for succeeding in the workplace. [...] student’s development than others, e.g., being persistent is essential at introductory levels, whereas Some dispositions are more important at certain stages in a dispositions with knowledge areas instead of individual tasks makes it easier for educators to being self-directed is expected at advanced levels of study. Group projects call for collaborative knowledge area. disposition whereas mathematical foundations demand meticulous disposition. So, associating repeatedly and consistently promote dispositions during the accomplishment of tasks relevant to the
The free availability of a variety of big data presents an invaluable opportunity for educators to scale assignments and projects and use real-life problems in their courses to better motivate students.
Computational thinking is now considered the fourth basic skill alongside reading, writing and arithmetic. This provides an opportunity for computer science programs to offer courses for non- majors, both as a service and a recruiting tool. Similarly, interdisciplinary options (CS + X) provide opportunities for computer science educators to collaborate and create programs that will also enhance the learning experience of computer science students. Resource availability is the primary constraint for availing both these worthwhile opportunities.
Computer Science education research has lately been gathering momentum. It is now a mainstream area of doctoral research. Professional conferences catering to it are increasing in number and ranking. This portends well for computer science education by providing a feedback loop for improvement that could not have come sooner. It signals the maturing of computer science education.
Generative AI, like other emerging technologies, has the potential to revolutionize computer science education. It will impact course content, pedagogy, and assessment techniques. Harnessing generative AI in service of the goals of formal education will be one of the most significant challenges for the community over the next few years.
Theoretical and mathematical underpinnings make computer science a science. They are essential for long-term career success whereas tools and technologies prepare students for immediate employability. Striking the right balance between these dual objectives will continue to be a challenge, given the increasing need for mathematics in computer science (e.g., in machine learning) and often inadequate mathematical preparation of students entering computer science programs.