As the field of computing has grown and diversified, so too have the curricular recommendations. This document represents a comprehensive revision, redefines the knowledge units in CS, rethinking the essentials necessary for a Computer Science curriculum. It also seeks to identify exemplars of actual courses and programs to provide concrete guidance on curricular structure and development in a variety of institutional contexts.
The development of curricular guidelines for Computer Science is a particularly challenging given the rapid evolution and expansion of the field: material dates fast. Moreover, the growing diversity of topics in Computer Science and the increasing integration of computing with other disciplines create additional challenges. Balancing topical growth with the need to keep recommendations realistic and implementable in the context of graduate education is particularly difficult. As a result, it is important to engage the broader computer science education community in a dialog to better understand new opportunities, local needs, and to identify successful models of computing curriculum – whether established or novel.
Accordingly, this curriculum is intended to meet the need for an updated and modern curriculum in computer science. Increasing numbers of universities and students especially those in the computer sciences, and in more mature disciplines, it is commonly accepted that, at this critical point in the curriculum, it is important to challenge students with fundamental intellectual issues while surveying the field.
While its primary purpose is to serve as a curriculum for 4 years BCS students, it may also serve as a broad guide to the field that may be of interest to other discipline who has not been exposed to computer science.