**Author: Sanjay Goel**, http://in.linkedin.com/in/sgoel

This is the fourth article in this 8 part series. The fifth part is Evolution of Software Development Education – Part V: Human and Social Aspects in Computing Curriculum

________________________________________

In the first decade, the computer science curriculum was lesser oriented towards business data processing needs. Interestingly, discrete structures and three courses in numerical methods were not considered as part of mathematics courses. Instead they were included as essential computer science courses. The ACM curriculum committee further suggested a minimum of six mathematics courses for undergraduate programs. The committee proposed essential inclusion of courses in related areas of mathematics, statistics, electrical engineering, philosophy, linguistics, industrial engineering, and management. Overspecialization at undergraduate level was discouraged by the committee, and it also encouraged the deep involvement of computer science faculty in computer applications. Scientific simulation and engineering calculation oriented applications encouraged to put a strong emphasis on numerical methods.

The strong emphasis on numerical methods decreased gradually through subsequent recommendations, and it was eliminated from the core in nearly all subsequent recommendations of the ACM, IEEE Computer society, as well as other bodies except International Federation of Information Processing (IFIP). Computing curricula [2] does not specify any minimum required weight of numerical techniques for any of the five computing discipline – computer science, computer engineering, information systems, software engineering, or information technology. It is not recommended even as an elective course for the later three disciplines.

On the other hand, discrete mathematics was increasingly being recognized as more central and fundamental for computer science than calculus [3-5]. There were proposals to teach discrete mathematics as the first mathematics course, and the model curriculum for liberal arts degree in computer science responded favorably [6-7]. In 2001, 76% faculty members are reported to have felt that discrete mathematics should be a prerequisite to data structures [8]. However, many universities and institutions were slow to respond to this change. A survey [9] showed that even in late 1980s, nearly 30% universities and institutions in USA did not include discrete mathematics, and nearly 27% maintained numerical algorithms in the core curriculum of computer science.

Possibly because of IFIP influence, for quite some time, numerical techniques continued to be part of the core curriculum of many computing programs in India for some time. The current model curriculum recommended by the All India Council for Technical Education, India [10-11] has not included numerical mathematics as a core course for both the commonly offered undergraduate computing programs of engineering institutes: (1) computer science and engineering, (2) information technology. Unfortunately, discrete mathematics is excluded from the list of AICTE’s information technology curriculum.

Over the decades, with the advent of faster, cheaper, smaller, reliable, networked, and mobile hardware, as well as user friendly and multi-layered software, the computer applications have rapidly expanded much beyond the scope of computational science (numerical techniques, modeling and simulation, and operation research). Lethbridge [12-14] found that in the list of the most important twenty-five subject topics of the university curriculum, professional software engineers did not include a single topic of mathematic. Though computational science is recognized as an extremely valuable closely related discipline, the recommended core body of knowledge of computing curricula with specialization in computer science, computer engineering, software engineering, information systems, or information technology, do not include these courses any more [15-16].

Further, the ACM-AIS-IEEE joint report [17] has recommended a lowered minimum requirement for mathematical foundation for programs in software engineering, information systems, and information technology. ACM-IEEE joint curriculum recommendation on software engineering [18] has included only one topic of mathematics ‘discrete mathematics’ as part of the essential core. Recently, differentiating computer science from mathematics, Fant [19] argues that rather than computational issues, computer science is more concerned with issues related to creation and actualization of process expressions.

In my view, a strong foundation in calculus, differential equations, interpolation and approximation, linear algebra, probability, statistics, numerical methods, optimisation techniques, operation research, number theory, etc., certainly strengthens a student’s ability to design algorithms for a large variety of problems. However, traditional method of teaching mathematics that does not leverage students’ programming skills needs to be reviewed to make these courses more effective and relevant for students of software development. In my view, the teaching of these courses has to done with a very applied approach that necessarily includes good amount of programming work.

**References:**

[2] Association for Computing Machinery (ACM), Association for Information Systems (AIS), and The Computer Society (IEEE-CS), Computing Curricula 2005, retrieved from http://www.acm.org/education/curric_vols/CC2005-March06Final.pdf, last accessed on February 28, 2010.

[3] Anthony Ralston and Mary Shaw, Curriculum ’78 – Is Computer Science Really that Unmathematical?, Communications of the ACM, pp 67-70, February 1980.

[4] Mary Shaw (ed.), The Carnegie-Mellon Curriculum for Undergraduate Computer Science, Springer-Verlag, New York, 1985.

[5] Alfs Berztiss, A Mathematically Focused Curriculum for Computer Science, Communications of the ACM, pp 356-265, May 1987.

[6] Anthony Ralston, The First Course in Computer Science Needs a Mathematical Corequisite, Communications of the ACM, pp 1002-1005, October 1984.

[7] Normal E. Gibbs and Allen B. Tucker, A Model Curriculum for a Liberal Arts Degree in Computer Science, Communications of the ACM, pp 202-210, March 1986.

[8] Allen B. Tucker, Charles F. Kelemen and Kim B. Bruce, Our Curriculum Has Become Math-Phobic!, ACM SIGCSE Bulletin, pp 243-247, March 2001.

[9] Sukhen Dey and Lawrence R. Mand, Current Trends in Computer Science Curriculum: A Survey of Four-Year Program, Technical Symposium on Computer Science Education, Proceedings of the twenty-third SIGCSE technical symposium on Computer science education, Kansas City, Missouri, United States, ACM, pp 9-14, 1992.

[10] All India Council for Technical Education, Model Curriculum for Undergraduate Programme B.E./ B. Tech. in COMPUTER SCIENCE & ENGINEERING, 2000, retrieved from http://www.aicte.ernet.in/download/OnlineBooks/compsciandEngg.pdf.

[11] All India Council for Technical Education, Model Curriculum for Undergraduate Programme B.E./ B. Tech. in INFORMATION TECHNOLOGY, 2000, retrieved from http://www.aicte.ernet.in/download/OnlineBooks/it.pdf.

[12] Timothy C. Lethbridge, The relevance of software education: A survey and some recommendations, Annals of Software Engineering, Springer Netherlands, pp 91-110, March, 1998.

[13] Timothy C. Lethbridge, A survey of the relevance of computer science and software engineering education, . Proceedings of 11th Conference on Software Engineering Education, IEEE, pp 56-66, 1998.

[14] Timothy C. Lethbridge, What knowledge is important to a software professional?, Computer, IEEE, pp 44-50, 2000.

[15] The Joint Task Force on Computing Curricula, Computing Curricula 2001, IEEE Computer Society and ACM, 2001, retrieved from http://www.computer.org/portal/cms_docs_ieeecs/ieeecs/education/cc2001/cc2001.pdf, last accessed on October 15, 2005.

[16] Interim Review Task Force, Computer Science Curriculum 2008: An Interim Revision of CS 2001 Report, December 2008, Association for Computing Machinery and IEEE Computer Society.

[17] The Joint Task Force on Computing Curricula, Computing Curricula 2005: The Overview Report, Association for Computing Machinery, Association for Information Systems, and IEEE Computer Society, September 2005.

[18] The Joint Task Force on Computing Curricula, IEEE Computer Society and ACM, Software Engineering 2004: Curriculum guidelines for undergraduate degree programs in software engineering, 2004, retrieved from http://sites.computer.org/ccse/SE2004Volume.pdf, last accessed on October 15, 2005.

[19] Karl M. Fant, Computer Science Reconsidered: The invocation models of process expression, John Wiley & Sons, USA, pp 1-10, 2007.

*Uncategorized*

Posted on February 18, 20120