Changing Patterns of Computing Disciplines
Computing is an interdisciplinary discipline that crosses the boundaries between mathematics, science, engineering, business and social sciences. It consists of multiple fields including computer science, computer engineering, information systems, information technology, and software engineering (ACM/IEEE, 2001). These fields are inter-related but they are quite different from each other. This dynamic nature of computing discipline propelled the international community to devise a model curriculum for computing.
The history of computing curriculum development can be traced back to 1965 when a preliminary version of the recommendations for Computer Science curriculum was published by the Association for Computing Machinery (ACM, 1965). Since then the educators and professionals all over the world are striving to formalize the fundamental principles that distinguish the goals and methods of computing from those of other related disciplines.
In early days, the term ‘computer science’ was used as a common notion for computing discipline. With the passage of time, the nature of basic principles, methods, techniques and concepts evolves as the discipline evolves, and new principles replace old ones. Typically there are always strong resistances to change (Lawrence, 1954); therefore, these new developments were sometimes seriously questioned by believers in old principles. For example, Hilbert’s principle that formal mathematical theorems are provable by logical inference was questioned by Kurt Godel (1931), Alonzo Church & Alan Turing (1936), who argued that logic cannot completely prove all mathematical theorems. Similarly, many contradictory views of computing like the mathematical worldview (Davis, 1958 ) vs the interactive worldview (Goldin & Wegner, 2008), algorithmic programming (Knuth 1968; Hopcroft & Ullman, 969 ) vs contemporary programming (Rice & Rice 1969) opened up new horizons for computing (Sipser, 2005).
Much efforts have been made to understand this rapidly expanding nature of computing which include the recommendations of ACM Curriculum Committee on Computer Science (ACM, 1969; 1977; 1979), IEEE Computer Society Education Committee/Model Curriculum Subcommittee. (IEEE, 1976), IEEE Computer Society Educational Activities Board/Model Program Committee (IEEE, 1983), Report on the ACM Task Force on the Core of Computer Science (Denning , et al. , 1988).
Prior to the 1990s, many international bodies were producing their own curriculum recommendations. But, in 1991, ACM and IEEE-CS published a joint curriculum – Known as Computing Curricula 1991 or CC’91 – for four-year Bachelor’s degree programs in Computer Science and Computer Engineering (ACM/IEEE-CS, 1991). At that time Computing was restricted to three disciplines – Computer Engineering, Computer Science and Information Systems (See fig 1). In 1997, IS ‘97 Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems (ACM, 1997) was also published.
By the end of the 1990s, global community started realizing that the field of computing had not only grown rapidly but had also grown in many dimensions. Different kinds of degree programs were offered by different academic institution which brought in the problem of degree accreditation. Consequently, in 2001, ACM and IEEE-CS joint task force produced Computing Curricula 2001 (ACM/IEEE, 2001) which further expanded the concept of Computing into four distinct disciplines – Computer Science (CS), Computer Engineering (CE), Information Systems (IS) and Software Engineering (SE). In response to the CC2001 model, the Information Systems, the Software Engineering and Computer Engineering communities published their own curriculum recommendation reports reports (ACM/AIS/AITP, 2002), (ACM/IEEE, 2004a) and (ACM/IEEE, 2004a) respectively.
The inventions of digital electronics gave birth to ‘digital revolution which brought digital calculators and computer systems into the access of public domain. These gadgets not only revolutionized the conventional concepts of calculation, but also changed the way data was stored, retrieved and controlled. Computers became essential tools at every level of most organizations, and networked computer systems became the information backbone of organizations (Kotkin, 2000).
The digital revolution not only affected the way scientists conduct their research but also expedite the pace of inventions (Thomson, 2007). High pace innovation in technologies for communication, computation, interactivity, and delivery of information introduced invention like ‘the Internet’, ‘the World Wide Web’, ‘email’, ‘bulletin board system’, ‘virtual communities’, ‘E-commerce’ and other online technologies which brought a paradigm shift in business world – from data processing to information processing – converting industrial society to an “information society (Cohen, 2009). Such inventions converted computer technology into information technology (IT). While this paradigm shift improved productivity, it also created new work place challenges regarding the development, operation, maintenance, and up gradation of organizational IT infrastructure (Samuelson, 1995). By the end of the 1990s, it became clear that the existing computing degree programs were not producing graduates who had the right mix of knowledge and skills to meet these challenges. Consequently, colleges and universities developed new degree programs to fill this crucial void (Denning, 2001); thus information technology was added as an independent discipline into the computing domain (Burrell, 1997; Lunt, et. al., 2003a; 2003b; Lunt, et. al., 2004; Lunt, et. al., 2005).
The Computing Curricula 2005 (CC2005) produced by the ACM, AIS and IEEE-CS Joint Task Force identified the distinctive features of these five distinct but overlapping disciplines of computing and laid down the key characteristics and skill set which every graduate in their respective discipline must acquire. These recommendations help academic institutions to standardize their computing related degree programs according to the need of the international market. However, the curriculum development process has not stopped yet. Newly emerging economic trends, escalating pace of Information Technology (IT) usage, development outsourcing, and the emergence of knowledge economies have raised new issues. Recently, the international community has put forward a draft version of Computer Science Curricula 2013 (ACM, 2012) which has redefines the knowledge units and provides concrete guidance on curricular structure and development in a variety of institutional contexts.
Distinctive Characteristics of Computing Discipline
Computing Curricula 2005 (CC2005) produced by the ACM, AIS and IEEE-CS Joint Task Force identified the distinctive features of these five disciplines, shown in figure below, and explined in below pargarps:
Computer Science spans a wide range, from its theoretical and algorithmic foundations to cutting-edge developments in robotics, computer vision, intelligent systems, bioinformatics, and other exciting areas. Computer scientists develop new programming approaches for software development, devise new ways to use computers and develop effective ways to solve computing problems. While other disciplines produce graduates with more immediately relevant job-related skills, computer science offers a comprehensive foundation for research and innovation.
Software Engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and related operations. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artifacts. Software engineering students learn more about software reliability and maintenance and focus more on developing and maintaining software techniques. While Computer Science students just acquire superficial knowledge of these aspects.
Computer Engineering is a discipline that embodies the science and technology of design, construction, implementation, and maintenance of software and hardware components of modern computing systems and computer-controlled equipment. Computer engineering has traditionally been viewed as a combination of both computer science (CS) and electrical engineering (EE) (CE2004). Its curriculum focuses on the theories, principles, and practices of traditional electrical engineering and mathematics and applies them to the problems of designing computers and computer-based devices. Computer engineering students study the design of digital hardware systems including communications systems, computers, and devices that contain computers. They study software development, focusing on software for digital devices and their interfaces with users and other devices.
Information systems programs make graduates ready to integrate information technology solutions and business processes to meet the information needs of businesses and other enterprises, enabling them to achieve their objectives in an effective, efficient way. Information systems curriculum emphasizes various aspects of information, and views technology as a tool for generating, processing, and distributing information. Students of this program learn how computer systems can help an enterprise in defining and achieving its goals, and the processes that an enterprise can implement or improve using information technology. They learn both technical and organizational factors to help organizations to determine how information and technology-enabled business processes can provide a competitive advantage.
Information Technology emphasis on the technology itself whereas Information Systems focuses on the information aspects only. Today, organizations of every kind are dependent on information technology. IT specialists possess the right combination of knowledge and practical, hands-on expertise to take care of both an organization’s information technology infrastructure and the people who use it.
Distinct Characteristics of IT, CS and SE graduates
Over the past sixty years, computing has become an extremely broad domain that extends well beyond the boundaries of computer science to encompass such independent disciplines as computer engineering, software engineering, information systems, information technology and many others. Realizing this breadth of computing domain, the global community deduced that no group representing a single specialty could hope to do justice to computing as a whole (SE2004). Consequently, independent Task Force on each discipline was assigned the task of curriculum development in their respective field. Keeping in view the distinctive nature of IT, CS, and SE the Task Force of respective discipline laid down the key characteristics of graduates of these disciplines. These characteristics are shown in Table 1. Every graduate in their respective discipline must acquire a skill set that enables him or her to successfully perform integrative tasks, including the ability to:
|Information Technology (IT 2005)||Software Engineering (SE 2004)||Computer Science (CS 2008)|
|– Use and apply current technical concepts and practices in the core information technologies;- Analyze, identify and define the requirements that must be satisfied to address problems or opportunities faced by organizations or individuals;
– Design effective and usable IT-based solutions and integrate them into the user environment;
– Assist in the creation of an effective project plan;
– Identify and evaluate current and emerging technologies and assess their applicability to address the users’ needs;
– Analyze the impact of technology on individuals, organizations and society, including ethical, legal and policy issues;
– Demonstrate an understanding of best practices and standards and their application;
– Demonstrate independent critical thinking and problem solving skills;
– Collaborate in teams to accomplish a common goal by integrating personal initiative and group cooperation;
– Communicate effectively and efficiently with clients, users and peers both verbally and in writing, using appropriate terminology;
– Recognize the need for continued learning throughout their career.
|– Show mastery of the software engineering knowledge and skills, and professional issues necessary to begin practice as a software engineer.- Work as an individual and as part of a team to develop and deliver quality software artifacts.
– Reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time, knowledge, existing systems, and organizations.
– Design appropriate solutions in one or more application domains using software engineering approaches that integrate ethical, social, legal, and economic concerns.
– Demonstrate an understanding of and apply current theories, models, and techniques that provide a basis for problem identification and analysis, software design, development, implementation, verification, and documentation.
– Demonstrate an understanding and appreciation for the importance of negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment.
– Learn new models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development.
|– Demonstrate knowledge and understanding of essential facts, concepts, principles, and theories relating to computer science and software applications.- Use such knowledge and understanding in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoff involved in design choices.
– Identify and analyze criteria and specifications appropriate to specific problems, and plan strategies for their solution.
– Understand the elements of computational thinking. This includes recognizing its broad relevance in everyday life as well as its applicability within other domains, and being able to apply it in appropriate circumstances.
– Analyze the extent to which a computer-based system meets the criteria defined for its current use and future development.
– Deploy appropriate theory, practices, and tools for the specification, design, implementation, and maintenance as well as the evaluation of computer-based systems.
– Recognize and be guided by the social, professional, legal and ethical as well as cultural issues involved in the use of computer technology. Increasingly cultural issues are also relevant.
2. COMPUTING DISCIPLINE IN PAKISTAN
In Pakistan, at university level computer education can be traced back to late 70’s when a department of computer science was established at Quaid-e-Azam University, Islamabad. Presently, 74 public and 62 private universities including their affiliated colleges are offering degree programs in various computing disciplines. To ensure the quality of education students receive in universities and institutions, the Higher Education Commission (HEC) has setup an accreditation authority: National Computing Education Accreditation Council (NCEAC). The accreditation council periodically evaluates, scrutinizes and monitors the standards followed in different Universities, Degree Awarding Institutions and their affiliated colleges offering computing degree programs.
In addition, realizing the need of standardization, HEC as a part of its constitutional responsibility, has constituted four committees, as stated in , involving the respective expert faculty members both from public and private sectors throughout the country. All these committees worked independently in their respective domains through extensive interaction and consensus of national and international experts in the field and revise the existing curriculum after every three year. Recently, in 2009, the curriculum revision committee has published the revised curricula for BS, MS and PhD programs. The revised curricula  have been circulated nationwide for implementation.
ACM (1965). An undergraduate program in computer science – preliminary recommendations. Communications of the ACM, 8(9), 543–552.
ACM (1969). ACM Curriculum Committee on Computer Science, Curriculum 68: Recommendations for academic programs in computer science. Communications of the ACM, 11(3), 151–197.
ACM (1977). ACM Curriculum Committee on Computer Science, Curriculum recommendations for the undergraduate program in computer science. SIGCSE Bulletin (ACM), 2 (June), 1-16.
ACM (1979). ACM Curriculum Committee on Computer Science. (1979). Curriculum 78: Recommendations for the undergraduate program in computer science. Communications of the ACM, 22, 3 (March), 147-166.
ACM/IEEE-CS Joint Curriculum Task Force. (1991). Computing Curricula 1991, ACM Baltimore, MD. (Order No. 201880)
Beniger, J. R. (1986). The Control Revolution: Technological and Economic Origins of the Information Society. Cambridge, MA: Harvard University Press..
British Computer Society and The Institution of Electrical Engineers (1989). Undergraduate curricula for software engineers, London.
CC ( 2001). ACM/IEEE-Curriculum 2001 Task Force. Computing Curricula 2001, Computer Science. IEEE Computer Society Press and ACM Press.
CE2004 (2004). IEEE/ACM Joint Task Force on Computing Curricula. Computer Engineering 2004.
Chandler, P., & Sweller, J. (1991). Cognitive load theory and the format of instruction. Cognition and Instruction, 8, 293-332.
Confrey, J. (2006). “Comparing and Contrasting the NRC Report on Evaluating Curricular Effectiveness with the What Works Clearinghouse Approach.” Educational Evaluation and Policy Analysis 28( 3): 195–213.
Clark, R. and Harrelson, G. L. (2002). Designing Instruction That Supports Cognitive Learning Processes, J Athl Train. 37(4 suppl): 152–159.
Cox, A. (2004). Diagnóstico y perspectiva de los estudios de posgrado en Costa Rica. Digital Observatory for Higher Education in Latin America and the Caribbean. UNESCO, OPES 18/2004, 2004.
Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering. IEEE Computer Society Press and ACM Press.
Cohen, E. (Ed.). (2002). Challenges of information technology in the 21st century. Hershey, PA; Idea Group.
CSAB (1986). Defining the computing sciences professions. Computing Sciences Accreditation Board.
CC ( 2005). Computing Curricula 2005: The Overview Report. IEEE and ACM Press. Retrieved from http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf
Chatterjee, S., Ranjan, R., and Sharma, R. (2010). Recruitment Process Outsourcing Annual Report 2010 – A Year of Rapid Growth and Intense Competition. Everest Group.
Dodd, P. (2005). Export of Ukrainian IT Services and Products rose 57% to USD 110 Million in 2004. Shadowbox Studious, March 2005.
Davis, M. (1958). Computability & unsolvability. McGraw-Hill.
Denning, P. J., et al. (1988). Report on the ACM Task Force on the Core of Computer Science. New York: ACM Press (Order No. 201880).
Denning, P.J. (2001). The IT schools movement. Communications of the ACM, 44(11), 18.
Gödel, K. (1931). “Über Formal Unentscheidbare Sätze der Principia Mathematica und Verwandter Systeme, I.” Monatshefte für Math. u. Physik 38, 173-198.
Hopcroft, J. E., & Ullman, J. D. (1969). Formal languages and their relation to automata. Addison-Wesley.
HEC(No-date). Implementation of Semester System in Higher Education Institutions of Pakistan, Policy Guidelines Approved by the Higher Education Commission (HEC).
IEEE Computer Society Education Committee/Model Curriculum Subcommittee (1976). A Curriculum in computer science and engineering. IEEE Computer Society, Committee Report.
IEEE Computer Society Educational Activities Board/Model Program Committee (1983). The 1983 IEEE Computer Society model program in computer science and engineering. IEEE Computer Society, December.
ILO (2012). Global Employment Trends, International Labour Organization.
IS2002 (2002). ACM/AIS/AITP Joint Task Force on Information Systems Curricula.
IS2002 Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems, Association for Computing Machinery, Association for Information Systems, and Association for Information Technology Professionals.
Kotkin, J. (2000).The New Geography: How the Digital Revolution Is Reshaping the American Landscape, Random House.
Knuth, D. (1968). The art of computer programming, Vol. 1: Fundamental algorithms. Addison-Wesley.
Lawrence, P.R. (1954) “How to Deal with Resistance to Change”, Harvard Business Review, (May/June), pp. 49-57.
Lunt, B., Reichgelt, H., Ashford, T., Phelps, A., Slanzski, E., & Willis, C. (2003a). An empirical comparison
of baccalaureate programs in computing. Proceedings of the 2003 International Conference on Engineering and Computer Education (ICECE) Mar 17-20, 2003, Santos, SP, Brazil. [Proceedings on CD-ROM (no page numbers).]
Lunt, B., Reichgelt, H., Ashford, T., Phelps, A., Slanzski, E., & Willis, C. (2003b). What is the new discipline of information technology? Where does it fit? Conference for Industry and Education Collaboration (CIEC) 2003, Jan 28-31, 2003, Tucson, AZ. [Proceedings on CD-ROM (no page numbers).]
Lunt, B., Ekstrom, J. Gorka, S., Kamali, R., Lawson, E., Miller, J., & Reichgelt, H. (2004). Defining the IT curriculum: The results of the past 2½ years. Proceedings of the International Conference on Engineering Education and Research (iCEER), June 27-30, 2004, Olomouc, Czech Republic. 2004; Proceedings on CD-ROM (no page numbers)
Lunt, B., Ekstrom, J. Gorka, S., Kamali, R., Lawson, E., Miller, J., & Reichgelt, H. (2005). Defining the IT curriculum: The results of the past 3 years. Journal of Issues in Informing Science and Information Technology, 2, 259-270.
Krishnadas, K.C. (2005). India Software Exports Soar To $12 Billion, Says Nasscom. Outsourcing Pipeline. June 02, 2005.
Final Report Task Force on Globalization Of Research and Graduate Education. 2008
Nerad, M. (2010).Globalization and the Internationalization of Graduate Education: A Macro and Micro View, Canadian Journal of Higher Education, Revue canadienne d’enseignement supérieur, Volume 40, No. 1, 2010, pages 1-12.
Reichgelt, H., Lunt, B., Ashford, T., Phelps, A., Slanzski, E., Willis, C. (2004). A comparison of baccalaureate
programs in information technology with baccalaureate programs in computer science and information systems. Journal of Information Technology Education, 3, 19-34.
Marcus, N., Cooper, M., & Sweller, J. (1996). Understanding instructions. Journal of
Educational Psychology, 88, 49-63.
Mahoney, M. S. (1988). The History of Computing in the History of Technology. Annals of the History of Computing 10 (2): 113-125.
Miller, G. A. (1956). The Magical Number Seven. Retrieved September 20, 2008, from Music Animation Machine Web site: http://www.musanim.com/miller1956/
Mulder, M. C. and Dalphin, J. (1984). Computer science program requirements and accreditation—an interim report of the ACM/IEEE Computer Society joint task force. Communications of the ACM, 27(4):330-335.
Neerincx, M.A., Dobbelsteen, G.J.H. van den, Grootjen, M. & Veenendaal, J. van (2003). Assessing cognitive load distributions for envisioned task allocations and support functions. Thirteenth International Ship Control Systems Symposium (SCSS), Orlando, Florida.
Porter, A. (2004). Curriculum assessment. Complementary Methods for Research in Education. J. Green, G. Camilli, & P. Elmore (Eds.) Washington DC: AERA. pp. 141-159.
Peterson, G.W., et al. (1996)“A Cognitive Information Processing Approach to Career Problem Solving.” In Career Choice and Development, 3rd ed. Edited by D. Brown, L. Brooks, and Associates. Toronto: Jossey-Bass Publishers, 1996.
Rice, J. K., & Rice J. R. (1969). Introduction to computer science: Problems, algorithms, languages, information and computers. USA: Holt, Rinehart and Winston.
Sipser, M. (2005). Introduction to the theory of computation (2nd ed.). PWS Publishing Company.
SE2004 (2004). IEEE/ACM Joint Task Force on Computing Curricula. Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering,
IEEE Computer Society Press and ACM Press. Retrieved from http://sites.computer.org/ccse/SE2004Volume.pdf
Taylor, S. E. and Gollwitzer, P. M. (1995). Effects of mindset on positive illusions, Journal of Personality and Social Psychology, Vol 69(2): 213-226.
Thimbleby, H.: “Teaching HCI to make it come alive,” HCIed2008 Conference, Interaction Design and Architecture, 3–4:9–16, special issue edited by Giovannella, C., Kotze, P. & Wong, W. (2008)
Turing, A.(1936). On computable numbers, with an application to the Entscheidungsproblem, Proceedings of the London Mathematical Society, Series 2(42), pp 230–265.
Goldin, D. & Wegner, P. (2008). The Interactive Nature of Computing: Refuting the Strong Church–Turing Thesis, Minds & Machines, 18:17–38.
Gerjets, P., Scheiter, K. & Catrambone, R.(2004). Designing Instructional Examples to Reduce Intrinsic Cognitive Load: Molar versus Modular Presentation of Solution Procedures, Instructional Science 32: 33–58, 2004.
Shaw, M.(1985). The Carnegie-Mellon curriculum for undergraduate computer science. New York: Springer-Verlag.
Shaw, M. and Tomayko, J. E.(1991) Models for undergraduate courses in software engineering. Pittsburgh: Software Engineering Institute, Carnegie Mellon University, January 1991.
Sweller, J. (1994) Cognitive load theory, learning difficulty, and instructional design, learning
and instruction, 4(4): 295–312.