Curriculum 2020

  • Philip Machanick


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.


Engineering Discipline Knowledge Unit Solid Theoretical Foundation Memory Density Real Fundamental 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ACM 1991]
    ACM (1991). “A Summary of the ACM/IEEE-CS Joint Curriculum Task Force Report: Computing Curricula 1991,” Communications of the ACM., 34(6): 68–84.CrossRefGoogle Scholar
  2. [Baber 1997a]
    Baber, R.L. (1997). “Comparison of electrical “engineering” of Heavisideés times and software “engineering” of our times,” IEEE Annals of the History of Computing., 19(4): 5–17.CrossRefGoogle Scholar
  3. [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
  4. [Brooks 1995]
    Brooks, F. (1995). The Mythical Man-Month: Essays on Software Engineering. (anniversary ed.). Reading, Massachusetts: Addison-Wesley.Google Scholar
  5. [Berztiss 1987]
    Berztiss, A. (1987). “A mathematically focused curriculum for computer science,” Communications of the ACM., 30(5): 356–65.CrossRefGoogle Scholar
  6. [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
  7. [Gries 1991]
    Gries, D. (1991). “Teaching calculation and discrimination: A more effective curriculum,” Communications of the ACM., 34(3): 44–55.CrossRefGoogle Scholar
  8. [Lewis 1996a]
    Lewis, T. (1996). “The next 10,0002 years: Part I,” Computer., 29(4): 64–70.CrossRefGoogle Scholar
  9. [Lewis 1996b]
    Lewis, T. (1996). “The next 10,0002 years: Part II,” Computer., 29(5): 78–86.CrossRefGoogle Scholar
  10. [Machanick 1998a]
    Machanick, P. (1998). “The abstraction-first approach to data abstraction and algorithms,” Computers and Education., 31(2): 135–50.CrossRefGoogle Scholar
  11. [Machanick 1998b]
    Machanick, P. (1998). “A Scalable Architecture for Video on Demand: SAVoD,” Technical Report.
  12. [Pancake 1995]
    Pancake, C.M. (1995). “The promise and the cost of object-technology: A five-year forecast,” Communications of the ACM., 38(10): 33–49.CrossRefGoogle Scholar
  13. [Raymond 1997]
    Raymond, E.S. (1997). “The Cathedral and the Bazaar,” (revisions 1998).
  14. [Wilkes 1995]
    Wilkes, M.V. (1995). “The memory wall and the CMOS end-point,” Computer Architecture News., 23(4): 4–6.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2000

Authors and Affiliations

  • Philip Machanick
    • 1
  1. 1.Department of Computer ScienceUniversity of the WitwatersrandSouth Africa

Personalised recommendations