A Study of the Inclusion of Programming Languages in an Undergraduate Information Systems Curriculum Neelima Bhatnagar bhatnagr@pitt.edu Department of Management University of Pittsburgh at Johnstown Johnstown, PA 15904 Abstract The purpose of this paper is to identify which programming languages and how many programming languages courses should be included in an undergraduate Information Systems program within the Department of Management and Marketing (a subunit of the Department of Business) at a regional branch campus of a major university in Pennsylvania. The paper addresses this issue by looking at two different studies conducted: a survey sent to employers in the area serviced by the branch campus and a survey sent to Information Systems educators throughout the United States representing a wide variety of colleges and universities as well as degree programs. Results indicate that more than one programming language course should be taught in an undergraduate Information Systems curriculum and the languages that are most recommended in the survey are Java and XML. Keywords: programming languages, information systems pedagogy, information systems curriculum, information systems education, information systems profession, information systems skills 1. Introduction An area that has been frequently studied in Information Systems pedagogical research is the specific content that should be included in an undergraduate curriculum. This is an area that also necessarily has evolved over time. Various studies have been conducted over the years dealing specifically with undergraduate Information Systems curriculum issues. “The core curriculum of information systems (IS) is vital to the IS field. It serves as a base of knowledge that all IS graduates should possess.” (Kung, Yang, & Zhang, 2006) “In such a rapidly evolving field, there is a need to continuously and systematically examine the fit between the skills and knowledge possessed by IS graduates and the requirements of industry.” (Trauth, Farwell, & Lee, 1993) Trauth, Farwell, & Lee (1993) had questioned whether or not there existed a gap between the expectations of industry and academia in terms of the skills Information Systems graduates should possess. The article concluded that a gap does exist which must be addressed by constantly reviewing curriculum and course content. The recurring theme throughout the literature review process stressed the importance of “…equipping students with the knowledge and skills to keep pace with the rapidly changing information technology environment.” (Maier & Gambill, 1996) Ehie also stressed the importance of understanding the needs of employers and the responsibility of MIS programs to “…produce MIS graduates with the requisite skills and knowledge.” (Ehie, 2002) Various studies conducted primarily on the status of COBOL in Information Systems programs suggests “… that the programmer with the best preparation for the real world is the one who understands all three of the major approaches to application development: (1) Java, (2) .NET with C# or Visual Basic, and (3) COBOL/CICS on a mainframe…” (Morach, 2005) In a similar study done by Fougere, MacDonald & Sousa (2003) their results indicated that knowing SQL, COBOL, Java, Visual Basic, and C++ (in this order respectively) seemed to be of importance to companies while competencies of recent graduates were somewhat comparable. Ehie (2002) states that in a 1998 study done by Computerworld, “… the information technology skills sought most by organizations are networking (18%), Oracle (16%), C and C++ (12%), Windows NT (11%) and COBOL (10%)” (p. 152). Ehie (2002) asked business practitioners to identify one programming language that should be a part of all IS programs, this is what he found: “… the majority of respondents indicated a preference for object-oriented programming (C++) centered on client/server architecture and Java programming used in Web-enabled and e-commerce applications. The third most preferred programming language was Visual Basic.” (p. 156) He also states that the respondents indicated that at least one programming language should be taught preferably using C++ or Java. (p. 157) Raoufi & Maniotes (2005) come to a similar conclusion and recommend using C#, VB.NET, (or Java) as a first programming language for students. Ruby’s (2005) research was primarily aimed at doctoral and master’s programs and therefore is not discussed in this paper. However the findings again are similar with most institutions teaching Visual Basic and/or Java. The IS 2002 Model Curriculum suggests the inclusion of one course in the area of programming but does not specify which programming languages to include. (Gorgone et al., 2002) 2. Purpose of Study At the University of Pittsburgh at Johnstown (UPJ), the issue that needed to be addressed was specifically which programming language to teach Information Systems majors and whether or not there was a need to offer multiple programming language courses as part of the Information Systems curriculum. What prompted the need to answer these two questions can best be explained by first providing a little background about the program itself. UPJ does not have a major in Information Systems (from here on simply referred to as IS). The IS track is a part of the Management concentration within the Department of Management & Marketing (a subunit of the Department of Business; the other subunit is the Department of Accounting and Finance). The second track available to students as part of the Management concentration is a General Management track. The IS track has continued to evolve since its inception. All business students are required to take a four credit programming language course in Visual Basic, taught by the Computer Science department as part of their General education requirements. At first, students pursuing the IS track were required to take an additional programming language. The course description was written so that any programming language could be used to teach the course. Then the programming language course was offered as an elective within the track (primarily due to the restructuring of the track). The main purpose of the course was to teach students algorithm development, problem-solving and basic programming skills. For several semesters, C++ was the language of choice, then Java. Due to further restructuring of the courses in the track and the reassignment of courses to the full-time faculty member, the hiring of an adjunct was necessary to continue to offer the course. This adjunct faculty member was experienced in Java, so that was the language that was adopted for the course. Most recently we have eliminated this course altogether from our program because it became increasingly difficult to find adjuncts who could continue to offer the course. Instead, the Computer Science department has developed a course called “Intermediate Programming Using Java” which can be taken by non-Computer Science majors. This computer science course is primarily geared towards IS majors, math majors, and engineering majors. Students in the IS track will continue to take it as an elective offering. In ongoing discussions with faculty members in the Computer Science department, who had agreed to develop a programming course for non-CS majors, it became evident that it was necessary to determine which programming language they should be teaching IS majors. Finding an answer to this question also presented an opportunity to further address the issue of programming languages and investigate whether or not employers in the area felt that there was a need for IS majors to be taking multiple programming language courses, or if one would be sufficient. Nature of company Number of employers in each category Computer/computer services/IT consulting 1 Healthcare, pharmaceuticals 2 Aerospace/defense 2 Manufacturing 4 Publishing,printing 1 Chemical,oil,gas 0 Utilities 1 Financial services/insurance 5 Sales/service office equipment 1 Communications 1 Nonprofit, applied research dept, professional services organization 1 Table 1 - Employer Demographics Job title Number of respondents CIO/VP Info Systems/IS Director 10 IS Manager/Consulting Manager 6 Project Leader 0 Systems Analyst/Programmer/IS Consultant 0 HR Professional 1 Other VP Sales & Marketing 1 Operations & compliance 1 Table 2 - Job Titles 3. Methodology In an effort to answer the questions stated above, two separate survey instruments were used. A survey was sent to 47 area employers and 19 responses were received (40% response rate) – see Appendix A. As Table 1 below shows the employers surveyed represent a wide variety of industries. The survey was sent to IS professionals. As Table 2 shows, that the majority of the individuals who responded to the survey hold CIO/VP Info Systems/ IS Director positions, the majority with many years of experience in the field. A second survey was sent to Information Systems educators to find out what and how many programming languages were being required of IS majors at other colleges and universities throughout the United States. The list of names, email addresses and institutions gathered is representative of individuals who presented at ISECON 2006. The survey (see Appendix B) was sent via email to the individuals identified above. An attempt was made to send out the survey to 80 different colleges and universities and over 150 educators. Responses from 28 institutions were received (approximately 35% response rate). Three institutions had multiple respondents and their answers were adjusted based on the majority. 4. Results From the survey that was sent to employers, the results indicate that 7 of the 19 employers (37%) believe that students majoring in IS should take 3 programming language courses. When asked to rank first, second, and third as to what their programming language of choice would be, XML, Java, and Visual Basic were the top three suggestions, respectively. See figure 1 for a specific breakdown of each programming language and its ranking as first, second, and third choices. Figure 1 - Employer Rankings From the survey that was sent to IS educators, the findings are similar to what the employers stated - while 50% of the educators surveyed felt that students should take two programming language courses, 42.86% actually require their students to take two courses in programming. When asked which programming languages the educators believed IS majors should be taking as part of their undergraduate studies, Java and VB.NET are the frontrunners. The educators were also asked to rank their first, second, and third preferences in terms of the programming languages that should be included in an undergraduate Information Systems curriculum. As can be seen from figure 2, Java, XML, VB, and VB.NET are the top choices respectively. PHP and C are not displayed in the figure as there were no educators who ranked these two programming languages first, second, or third. Figure 2 - Educator Rankings Another question asked which programming language students should take as part of their undergraduate studies and the majority said Java. 5. Conclusions and Implications The inclusion of programming languages into an Information System curriculum continues to be of significant importance. However it is also important to continue to evaluate and modify the curriculum to stay abreast of industry trends. Technological obsolescence makes this a necessity not a luxury. It seems that for the time being colleges and universities that require their students to take at least two programming languages are clearly moving in the right direction. The industry and educators surveyed seem to somewhat agree as to how many programming languages should be required of Information Systems students in a Business program and what those languages should be, namely Java and XML. The literature reviewed for the purposes of this paper indicates a strong preference for Java, Visual Basic, and C++. UPJ’s Computer Science department’s decision to offer a programming course for non-CS majors using Java is acceptable, given the literature and the surveys conducted of employers and educators. Also, based on the findings discussed in this paper, it is not without merit that IS majors were first required to take a second programming course. However as stated earlier, the restructuring of the courses within the IS track necessitated changing it from a required offering to an elective offering. The course was first taught using C++, then Java, validating what other schools were and are doing as well what the industry suggests. 6. Direction for Future Research The implications as we move forward are to continue to assess and bridge the gap between industry and academia. Research that would continue to address curriculum and pedagogical issues is relevant and a strong indicator of the future of the Information Systems field. A more comprehensive and up-to-date assessment of the future of Information Systems education is needed to truly assess the value of the education we are providing to students. The last such comprehensive study was done over 10 years ago. The programming language component of an undergraduate information systems program represents only one course of a myriad that we expect students to take. We need to make sure that these courses are adequately preparing students to enter the workforce and meet the expectations of employers. 7. Acknowledgment The author would like to thank Dr. Charles Woratschek from Rober Morris University for providing a survey he had used in the past which was modified for the purposes of this research paper. The author would also like to thank Dr. Alan Peslak from Penn State University for helping to improve the quality of this paper. 8. References Ehie, Ike C. (2002, January/February) "Developing a Management Information Systems (MIS) Curriculum: Perspectives From MIS Practitioners.” Journal of Education for Business, vol. 77, issue 3, pp. 151-158. Fougere, Kenneth T., Laurie T. MacDonald, and Kenneth J Sousa (2003, January/February) “COBOL’s Role in a College Curriculum – A Pilot Study.” Journal of Education for Business, pp. 164-169. Gorgone, John T., Gordon B. Davis, Joseph S. Valacich, Heikki Topi, David L. Feinstein, and Herbert E. Longenecker Jr “IS 2002 Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems.” Association for Computing Machinery (ACM), Association for Information Systems (AIS), Association for Information Technology Professionals (AITP) Retrieved from http://www.acm.org/education/is2002.pdf Kung, Mabel, Samuel C. Yang, and Yi Zhang (2006, July/August) “The Changing Information Systems (IS) Curriculum: A Survey of Undergraduate Programs in the United States.” Journal of Education for Business, vol. 81, issue 6, pp. 291-300. Lee, Maier J. and Stan Gambill (1996, July/August) “CIS/MIS Curriculums in AACSB-Accredited Colleges of Business.” Journal of Education for Business, vol. 71, issue 6, pp. 329-333. Morach, Mike (2005, February) “The present and future for past languages – COBOL. (DATABASE INTELLIGENCE).” Database and Network Journal, Vol. 35, No. 1, p. 18-19. Raoufi, Mehdi and John Maniotes (2005) “Why C# and Why .NET in The Undergraduate Information Systems Curriclum.” Information Systems Education Journal, Vol. 3, No. 43, pp. 3-6. Ruby, Paula (2005, Summer) “Faculty Attitudes toward COBOL and its Place among Other Programming Languages in the AACSB Business College Curriculum within the United States.” Journal of Information Systems Education, Vol. 16, No. 2, pp. 217-228. Trauth, Eileen M., Douglas W. Farwell, and Denis Lee (1993, September) “The IS Expectation Gap: Industry Expectations versus Academic Preparation.” MIS Quarterly, vol. 17, issue 3, pp. 293-307. APPENDIX A Programming Languages Survey Please return by January 15, 2007 All responses are anonymous and confidential. 1. Which of the following best describes the nature of your company? _____ Computer/computer services/IT consulting _____ Chemical, oil and gas _____ Healthcare, pharmaceuticals _____ Utilities _____ Aerospace/defense _____ Financial Services/Insurance _____ Manufacturing _____ Publishing, printing _____ Other _________________________ (Please Indicate) 2. Which of the following best describes your company size (in annual revenue) _____ Less than $100 million _____ $ 1 – 3.9 billion _____ $100 – 499 million _____ $ 4 – 9.9 billion _____ $500 – 999 million _____ $ 10 billion or more 3. What is the number of full-time Information Systems professionals employed by your company? _____ Less than 5 _____ 50 –99 _____ 5 – 9 _____ 100 – 149 _____ 10 – 14 _____ 150 or more _____ 15 – 49 4. How many new Information Systems positions do you anticipate having in the next three years? _____ Less than 5 _____ 20 – 29 _____ 5 – 9 _____ 30 – 49 _____ 10 – 19 _____ 50 or more 5. What local area colleges or universities do you normally recruit from? Please check all that apply. ____ University of Pittsburgh (main campus) _____ Penn Highlands CC _____ University of Pittsburgh at Johnstown _____ Penn State University _____ St. Francis University _____ Indiana University of Pennsylvania _____ Other _________________________ (Please Indicate) 6. Which of the following best describes your job title? _____ CIO/VP, Info. Systems/IS Director _____ Systems Analyst/Programmer/IS Consultant _____ IS Manager/Consulting Manager _____ Human Resources Professional _____ Project Leader _____ Other _______________________ 7. How many years of Professional Work Experience do you have? _____ Less than 3 _____ 13 - 18 _____ 3 – 7 _____ 19 - 24 _____ 8 – 12 _____ 25 or more 8. Which of the following best describes your opinion about the number of classes of Programming Language an Information Systems major (business programmers) should take? _____ Five _____ Two _____ Four _____ One _____ Three _____ None 9. Please rank what you consider to be the three most important programming languages to include in an IS program. Place a 3 next to the most important programming language, a 2 next to the second most important programming language, and a 1 next to the third most important programming language. _____ C# _____ XML _____ ASP _____ Studio.Net Dev. Tools _____ Java _____ Visual BASIC _____C ____ C++ _____ Perl _____ Other ________________________ Please include any additional comments in the space provided. Thank You! APPENDIX B Programming Languages Survey Please respond by July 19, 2007 1. Which of the following best describes your opinion about the number of classes of Programming Language an Information Systems major should take? _____ Five _____ Two _____ More than five _____ Four _____ One _____ Three ______ None 2. How many programming languages are students required to take as part of the Information Systems program at your college or university? _____ Five _____ Two _____ More than five _____ Four _____ One _____ Three ______ None 3. Which of the following programming languages are students enrolled in your Information Systems program required to take as part of their undergraduate studies? _____ C# _____ XML _____ PHP _____ Studio.Net Dev. Tools _____ Java _____ Visual BASIC ____ JavaScript _____ VB.Net _____ C _____ C++ _____ Perl _____ Other -- Please specify ________________ 4. Please rank what you consider to be the three most important programming languages to include in an IS program. Place a 1 next to the most important programming language, a 2 next to the second most important programming language, and a 3 next to the third most important programming language. _____ C# _____ XML _____ ASP _____ Studio.Net Dev. Tools _____ Java _____ Visual BASIC ____ JavaScript _____ VB.Net _____ C _____ C++ _____ Perl _____ Other -- Please specify 5. Are there any plans to offer other or additional programming languages as part of the undergraduate MIS program at your college or University? Please respond below: Thank You! ?? ?? ?? ??