Development of North Carolina s First Software Engineering Program: An Experience Report M.H.N. Tabrizi, Sergiy Vilkomir, Junhua Ding Department of Computer Science East Carolina University Greenville, USA {tabrizim, vilkomirs, dingj}@ecu.edu Abstract The North Carolina s first Master of Science in Software Engineering program was introduced at East C The North Carolina s first Master of Science in Software Engineering program was introduced at East Carolina University in spring 2008. In this paper we report on our progress in terms of successful student recruitment and retention and also course delivery methods in both face-to-face and online environments. 1. Introduction Importance of the Software Engineering (SE) education has been recognized many years ago. Many well-know scientist and engineers participated in debates on computer science and SE education. Thus, Harlan Mills discussed principles of education in SE in his 1980 paper [1], where he considered commonalities and the differences of university and industrial SE education. David Parnas argued that "Software engineering programmes are not computer science programmes" in the 1998 publication [2]. Mary Shaw identified main challenges for educators of software developers and discussed a roadmap of SE education in 2000 [3]. However, there is a big time gap between formulating theoretical approaches and practical implementing these approaches in university programs. Though the first Master of Science in Software Engineering (MSSE) programs started to emerge in the late 1970s [4] they are still not so common as programs in Computer Science (CS) and Information Technology. The reason of necessity of MSSE programs is the high current demand of high-level professionals in the SE area. According to CNN Money, Software Architect holds the first position in the list of the top 100 USA careers with great pay and growth prospects with 34% of job growth10-year forecast [5]. The report by Yahoo Finance includes Software Engineering second among seven jobs companies are desperate to fill and predicts that "Software engineering jobs are expected to grow 21% by 2018, much faster than other sectors" [6]. The North Carolina s first Master of Science in Software Engineering program was introduced at East Carolina University (ECU) in spring 2008. The ECU MSSE focuses on meeting the career development needs of professionals practicing in fields related to software systems. This includes individuals with BS degrees in electrical engineering, computer engineering, information systems, computer science, and related fields. We also consider applicants with unrelated BS degrees conditionally on case by case bases. In this experience report we consider a history and the current state of the ECU MSSE program, MSSE program curriculum, technology and assessment methods we use for the face-to-face and online SE courses. ECU MSSE is a new program but it is based on a long preparatory period. After 3 years of successful offering and operation of the MSSE program, we strongly believe that our program is aligned quite well with the vision that we set forth over 20 years ago. 266 978-1-4577-0348-5/11/$26.00 c 2011 IEEE CSEE&T 2011, Waikiki, Honolulu, HI, USA
2. History and the current state of the ECU MSSE program The development of the software engineering program at East Carolina University began in early 1990 through course offering in the department of computer science. In spring 2008, a new degree program was launched, the first ever MSSE degree in the state of North Carolina, the program that combines the disciplines of computer science and engineering. The establishment of the program was supported by the report prepared for the University of North Carolina Office of the President in 2003 which identified software engineering as the fastest growing field in North Carolina. It was envisioned that offering the degree online and on-campus would provide opportunities for working professionals and graduate students to continue their education in a technical area with high employment potential. Besides admitting traditional on-campus students, our program targets the working men and women, local and regional businesses where they can improve their current practices while remaining fully productive to meeting client expectations. As shown in Figure 1 the MS in Software Engineering program has had a significant growth from 9 students in spring 2008 to 62 students in fall 2010. Figure 1. Number of students in the ECU MSSE program There are sometimes concerns that addition of SE program to CS program would actually hurt the CS student numbers in favor of the new SE students. Based on the students testimonial and our experience of three years of operation, we can report that we have, in parallel, both strong and stable MSCS and MSSE programs here at East Carolina University (Figure 2). We compare numbers only on-campus students as our MCSC program does not have online students. 3. MSSE program curriculum Courses included in our initial curriculum are shown in Table 1. The minimum degree requirement is 30 semester hours (s.h.). The core courses make 18-21s.h. and electives 9-12 s.h. Up to 6 s.h. can be taken from the list of additional courses. A minimum cumulative GPA of 3.0 must be submitted for all graduate courses. No more than 6 s.h. of course work evaluated as C may be counted toward the degree. 267
Number of students 40 30 20 10 0 Spring 2008 Fall 2008 Spring 2009 Fall 2009 Spring 2010 Fall 2010 MSCS students MSSE on-campus students Figure 2. Comparison of number of students in MSCS and MSSE programs In fall 2009 based on the feedback from our online students those with professional background and also from our industry partners our faculty decided on the introduction of new courses and also two new concentrations which has already been approved by the university for 2010/11 year (Table 2). Mandatory core courses make 9-12 s.h., namely SENG 6230 (3 s.h.), SENG 6235 (3 s.h.), Master s project (3 s.h.) or Master s thesis (6 s.h.). Core or Elective Prefix Number Table 1. MSSE program initial curriculum and Course s.h. Prerequisite Core SENG 6230 Software Engineering Foundations 3 - Core SENG 6235 Software Project Management 3 SENG 6230 Core SENG 6240 Software Architecture and Design 3 SENG 6230 Core SENG 6270 Software Verification and Validation 3 SENG 6230 Core SENG 6280 Process Management and Lifecycle 3 SENG 6230 Modeling Core SENG 6290 Software Engineering Project 3 SENG 6230 Core SENG 7000 Software Engineering Thesis 6 SENG 6230 Elective SENG 6250 Software Systems Modeling and 3 SENG 6230 Analysis Elective SENG 6260 Software Metrics and Quality 3 SENG 6230 Management Elective CSCI 5220 Program Translation 3 CSCI 4627 Elective CSCI 6130 Networking and Telecommunications 3 CSCI 6120 Elective CSCI 6140 Mobile Communication and Wireless 3 CSCI 6130 Security Elective CSCI 6600 Database management systems 3 CSCI 3700 Elective CSCI 6710 Developing e-commerce Systems 3 CSCI 6230 Additional CSCI 5210 Operating Systems II 3 CSCI 4630 Additional CSCI 5800 Artificial intelligence 3 CSCI 3310/3510 Additional CSCI 6100 Cryptography and information security 3 - Additional CSCI 6120 Computer system architecture 3 CSCI 4520 Additional CSCI 6410 Design and analysis of algorithms 3 CSCI 3650 Additional CSCI 6420 Computability and complexity 3 CSCI 4602 268
In fall 2010 the revised curriculum included several new courses and three concentrations that were proposed and approved by the CS faculty, college and university graduate curriculum committees for 2011/12 year (Table 3). Students need to choose one concentration that gives them 12 s.h. Variety of the courses gives us opportunity to accommodate students with different background and different needs. To complete the MS degree, students need to take two or three elective courses from the large list of available software engineering and computer science courses. Table 2. 2010/2011 MSSE concentrations Concentration Prefix and Number Software Design SENG 6240 and Development SENG 6245 SENG 6270 CSCI 6130 Software Project SENG 6250 Management and SENG 6260 Quality Assurance SENG 6280 CSCI 6710 Course Software Architecture and Desig Software Construction Software Verification and Validation Networking and Telecommunication Software Systems Modeling and Analysis Software Metrics and Quality Management Process Management and Life Cycle Modeling Developing e-commerce Systems Table 3. 2011/2012 MSSE concentrations Concentration Prefix and Course Number Software Design SENG 6240 Software Architecture and Design and Development SENG 6245 Software Construction SENG 6250 System Modeling and Analysis SENG 6270 Software Verification and Validation Software Project SENG 6255 Requirements Analysis and Management Management and SENG 6260 Software Metrics and Quality Management Quality Assurance SENG 6265 Foundations of Software Testing SENG 6280 Process Management and Life Cycle Modeling Software Testing SENG 6250 Software Systems Modeling and Analysis SENG 6265 Foundations of Software Testing SENG 6270 Software Verification and Validation SENG 6275 Dependable Systems and Software Reliability 4. Challenges of teaching the face-to-face and online courses in parallel For most courses are offered both face-to-face and online. Online courses are supported using a variety of Internet-based tools. The capability of offering a MSSE degree online expands the potential student base exponentially. For most companies wishing to re-tool or modernize its staff, they typically have to work shorthanded while one or often times multiple employees are in training classes. Upper level management can engage workers in online classes on their own time. The on-campus component of our program allows us to admit students with strong research background. These students will be able to fulfill the roles of graduate assistants and help the faculty in their research and teaching duties. Online student meetings are conducted using various technologies including Skype. During the online student meeting the highlights of the on-campus lecture material are re- 269
visited and questions related to the lectures are further discussed. On-campus courses are recorded for later delivery for online students. Almost all MSSE courses have team-based project requirement, where students work in team of 4-5 students to complete their project. Advantages of teaming up the online and faceto-face students include Online students are kept up to date on on-campus students activities. On-campus students are exposed to real world experience through collaboration with online students who are mostly professionals. Online students benefit from academic work experience. Combining online and on-campus team members provides an opportunity for global project development experience which is important in software engineering profession. It is our intention to allow a balanced growth in our online and on-campus student population. 5. Technology infrastructure According to our college technology team, the MSSE and its approximately 60 students are using 4 clustered IBM Blade servers with a Network Appliance 3020 NAS storage repository. Access to the MSSE storage on the NetApp NAS is via NFS. The MSSE students use about 500 GB (non-reduplicated) of NAS space. Approximately 30 virtual machines are deployed for MSSE class work and 5 virtual machines for graduate student research projects. We employ Vmware's ESX hypervisor on all MSSE blade servers; virtual machines run Windows 2003 server supporting MSSE Students with virtual machines in teams of 4 to 5. Access to the student virtual machines is via RDP. Each student virtual machine has Rational Rose Enterprise Suite, IBM WebSphere, Microsoft Project, and Microsoft Office installed. We teach online students and face-to-face students at the same time. Different instructors may use different technology or systems. Here is list of some systems we have been using during the last three years: 5.1. Virtual ECU system Virtual ECU [7] is designed to help provide both current students and potential students with a gateway to discover what East Carolina University has to offer in the Software Engineering and Computer Science graduate degrees. Its focus is to create an effective learning environment for the students, to build a usable system to serve everyone, and to bring the educational experience of East Carolina University to the Web. Using Virtual ECU CalSys system, instructors can post their course and also all the information related to their course online. The Virtual ECU s four distinct features include Lectures, Assignments, Projects, and Test calendars. It also provides tools for creating and posting online quizzes. 5.2. Blackboard system We use the Blackboard [8] to store the course contents such as supplementary materials, lecture slides and manage assignments and quizzes. The system is also used to facilitate the communication among students and students and instructors via different communication tools. The Blackboard system is used as supplementary to other online course delivering systems such Saba Centra. 270
5.3. Saba Centra Instructors can use the Centra [9] system to deliver course in synchronous mode to online students. The Centra system can deliver the video, audio, and the computer screen capture to online students, and it also supports the real time interaction among students or students and instructors via messaging or voice or even video. The Centra system also provides some other features such as creating agenda, managing course content, etc. However, in many cases, the shared screen especially for software development environment such as visual studio, the texts are not clear enough on the client sides (except for the large fonts, but then it limits the useful space in the development environment). Due to the unreliable Internet connection or bandwidth limitation, the quality of real time delivering of courses is undesirable in some cases. But current technology improvement should help to resolve the problem. 5.4. Mediasite Instructors only can use the Mediasite [10] in the global classrooms at ECU. Each global classroom has state-of-art videoconference facilities, and it provides excellent technical support on the site. The real time lecture and classroom scenario are streamed to online students. The computer screens are automatically recorded as slides, and students can switch between different view easily such as they may only watch screen and listen voice but not video. Students can resize the slides easily; therefore, students have no problem to view the shared screen in most of cases. However, Mediasite does not support the interaction among students or students and instructors. We use the Skype in addition to the Mediasite to facilitate the interactive communication during lecture time, but obviously, we only can use the messaging feature of the Skype. Otherwise, the voice in the Mediasite and the Skype will interrupt each other. 5.5. PowerPoint presentations with narrations The simplest way to provide students records of lectures is using PowerPoint presentations with narrations. This approach does not require any special equipment and can be used in any classroom. Slides with narrations are available both for face-to-face and online students via course web sites. Students can listen to lectures as a slide show and listen to narrations only for separate slides. Our experience shows that records of narrations are used not only by online students but also by face-to-face students to review course materials. 5.6. Virtual Reality Based (AVR) course delivery system Using the AVR system [11, 12, 13], the instructors will appear within a 3D classroom as an animated character, with their voice and motion broadcast to the students computers along with supporting course materials. Students view lectures online in a virtual reality environment setting that resembles real classroom environment. The effectiveness of the AVR system is being studied on learning outcomes of students in STEM fields. The study supported by a grant from NSF indicates that using AVR may lead to an increase in learning outcomes in STEM courses. One of the advantages of using the AVR system is its low bandwidth requirement which makes it very attractive to deliver rich multimedia content lectures to students including those located in rural communities. The AVR system is being developed here in our department. 271
5.7. Camtasia Camtasia [14] is a screen recording and video editing software that turn screen recordings into polished videos. We use Camtasia to record some classes and make lectures available for online students. Camtasia is also used during defenses of MSSE students' projects for recording both PowerPoint presentations and demonstrations of students' software. 6. Student evaluation We use traditional methods of student evaluation: midterm and final exams, tests, assignments, quizzes, etc. Each online student needs a proctor to take exams. Students choose their proctors following our proctor policy, and each proctor has to be approved by the course instructor in advance. We consider regular quizzes as an important element of SE teaching. The purposes of quizzes are: Stimulating students regular out-of-class work during semester both for face-to-face and online students. Controlling the level of learning and understanding of lecture materials by student. Stimulating the attendance of lectures by face-to-face students. Obtaining the regular feedback from online students. Preparing students for the final exams. A quiz is usually given online or at the beginning of each lecture and is completely based on the material of the previous lecture. The level of difficulty of questions and exercises should not be too high and should allow managing the quiz any student, who attended the lecture and worked at home to review the material. The grade for all quizzes is 10 20 % of the total grade for the whole course that underlines the importance of quizzes. The results of Student Opinion of Instruction Survey (SOIS) show that students appreciate quizzes as helpful learning tools. Another important component of student evaluation is an assessment of student team projects. Students are required to present their team projects and defend them at the end of the semester. We evaluate students' software systems and also quality of their presentations, design, testing, and documentation. 7. Conclusions Development of the North Carolina s first MSSE program was a step in the right direction that is already showing some successes. Although, the MSSE program is now three years old but the challenge as how to improve the program to fulfill the needs of the high technology companies in the years ahead is far from being over. The approval of the undergraduate degree in software engineering planning proposal by our faculty was also supported strongly by our industry advisory board. References [1] H.D. Mills, "Software engineering education", Proceedings of the IEEE, V. 68, n. 9, September 1980, pp. 1158-1162. [2] D. Parnas, "Software engineering programmes are not computer science programmes", Annals of Software Engineering, n. 6, 1998, pp. 19 37. [3] M. Shaw, "Software engineering education: a roadmap", In Proceedings of the Conference on The Future of Software Engineering (ICSE'00), Limerick, Ireland, 2000, pp. 371-380. 272
[4] N. Mead, "Software engineering education: How far we ve come and how far we have to go", The Journal of Systems and Software, V. 82, 2009, pp.571 575. [5] CNN Money, http://money.cnn.com/magazines/moneymag/bestjobs/2010/full_list/index.html [6] Yahoo Finance, http://finance.yahoo.com/career-work/article/110533/7-jobs-companies-are-desperate-to-fill [7] Virtual ECU, http://virtual.ecu.edu [8] Blackboard, http://www.blackboard.com/ [9] Saba, http://www.saba.com/products/centra/ [10] Mediasite, http://www.sonicfoundry.com/mediasite/?sm=4 [11] M.H.N. Tabrizi, "Agent and Virtual Reality Based Online Course Delivery System", In Proceedings of the Applied Computing Conference, Istanbul, Turkey, May 27-30, 2008. [12] E.M. Hodge, M.H.N. Tabrizi, M.A. Farwell, K.L. Wuensch, "Virtual reality classrooms: Strategies for creating a social presence", International Journal of Social Sciences, 2(2), 2008, pp. 105-109. [13] M.H.N. Tabrizi, "Teaching Online Software Engineering Courses in a Virtual Reality Classroom", Environment International Conference on the Virtual Computing Initiative, Research Triangle Park, NC, USA, May 7-8, 2007. [14] Camtasia, http://www.techsmith.com/camtasia/ 273