Over most of the second half of the twentieth century, much of the curriculum debate in computer science assumed programming was the fundamental tool of the discipline, and a key subject of debate was the first programming language. By 2020, the focus had changed to one of emphasizing the fundamentals first, and developing skills related to coding later in the curriculum. The intent was to ensure that real fundamentals were taught first, reducing the need for frequent curriculum upheavals in introductory courses, where stability was most important. Also, the new curriculum ordering was intended to break away from the hacker culture, which is hard to avoid with students who learn programming before theents a proposal for Curriculum 2020, in which the order of toy have developed design and abstraction skills. This paper prespics is designed to produce graduates with a solid theoretical foundation, for whom programming is almost a clerical task. The basic educational philosophy is called abstraction-first. Students are first introduced to abstraction as a client of predesigned abstractions and are gradually led to the point of designing their own abstractions. Theoretical foundations are introduced first, followed by practical application— also following the abstraction-first philosophy.
Unable to display preview. Download preview PDF.
- [ACM 1991]
- [Baber 1997a]
- [Baber 1997b]Baber, R.L. (1997). “CS education and an engineering approach to software development,” Proceedings of the 27th Southern African Computer Lecturerés Association Conference., Wilderness, South Africa, pp. 22–4. Southern African Computer Lecturerés Association (SACLA).Google Scholar
- [Brooks 1995]Brooks, F. (1995). The Mythical Man-Month: Essays on Software Engineering. (anniversary ed.). Reading, Massachusetts: Addison-Wesley.Google Scholar
- [Berztiss 1987]
- [Goldweber et al. 1997]Goldweber, M., Impagliazzo, J., Bogoiavlenski, I.A., Clear, A.G., Davies, G., Flack, H., Myers, J.P., and Rasala, R. (1997). “Historical perspectives on the computing curriculum,” ITiCSE-WGRSP′97. Selected Papers from the Proceedings on Integrating Technology into Computer Science Education: Working Group Reports and Supplemental Proceedings., Uppsala, Sweden, pp. 94–111. New York, New York: ACM Press.CrossRefGoogle Scholar
- [Gries 1991]
- [Lewis 1996a]
- [Lewis 1996b]
- [Machanick 1998a]
- [Machanick 1998b]Machanick, P. (1998). “A Scalable Architecture for Video on Demand: SAVoD,” Technical Report. http://www.cs.wits.ac.za/~philip/papers/SAVoD.html
- [Pancake 1995]
- [Raymond 1997]Raymond, E.S. (1997). “The Cathedral and the Bazaar,” (revisions 1998). http://www.earthspace.net/~esr/writings/cathedral-bazaar/
- [Wilkes 1995]