Computing Curricular Report CE2016, A Summary (original) (raw)
Related papers
IEEE-CS/ACM computing curricula: Computer engineering & software engineering volumes
SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 2004
Preface This document was developed through an effort originally commissioned by the ACM Education Board and the IEEE-Computer Society Educational Activities Board to create curriculum recommendations in several computing disciplines: computer science, computer engineering, software engineering and information systems. Other professional societies have joined in a number of the individual projects. Such has notably been the case for the CCSE (Computing Curricula-Software Engineering) project, which has included participation by representatives from the Australian Computer Society, the British Computer Society, and the Information Processing Society of Japan. Development Process The CCSE project has been driven by a Steering Committee appointed by the sponsoring societies. The development process began with the appointment of the Steering Committee cochairs and a number of the other participants in the fall of 2001. More committee members, including representatives from the other societies were added in the first half of 2002. The following are the members of the CCSE Steering Committee:
2004
In the fall of 1998, the Computer Society of the Institute for Electrical and Electronic Engineers (IEEE-CS) and the Association for Computing Machinery (ACM) established the Joint Task Force on Computing Curricula 2001 (CC2001) to undertake a major review of curriculum guidelines for undergraduate programs in computing. The effort was to match the latest developments of computing technologies in the past decade and last through the next decade [1]. The "Computing Curriculum 1991" [2] and other previous efforts of the IEEE-CS and ACM did not distinguish computer science from computer engineering programs. The IEEE-CS and ACM established the Computing Curriculum -Computer Engineering (CCCE) Task Force in 2001 to develop a separate volume on computer engineering curricula to complement the CC2001 report. Other task forces also emerged to prepare separate volumes for computer science, information systems, information technology, and software engineering.
Computing Curricula for the 21st Century
IEEE Distributed Systems Online, 2008
Graduates of computer science (CS) and software engineering (SE) programs are typically employed to develop industry-strength software. Computer engineering (CE) programs focus primarily on computing-system design, often with significant software components. These three programs have different emphases: development of new algorithms versus development of large, complex software systems versus development of small embedded software and device drivers. All three areas require good SE practices.
Computer engineering curriculum in the new millennium
IEEE Transactions on Education, 2003
Currently there is a joint activity (referred to as Computing Curricula 2001, shortened to CC2001) involving the Association for Computing Machinery and the IEEE Computer Society, which is producing curriculum guidance for the broad area of computing. Within this activity, a volume on Computer Engineering is being developed. This volume addresses the important area of the design and development of computers and computer-based systems. Current curricula must be capable of evolving to meet the more immediate needs of students and industry. The purpose of this paper is to look at areas of future development in computer engineering in the next ten years (2013) and beyond and to consider the work of the Computer Engineering volume of CC2001 in this context. Index Terms-Computing Curricula 2001 (CC2001), computer engineering curriculum, IEEE Computer Society (IEEE-CS) and Association for Computing Machinery (ACM), vision for next decade. I. HISTORY I N 1998, the Association for Computing Machinery (ACM) and the Computer Society of the Institute for Electrical and Electronics Engineers (IEEE-CS) convened a joint curriculum task force called Computing Curricula 2001, or CC2001 for short. The CC2001 Task Force was asked to develop a set of curricular guidelines that would match the latest developments of computing technologies in the past decade and endure through the next decade. Over the past 50 years, computing has become an extremely broad designation that extends well beyond the boundaries of computer science to encompass many independent disciplines, including computer engineering, software engineering, information systems, and many others. The final report is planned to be organized into five volumes: Overview, Computer Science, Computer Engineering, Software Engineering, and Information Systems. Of these, the volumes on Computer Science and Information Systems have already been published. The others are in the process of being developed. A committee was established in the beginning of 2001 to define the body of knowledge that constitutes computer engineering as well as to flesh out course outlines to suit different Manuscript
Computer Science Curricula 2023 (CS2023)
2022
A Joint Task Force of the ACM, IEEE-Computer Society, and AAAI commenced work in 2021 to revise the Computer Science curricular guidelines that were last updated in 2013. Planned for publication in 2023, the revised guidelines (CS2023) cover curricular content and curricular practices. Curricular content includes updates to the CS2013 knowledge areas, a new sunflower model of what constitutes core computer science topics, a proposal for packaging knowledge areas into courses, and a competency model of the curriculum. Curricular practices cover computer science program design and delivery issues, including social aspects, professional practices, and programmatic considerations. In the special session, the latest CS2023 draft will be presented and feedback solicited. The session is targeted toward educators, administrators, and professionals interested in computer science curricular issues. CCS CONCEPTS • Social and professional topics → Computer science education; Model curricula.
IEEE-CS/ACM computing curricula
Proceedings of the 35th SIGCSE technical symposium on Computer science education, 2004
Preface This document was developed through an effort originally commissioned by the ACM Education Board and the IEEE-Computer Society Educational Activities Board to create curriculum recommendations in several computing disciplines: computer science, computer engineering, software engineering and information systems. Other professional societies have joined in a number of the individual projects. Such has notably been the case for the CCSE (Computing Curricula-Software Engineering) project, which has included participation by representatives from the Australian Computer Society, the British Computer Society, and the Information Processing Society of Japan. Development Process The CCSE project has been driven by a Steering Committee appointed by the sponsoring societies. The development process began with the appointment of the Steering Committee cochairs and a number of the other participants in the fall of 2001. More committee members, including representatives from the other societies were added in the first half of 2002. The following are the members of the CCSE Steering Committee:
Computer science curricula 2013 (CS2013)
AI Matters, 2015
Cover art by Robert Vizzini 4. CS2013 must provide realistic, adoptable recommendations that provide guidance and flexibility, allowing curricular designs that are innovative and track recent developments in the field. The guidelines are intended to provide clear, implementable goals, while also providing the flexibility that programs need in order to respond to a rapidly changing field. CS2013 is intended as guidance, not as a minimal standard against which to evaluate a program. 5. The CS2013 guidelines must be relevant to a variety of institutions. Given the wide range of institutions and programs (including 2-year, 3-year, and 4-year programs; liberal arts, technological, and research institutions; and institutions of every size), it is neither possible nor desirable for these guidelines to dictate curricula for computing. Individual programs will need to evaluate their constraints and environments to construct curricula. 6. The size of the essential knowledge must be managed. While the range of relevant topics has expanded, the size of undergraduate education has not. Thus, CS2013 must carefully choose among topics and recommend the essential elements. 7. Computer science curricula should be designed to prepare graduates to succeed in a rapidly changing field. Computer Science is rapidly changing and will continue to change for the foreseeable future. Curricula must prepare students for lifelong learning and must include professional practice (e.g., communication skills, teamwork, ethics) as components of the undergraduate experience. Computer science students must learn to integrate theory and practice, to recognize the importance of abstraction, and to appreciate the value of good engineering design. 8. CS2013 should identify the fundamental skills and knowledge that all computer science graduates should possess while providing the greatest flexibility in selecting topics. To this end, we have introduced three levels of knowledge description: Tier-1 Core, Tier-2 Core, and Elective. For a full discussion of Tier-1 Core, Tier-2 Core, and Elective, see Chapter 4: Introduction to the Body of Knowledge. 9. CS2013 should provide the greatest flexibility in organizing topics into courses and curricula. Knowledge areas are not intended to describe specific courses. There are many-22-novel, interesting, and effective ways to combine topics from the Body of Knowledge into courses. 10. The development and review of CS2013 must be broadly based. The CS2013 effort must include participation from many different constituencies including industry, government, and the full range of higher education institutions involved in computer science education. It must take into account relevant feedback from these constituencies. Chapter 3: Characteristics of Graduates Graduates of computer science programs should have fundamental competency in the areas described by the Body of Knowledge (see Chapter 4), particularly the core topics contained there. However, there are also competences that graduates of CS programs should have that are not explicitly listed in the Body of Knowledge. Professionals in the field typically embody a characteristic style of thinking and problem solving, a style that emerges from the experiences obtained through study of the field and professional practice. Below, we describe the characteristics that we believe should be attained at least at an elementary level by graduates of computer science programs. These characteristics will enable their success in the field and further professional development. Some of these characteristics and skills also apply to other fields. They are included here because the development of these skills and characteristics should be explicitly addressed and encouraged by computer science programs. This list is based on a similar list in CC2001 and CS2008. The substantive changes that led to this new version were influenced by responses to a survey conducted by the CS2013 Steering Committee. At a broad level, the expected characteristics of computer science graduates include the following: Technical understanding of computer science Graduates should have a mastery of computer science as described by the core of the Body of Knowledge. Familiarity with common themes and principles Graduates need understanding of a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency. Graduates should recognize that these themes and principles have broad application to the field of computer science and should not consider them as relevant only to the domains in which they were introduced.-24-Appreciation of the interplay between theory and practice A fundamental aspect of computer science is understanding the interplay between theory and practice and the essential links between them. Graduates of a computer science program need to understand how theory and practice influence each other. System-level perspective Graduates of a computer science program need to think at multiple levels of detail and abstraction. This understanding should transcend the implementation details of the various components to encompass an appreciation for the structure of computer systems and the processes involved in their construction and analysis. They need to recognize the context in which a computer system may function, including its interactions with people and the physical world. Problem solving skills Graduates need to understand how to apply the knowledge they have gained to solve real problems, not just write code and move bits. They should to be able to design and improve a system based on a quantitative and qualitative assessment of its functionality, usability and performance. They should realize that there are multiple solutions to a given problem and that selecting among them is not a purely technical activity, as these solutions will have a real impact on people's lives. Graduates also should be able to communicate their solution to others, including why and how a solution solves the problem and what assumptions were made. Project experience To ensure that graduates can successfully apply the knowledge they have gained, all graduates of computer science programs should have been involved in at least one substantial project. In most cases, this experience will be a software development project, but other experiences are also appropriate in particular circumstances. Such projects should challenge students by being integrative, requiring evaluation of potential solutions, and requiring work on a larger scale than typical course projects. Students should have opportunities to develop their interpersonal communication skills as part of their project experience. Commitment to lifelong learning Graduates should realize that the computing field advances at a rapid pace, and graduates must possess a solid foundation that allows and encourages them to maintain relevant skills as the-25-field evolves. Specific languages and technology platforms change over time. Therefore, graduates need to realize that they must continue to learn and adapt their skills throughout their careers. To develop this ability, students should be exposed to multiple programming languages, tools, paradigms, and technologies as well as the fundamental underlying principles throughout their education. In addition, graduates are now expected to manage their own career development and advancement. Graduates seeking career advancement often engage in professional development activities, such as certifications, management training, or obtaining domain-specific knowledge. Commitment to professional responsibility Graduates should recognize the social, legal, ethical, and cultural issues inherent in the discipline of computing. They must further recognize that social, legal, and ethical standards vary internationally. They should be knowledgeable about the interplay of ethical issues, technical problems, and aesthetic values that play an important part in the development of computing systems. Practitioners must understand their individual and collective responsibility and the possible consequences of failure. They must understand their own limitations as well as the limitations of their tools. Communication and organizational skills Graduates should have the ability to make effective presentations to a range of audiences about technical problems and their solutions. This may involve face-to-face, written, or electronic communication. They should be prepared to work effectively as members of teams. Graduates should be able to manage their own learning and development, including managing time, priorities, and progress. Awareness of the broad applicability of computing Platforms range from embedded micro-sensors to high-performance clusters and distributed clouds. Computer applications impact nearly every aspect of modern life. Graduates should understand the full range of opportunities available in computing. Appreciation of domain-specific knowledge Graduates should understand that computing interacts with many different domains. Solutions to many problems require both computing skills and domain knowledge. Therefore, graduates need synchronization, performance measurement, or computer security, in addition to topics more specifically related to operating systems. Consequently, such courses will likely draw on material in several Knowledge Areas. Certain fundamental systems topics like latency or parallelism will likely arise in many places in a curriculum. While it is important that such topics do arise, preferably in multiple settings, the Body of Knowledge does not specify the particular settings in which to teach such topics. The course exemplars in Appendix C show multiple ways that such material may be organized into courses. • Parallel computing: Among the changes to the Body of Knowledge from previous reports is a...