Chapter five
From CS2001 Wiki
Chapter five
Course considerations
Contents |
5.1 The core
In the original CS2001 report the concept of the core was seen as referring to ‘those units required of all students in all computer science degree programs’. This was not seen as a complete curriculum but it identified those topics deemed to provide an essential base on which other courses could build. A key requirement was to keep the core as small as reasonably possible; in the event it ran to some 280 hrs. Keeping it small would facilitate a greater element of choice for students as they sough to complete their programs of study.
In this revision (CS2008) the concept of the core remains. As a result of changes, there are indeed adjustments to the content and to the size of the core. Some material has been removed and other considerations (such as the attention to security matters) have resulted in material being added. The core remains at a comparable size of 280 hours. (In keeping with CS2001 and earlier curriculum reports, an hour corresponds to the in-class time required to present the material and represents the minimum level of coverage required.)
5.2 Introductory courses
The original CS2001report outlines a range of approaches to the important early introductory courses. In particular it outlined various possible models including imperative first, objects first, functional first, breadth first, algorithms first and hardware first. These tended to reflect different philosophies and priorities about computing, especially approaches to programming.
Although the Interim Review Group did not undertake a systematic analysis of uptake or popularity of the different models, experience has been gained on the use of these. It seems that most of these approaches do have their advocates with the choice often depending of the particular orientation of the program of study. Of these, the algorithms first approach - in which 'basic concepts of computer science are introduced using pseudo-code rather than an executable language - seems to have received less favor.
There also seemed to be merit in providing some guidance on introductory courses on security. Historically this has often been seen as an advanced topic, and yet the inclusion of aspects of this in the core now implies that certain security material needs to be accessible to all students.
To address these two matters, guidance is offered in Appendix C.
5.3 Relationship to two-year college programs
According to the American Association for Community Colleges, nearly one-half of all undergraduate students in the United States are enrolled in two-year colleges. One segment of the two-year college student population begins their academic careers intending to transfer to a university in order to continue their academic studies. These students must be served by well-defined articulation agreements, programs of study consistent with those found in university settings, and faculty sensitive to the special issues associated with such students and programs. Articulation considerations are detailed in chapter four of this report, where it is noted that curriculum content plays a crucial role in articulation success. The two computer science curriculum reports, CC2001: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science and the 2003 Guidelines for Associate- Degree Programs in Computer Science, established transfer equivalencies between four-year and two-year programs to foster articulation. Both reports have been updated to include recent developments in the discipline of computing, while maintaining the equivalencies previously established.
5.4 Organising principles
5.4.1 The original report
In the original CS2001 document (see section 8.2 of that report), a number of principles for organising the curriculum beyond the introductory courses were enunciated. In summary these were identified as
A traditional topic-based approach
To quote:
The most common approach to the intermediate courses is simply to apportion the material into units based on the traditional divisions of the field. Thus, in this approach, students take separate courses in each of the core areas: a course in architecture, a course in operating systems, a course in algorithms, and so on. […] This model is close to what many departments and programs currently do, so it has the advantage of being well tested. The classes will generally be familiar to most faculty, and instructional resources—such as syllabi, texts, and problem sets—are readily available.
A compressed approach
Again, to quote:
[…] For institutions that need to reduce the number of intermediate courses, the most straightforward approach is to combine individual topics into thematic courses that integrate material from related areas of computer science. […] this strategy also begins to address the problem of classes that focus too narrowly on “software artifacts.”
A systems-based approach
“Ultimately, the theories and practices of computer science find expression in the development of high-quality computer systems. This section defines a computer science curriculum that uses systems development as a unifying theme. It includes more technical and professional material than the other models, while retaining a reasonable level of coverage of the theoretical topics. Computer science theory remains essential, both as a foundation for understanding practice and to provide students with a lasting base of knowledge that remains valid despite changes in technology. […] This system perspective must permeate all aspects of the curriculum and include a combination of theory, practice, application, and attitudes.”
A web-based approach
“This model has grown out of a grass-roots demand for curricular structures that focus more attention on the Internet and the World-Wide Web, using these domains to serve as a common foundation for the curriculum as a whole.”
The original report went on to observe that it is possible to have approaches that are ahybrid of the above models and it provided examples such as an illustrtion of a cross-cutting and a traditional model, a web-based and a compressed model as well as a hybrid of a traditional and compressed.
5.4.2 Alternative organising principles
A number of alternative approaches used to organize the curriculum also exist. One set of possibilities stems from taking themes that are cross-cutting or systems wide; perhaps these can be seen as less abstract in concept and more closely related to particular topics. As such they can be used to motivate and possibly suggest or imply career directions.
A number of possibilities exist:
Providing a security (or safety) focus
Essentially security is a systems matter; for the system itself to be regarded as secure all major components typically need to be secure. Considerations of this kind have implications for programming (even elementary programming), information management, networks and communications, interfaces of all kinds, net-centric computing, tool building, and so on. So this theme can be used as a unifying concept for the curriculum. A similar set of comments can be made about the concept of safety.
Focus on games or entertainment software
The entertainment industry increasingly employs computing in many ways and the topic is of considerable interest to many young people. Developments in this world typically involve specialist hardware, specialist programming skills, deep attention to graphics and visualisation, sophisticated interfaces often characterised by interaction and multi-media, aspects of artificial intelligence, etc. In many cases there are applications of simulation and modelling (e.g. of aspects of the physical world) and a reliance on topics such as games theory. These various considerations can be used to provide a theme on which to base an entire curriculum
Focus on concurrency
The increased presence of concurrency in hardware heightens the profile of this topic across the curriculum. Increasingly there is a need to pay attention to concurrent programming, models of conmputation, concurrent algorithms, the influence on compiler courses, on performance in searching, and so on. So again this can be used as theme running through the curriculum.
Other possibilites might include a focus on such topics as information management, graphics, human computer interaction, simulation and modelling, computing education, computer communications, mobility, etc. Again the idea of hybrid approaches can be adopted and opens up additional alternatives.
All of the approaches described in section 5.4 — the specific models and the various hybrids—all have a common goal: to present the fundamental ideas and enduring concepts of computer science that every student must learn to work successfully in the field. In doing so, these intermediate courses lay the foundation for more advanced work in computer science.
| To give feedback on security section of this area of revision, go to here and use your ACM user name and login. |
Copyright © 2008, ACM, Inc. and IEEE, Inc.
