Execution Plan for Software Engineering Education in Taiwan

Similar documents
Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Ministry of Education, Republic of Palau Executive Summary

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

Towards a Collaboration Framework for Selection of ICT Tools

Infrared Paper Dryer Control Scheme

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Programme Specification. MSc in International Real Estate

A Pipelined Approach for Iterative Software Process Model

Module Title: Managing and Leading Change. Lesson 4 THE SIX SIGMA

Interview on Quality Education

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

Bachelor of Software Engineering: Emerging sustainable partnership with industry in ODL

Group A Lecture 1. Future suite of learning resources. How will these be created?

Delaware Performance Appraisal System Building greater skills and knowledge for educators

Associate Professor of Electrical Power Systems Engineering (CAE17/06RA) School of Creative Arts and Engineering / Engineering

Swinburne University of Technology 2020 Plan

Nurturing Engineering Talent in the Aerospace and Defence Sector. K.Venkataramanan

School Inspection in Hesse/Germany

NATIONAL TAIWAN UNIVERSITY OF SCIENCE AND TECHNOLOGY

Philip Hallinger a & Arild Tjeldvoll b a Hong Kong Institute of Education. To link to this article:

Online Master of Business Administration (MBA)

Quality in University Lifelong Learning (ULLL) and the Bologna process

Focus on. Learning THE ACCREDITATION MANUAL 2013 WASC EDITION

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

Guide to Teaching Computer Science

Empirical research on implementation of full English teaching mode in the professional courses of the engineering doctoral students

Lecturer Promotion Process (November 8, 2016)

The context of using TESSA OERs in Egerton University s teacher education programmes

Innovative e-learning approach in teaching based on case studies - INNOCASE project.

Being Extreme in the Classroom: Experiences Teaching XP

EDUCATION AND DECENTRALIZATION

Regional Capacity-Building on ICT for Development Item 7 Third Session of Committee on ICT 21 November, 2012 Bangkok

Measurement & Analysis in the Real World

Higher education is becoming a major driver of economic competitiveness

Distributed Weather Net: Wireless Sensor Network Supported Inquiry-Based Learning

Strategy and Design of ICT Services

Requirements-Gathering Collaborative Networks in Distributed Software Projects

2017 FALL PROFESSIONAL TRAINING CALENDAR

Education the telstra BLuEPRint

Youth Sector 5-YEAR ACTION PLAN ᒫᒨ ᒣᔅᑲᓈᐦᒉᑖ ᐤ. Office of the Deputy Director General

e-portfolios in Australian education and training 2008 National Symposium Report

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

FACULTY OF PSYCHOLOGY

Sharing Information on Progress. Steinbeis University Berlin - Institute Corporate Responsibility Management. Report no. 2

TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD *

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

Educator s e-portfolio in the Modern University

Delaware Performance Appraisal System Building greater skills and knowledge for educators

SEARCH PROSPECTUS: Dean of the College of Law

Statewide Strategic Plan for e-learning in California s Child Welfare Training System

Qualification Guidance

Assessment. the international training and education center on hiv. Continued on page 4

What Is a Chief Diversity Officer? By. Dr. Damon A. Williams & Dr. Katrina C. Wade-Golden

Initial teacher training in vocational subjects

Visit us at:

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Pharmaceutical Medicine

Higher Education Review (Embedded Colleges) of Navitas UK Holdings Ltd. Hertfordshire International College

Multimedia Courseware of Road Safety Education for Secondary School Students

OilSim. Talent Management and Retention in the Oil and Gas Industry. Global network of training centers and technical facilities

NORTH CAROLINA STATE BOARD OF EDUCATION Policy Manual

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Michigan State University

PROGRAMME SPECIFICATION

National Survey of Student Engagement (NSSE)

Unit purpose and aim. Level: 3 Sub-level: Unit 315 Credit value: 6 Guided learning hours: 50

Developing a Distance Learning Curriculum for Marine Engineering Education

Council of the European Union Brussels, 4 November 2015 (OR. en)

Applying Learn Team Coaching to an Introductory Programming Course

Guidelines for the Use of the Continuing Education Unit (CEU)

PROJECTS FOR HAPPINESS 2015

ICT + PBL = Holistic Learning solution:utem s Experience

An Introduction to LEAP

ZHANG Xiaojun, XIONG Xiaoliang School of Finance and Business English, Wuhan Yangtze Business University, P.R.China,

Software Maintenance

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Logical Soft Systems Methodology for Education Programme Development

Programme Specification. BSc (Hons) RURAL LAND MANAGEMENT

This Access Agreement is for only, to align with the WPSA and in light of the Browne Review.

What is PDE? Research Report. Paul Nichols

Maintaining Resilience in Teaching: Navigating Common Core and More Online Participant Syllabus

COVER SHEET. This is the author version of article published as:

Nottingham Trent University Course Specification

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

A Note on Structuring Employability Skills for Accounting Students

The Isett Seta Career Guide 2010

AAC/BOT Page 1 of 9

ICDE SCOP Lillehammer, Norway June Open Educational Resources: Deliberations of a Community of Interest

State of play of EQF implementation in Montenegro Zora Bogicevic, Ministry of Education Rajko Kosovic, VET Center

The SREB Leadership Initiative and its

Indiana Collaborative for Project Based Learning. PBL Certification Process

SELF-STUDY QUESTIONNAIRE FOR REVIEW of the COMPUTER SCIENCE PROGRAM

M.S. in Environmental Science Graduate Program Handbook. Department of Biology, Geology, and Environmental Science

PROJECT DESCRIPTION SLAM

User Education Programs in Academic Libraries: The Experience of the International Islamic University Malaysia Students

Eller College of Management. MIS 111 Freshman Honors Showcase

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

An Industrial Technologist s Core Knowledge: Web-based Strategy for Defining Our Discipline

Automating Outcome Based Assessment

Transcription:

2012 19th Asia-Pacific Software Engineering Conference Execution Plan for Software Engineering Education in Taiwan Jonathan Lee 1, Alan Liu 2, Yu Chin Cheng 3, Shang-Pin Ma 4, and Shin-Jie Lee 1 1 Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan 2 Department of Electrical Engineering, National Chung Cheng University, Chiayi, Taiwan 3 Department of Computer Science and Information Engineering, National Taipei University of Technology, Taipei, Taiwan 4 Department of Computer Science and Engineering, National Taiwan Ocean University, Keelung, Taiwan jlee@csie.ntu.edu.tw, aliu@ee.ccu.edu.tw, yccheng@ntut.edu.tw, albert@ntou.edu.tw, jielee@csie.ntu.edu.tw Abstract The main purpose of this paper is to provide a snapshot of the current status of our two-phase-eight-year nation-wide effort in improving the software engineering education in Taiwan. In the first phase of this program (2004-2008), the number of universities that regularly offer software engineering courses grew from 63 to 92 while the number of offered courses grew from 159 to 406. The main objective of the second phase (2010 2014) was set to establish and implement the core competences of software engineering in our module programs. Seven capabilities are identified to form the SE core competences, including think computationally; teamwork in software development and maintenance; build abstractions and perform problem domain decompositions; analyze and model complex systems involved various domains; develop, review and verify complex systems involved various domains; create userfriendly interfaces based on user experiences; and manage and evolve large-scale design and development efforts. Multiple actions have also been taken to enhance the core competences of students in ICT-related programs in Taiwan, including developing practical course material, holding training courses for the educators, providing onsite lecturing support, and delivering industrial-oriented practical courses. Keywords-Software engineering education; Software engineering core competence; Curriculum design and implementation I. INTRODUCTION Taiwan s software industry has poised itself to become one of the most important industries with its growing annual revenues [4]. In the past decade, a substantial amount of government funding has been spent to fuel the growth, largely inspired by the success of India s software industry, which is able to become an international software power house in the past two decades through its large scale adoption of software engineering standards and practices, most notably CMMI [1]. So far, the government subsidy and efforts from the private sector have resulted in a number of more than 150 companies to be accredited with a CMMI ML rating [3]. Despite this phenomenon, Taiwan s software industry has yet to become internationally competitive. While the underlying causes are not yet clear as a national-wide survey of quality and productivity is yet to exist, as far as workforce supply is concerned, the industry has unanimously voiced both a short supply of software professionals and a gap in the capability that exists between what is expected by the industry and what is trained in the higher education system. The mission of higher education system is clear: to generate a sufficient supply of software professionals with good capabilities. Thus, a national scale effort was kick-started in 2002 to involve universities to improve software engineering education. The Software Engineering Consortium (SEC) was formed in 2004 under funds provided by the Ministry of Education (MOE) [5]. A highly visible growth ensued. From 2003 to 2008, the number of universities that regularly offer software engineering courses grew from 63 to 92 while the number of offered courses grew from 159 to 406 and the number of students taking SE-related courses in the academic year of 2008 was 7,396. Since the number of university students majoring in computer science or information engineering is about 30,000 per year [2] and the number of students in each grade is about 7,500, almost all students have learned SE models and methods. The result is that the shortage problem has been gradually alleviated. With the shortage problem being continuously improved, the SEC refocused on improving the quality aspect. In 2011 numerous new strategies were put in into action under the umbrella term of Software Engineering Core Competences, which include the seven following capabilities to think computationally; teamwork in software development and maintenance; build abstractions and perform problem domain decompositions; analyze and model complex systems involved various domains; develop, review and verify complex systems involved various domains; create user-friendly interfaces based on user experiences; and manage and evolve large-scale design and development efforts. The rest of this paper is organized as follows. Section 2 presents the identified Software Engineering Core Competences. Section 3 presents the educational strategy to infuse the core competences into courses and curricula. Section 4 explains how the strategy is put in practice. Section 5 presents the result so far. Section 6 offers a brief conclusion. II. SOFTWARE ENGINEERING CORE COMPETENCES In refocusing from the quantity problem to the quality problem, the following seven core competences are identified to characterize the software engineering capabilities of the graduates of SEC member universities: (1) Fundamental: the capability to think computationally. (2) Teamwork: the capability to co-work with colleagues in software development and maintenance. (3) Problem Space: the capability to build abstractions and 1530-1362/12 $26.00 2012 IEEE DOI 10.1109/APSEC.2012.142 749

perform problem domain decompositions. (4) Solution Space (I): the capability to analyze and model complex systems involved various domains. (5) Solution Space (II): the capability to develop, review and verify complex systems involved various domains. (6) Usability: the capability to create user-friendly interfaces based on user experiences. (7) Software Evolution: the capability to manage and evolve large-scale design and development efforts. III. EXECUTION PLAN AND STRATEGY FOR SE EDUCATION The SEC has six strategies for enhancing the SE core ability of the students in information and communications technology (ICT) related programs in Taiwan: raising the awareness of SE among the educators in ICT related areas, promoting the industry related SE curriculum, assisting universities with onsite lecturing by the SEC team, designing practical course material based on open source tools, embedding SE concepts in basic computer science courses, and preparing an SE competition and SE competency passport program. The following subsections provide more information on these strategies. A. Raising the awareness The SE educators are a rare commodity in Taiwan, especially those who have experience in developing large software systems. We provide a training program to the ICT related educators for applying SE in various fields. The goal is to prepare a better equipped educators and researchers in the SE field. B. Promoting industrial collaboration Compared to the software projects in the industry, the projects that the students participate in school are quite small in size and also small in the number of people involved. The students lack the knowledge and experience in using tools and participating in teamwork for a large scale system development. Taiwanese students often receive awards in international programming competitions, but the software industry in Taiwan is way behind the advances in hardware industry. One of the main reasons is that many have the misconception of programming equal to software development and do not realize the importance of software process and other related SE practices. In addition, the academia has concentrated in theory and lacks the experiences from industries. Without real world case studies, the course material cannot motivate the students in learning SE. In order to let the students know the benefit of SE in the software industry, the SEC has invited some internationally renowned software companies to participate in course material design and even to go to the campus to give lectures. To bridge the gap between the academia and industry, we have designed a program to integrate academic teachers to give lectures in the theoretical part and engineers to share practical experiences. C. Providing onsite lecturing services With the growth in the ICT industry, many ICT related departments have appeared in Taiwanese universities and colleges. With the demand in software outweighs the hardware needs in recent years, many have realized that the key to success in the ICT products rests in good software development. However, many educators in the related programs do not have experience besides programming. The curriculum lacks software development process and knowledge in software testing, configuration management, issue tracking, etc. This is the main reason that the SEC has invited the experts in the SE fields to form a service team to assist schools in teaching. Besides funding schools (partner schools) in curriculum improvement projects, the service team goes to those partner schools to give short-term lectures in SE knowledge and skills. The goal is to strengthen the existing course material of any ICT related courses in each school with the concept of SE to guide the students in building quality software systems with teamwork. D. Designing practical course material The SEC has designed 12 SE courses with lecture notes available to public. These lecture notes have been used widely in academia. Requests have come from educators in many fields, calling for guidance in applying SE in courses like interactive multimedia systems, mobile applications, and digital home in the ICT fields. The direction that we set for this request is to help the students build quality projects in such courses. E. Embedding SE in basic courses Software Engineering is not included in curriculum for many ICT related departments in Taiwan. With the demand for quality software in ICT products, the developers start to realize that programming alone is not equal to software development. In order to give those students who may not have SE in their curriculum a chance to learn some basic SE concept and useful skills like software testing, version control, and bug tracking, we have designed lessons to be integrated to basic ICT related core courses like Introduction to Computers, Data Structures, Object-Oriented Programming, and Algorithms. The goal is to prepare the students capable of producing quality software in the industry. F. Competency competition and learning passport During the course of teaching, many educators have responded that the best way to motivate the students in learning is competition. In order to stir the interest in SE among teachers and students, the SEC has planned a collegiate SE competency competition to promote core competences like teamwork, problem analysis, problem solving, software management, and software maintenance. Besides the competition, we have planned a learning passport program which is like a learning portfolio recording a learner s experiences in SE knowledge, skills, tools, and accomplishment. Besides the information about course taking, results from competitions and examinations will also be recorded in the passport. The goal is to let the companies know how well a student is equipped with the training in SE and to help the companies find a right person for a suitable job. 750

IV. IMPLEMENTATION According to the strategies mentioned in the previous section, the SEC has planned eight ways to implement our goals, which are to design a course material consisting of theory and practices based on open source tools, to introduce SE concepts in the core courses in the ICT fields, to train the educators in the ICT field to obtain SE specialties, to assist the educators with onsite lecturing services, to create industryoriented course material, to provide SE skill training courses for software development teams, to host collegiate SE competency competition, and to issue SE competency learning portfolio. The main goal is to help the students in the ICT related program to obtain high level of SE competences. A. Practical course material The goal of this sub-project is to introduce SE to software related courses by providing practical SE concepts. After surveying the needs, we have identified the following five important SE practices that will benefit many ICT related courses. The course material is designed with open source tools in mind, so that the lectures will be accompanied by practical tools and examples. Configuration Management. Many artifacts are delivered during software development, and configuration and version control is necessary in keeping track of the relationship between different artifacts. Any stakeholder of the project many need to know any artifact or a combination of artifacts in a particular time. Tools like Codendi, CVS, CSVNT, OpenCVS, Vesta, CS-RCS, and Subversion are useful in this practice. Software Testing. Testing is to assure the correctness, completeness, safety, and quality of a software system. We also need to check the correctness of development process, measuring the software quality, and validating the user requirements during software development process. Software testing may be Alpha testing, Beta testing, and Gamma testing; and testing techniques include unit testing, integration testing, system testing, and regression testing. Testing tools include JUnit, Cactus, and JTestCase for Java; CppUnit, UnitTest++, and CxxTest for C/C++; and.netunit, csunit, and dotunit for.net families. Project Management. In order to complete a software project effectively, the concept of process and management has become an integral part of project execution. The life cycle of a software project can be divided into phases like initialization, planning, execution, and closure. The main concern in starting a project is to know why the project needs to be conducted, how to conduct a project, and what to include in a project, and all these concerns will be included in producing a project execution plan. Following the plan, the project is executed, managed, and controlled until the project is complete. Tools such as GanttProject, OpenProj, GanttPV, and Taskjuggle are useful for planning; and Xmind, One point s WBS, and WBStool are good for producing work breakdown structures. Code Review. The goal is to use a systemic way to check if program code contains defects like format string exploits, race conditions, memory leaks, and buffer overflows. Finding and fixing such defects enhances the software quality as well as the ability of a software developer. Applicable tools include Jupiter, JCR, and Groogle. Bug and Issue Tracking. Reporting, managing, and tracking bugs and issues can assist programmers and testers to assure software quality. Bugs Everywhere, DisTract, BugZilla, Mantis, Trac, and JIRA are useful tools. B. SE practices in ICT courses In order to provide the students in the ICT related fields a chance to learn SE knowledge and give them basic ability to face the challenges in the software industry, the SEC has designed supplemental lessons to introduce SE to core courses in the ICT related fields. The supplemental lessons cover software testing, version control, and bug tracking. These lessons are suitable to be used with basic courses like Introduction to Computers, Introduction to Programming, Object-Oriented Programming, Data Structures, Algorithms, etc. By knowing how to apply the SE concept in projects, the students will be better prepared before joining the industry. The SEC has already completed such course material in Object- Oriented Programming and Data Structures. Currently, Algorithms and Introduction to Computers are the courses being analyzed. C. Training courses for the educators The educators are the key to nurture better software professionals, but the educators themselves need continual support in education and training to be better equipped. The SEC has been providing continual education programs to the community with workshops and consulting programs by inviting the experts in the field as lecturers and mentors. The training programs include teaching demonstration and discussion to give practical guidelines in teaching SE in various fields. D. Onsite lecturing support For those educators who are not in the SE field but are interested in giving lectures of SE in their software courses, the SEC provides onsite lecturing services. Besides the training program mentioned above, the SEC has a service team consisting of educators capable of giving 6-hour onsite lectures at various schools as a part of extra lessons for software courses. The partner schools can apply for this service according to the needs of a course, and the applications are evaluated to find suitable SE lectures in the course material. Onsite lectures do not only provide beneficial SE knowledge and skills to the students, but also give the educators a chance to learn how to give SE related course content in lectures. This will also be a chance to discuss the content with the SEC teaching team. 751

E. Industrial-oriented practical courses For students to learn how SE is put into practice and to understand how the software industry treats software development, the SEC has invited internationally known software companies to share their views on SE to students. The engineers from the companies join the academia educators to complete a course in which the academia educators give theory parts in lectures and the engineering give practical hands-on lessons to the students. The engineers explain their software development experiences with the students and give lessons on tools to get familiar with how the software companies carry out projects. The goal is to bridge the gap between the academia and the industry. The main tasks of this program are as follows. 1. Finding the companies. According to the nature of courses, an influential company is chosen and engineers are invited as teachers to help enhance the content of existing courses. 2. Planning the content. The content of the lecture is planned according to the needs and expertise of the engineers to form practical lessons. 3. Planning the lecturing method. The detail information like location and time are negotiated with the engineers to carry out project-oriented lessons. 4. Hosting industry oriented lecture workshop. Inviting related companies and educators to have a forum for discussion. F. Giving training in SE skills to development teams The MOE has joined with IT companies like Microsoft, Oracle, Chughua Telecom, and Far Eastone Telecom to support software development teams from universities and colleges. One of the main concerns is that many of the teams do not have the knowledge and experience in SE. In order to boost their productivities, the SEC plans to host workshops to give practical SE skills to the participating members. The content includes project management, configuration management, code review, software testing, and bug and issue tracking. The goal is to let the teams use SE practices along with tools in their software development. G. Hosting collegiate SE competency competition To raise the awareness and motivation of educators and students toward SE, the SEC is currently planning for a competition to check the core SE competences of the participants. The initial plans are described below. 1. Rules. A team consists of 4 to 5 members of undergraduate or graduate students. An existing project may not be submitted. The submitted project must be a newly created project. 2. Competition stages. Stage 1: Training camp for SE competency. The training program helps the teams to carry out software process and practices. The content includes project management, configuration management, requirements analysis, system design, code review, testing, and debugging. Stage 2: Project topic. Each team chooses two topics from the project topics and high level requirements announced by the organizer. The organizer then assigns a topic from those two choices. Each topic is accompanied by a requirements provider who is familiar with SE and requirements analysis (representatives from the industry, government, or academic sectors), and the task of a team is to acquire requirements through interviews and to deliver an execution plan. Stage 3: Project submission. Each team defines its own software development process based on the guideline given by the organizer. Following the process, each team needs to submit the following deliverables. (1) Project execution plan, (2) Progress and milestone check reports, (3) System requirements specification, (4) System design documents, (5) Test reports, (6) Implementation and description, and (7) Postmortem report. Stage 4: Final competition. After judging the reports, the best 10 to 20 teams are invited to the final stage for the onsite review. During the onsite review, each team gives a presentation on the development process, the artifacts delivered, and the description of the completed system. The final system is demonstrated according to scenarios, and the questions raised by the judges are to be answered. 3. Grading criteria. Process quality. The grades are given based on the evaluation methods like the CMMI assessment. Product quality. The final system is judged according to its completeness, usability, defect density, extensibility, and maintainability. H. SE competency learning portfolio To encourage the students to keep track of their learning experiences in SE related knowledge, skills, tool usage, and software development, the SEC is promoting a learning portfolio for students. By having a portfolio, a student can review how complete his training in SE is and is able to plan for further training. After graduation, a student can give companies the portfolio, and the companies can evaluate a student based on the portfolio to see the training record and to judge the potential of that candidate in order to place the right person at the correct position. The current plan is as follows. 1. Content. SE skills. Skillful programming languages, software tools, system platforms, SE practices, etc. Course taking. Courses and workshops offered by the SEC including workshops and training camps, especially on the topics of project management, configuration management, code review, testing, bug tracking and debugging. 752

Certification. Passing grades from the SEC initiated competency examinations covering the topics of project management, requirements analysis, system design, software testing, etc. Competition. Awards from the SEC hosted SE competency competitions. 2. Method. SE Core Competency portfolio website. The purpose of the website is to let each student manage and maintain the learning portfolio. The website will be searchable for the prospective employers in the future. SE Competency examination. The SEC is planning an examination to cover the SE core competences including project management, configuration management, requirements analysis, system design, software testing, code review, bug tracking, and debugging. Before the examination, training and lessons will be given to those who are interested. 3. Portfolio Evaluation. The comments and suggestions will be given to the content of the portfolio, and the students and future employers can evaluate the ability of the students accordingly. V. EVALUATION TABLE I. SE ON-SITE COURSES DELIVERED IN 2010~2012 Phase Universities Topics Covered 1 (2010~2011) 20 SE for Data Structure Project Management Code Review 2 (2011~2012) 23 SE for Object-Oriented Programming Software Testing Bug Tracking & Debugging In order to assess the current results of the effort of improving quality of software engineering education, we have designed an evaluation model with two criteria: the number of universities that join the on-site co-lecturing program and the courses delivered which are enabled to cultivate SE core competences. From 2010 to 2012, two-phase on-site courses co-lectured by trainers and hosts are delivered (shown in Table 1). Topics covered in the courses include SE for data structure, SE for object-oriented programming, project management, software testing, code review, and bug tracking & debugging. A total of 64 course units (384 hours) are delivered, and 21 SE professionals, 33 universities, 53 university teachers, and more than 2000 students participated in this event. The result shows that a growing number of modules are covered from 2010 to 2012 to help students to develop their core competences. Besides, from 2010 to 2012, SEC invited IBM, Microsoft, Yahoo, and Oracle to offer SE practices: (1) IBM delivered a short course of service oriented computing in the northern Taiwan; (2) Microsoft delivered a short course of practical software testing in the northern Taiwan; (3) Yahoo delivered a short course of cloud computing in the northern Taiwan; and (4) Oracle delivered a short course of practical Object-Oriented development framework in the central Taiwan and the southern Taiwan. Totally more than 300 students from 11 universities participated in this event. VI. CONCLUSION The main purpose of this paper is to provide a snapshot of the current status of our two-phase-eight-year nation-wide effort in improving the software engineering education in Taiwan. The first phase of this program (2004-2008), the Software Engineering Consortium (SEC) was formed and sponsored by the Ministry of Education in Taiwan. The aim of the SEC was to establish awareness and to increase the enrollment of software engineering courses. As a result, from 2003 to 2008, the number of universities that regularly offer software engineering courses grew from 63 to 92 while the number of offered courses grew from 159 to 406. The main objective of the second phase (2011 2014) was set to establish and implement the core competences of software engineering in our module program. In 2011 numerous new strategies were put into action under the umbrella term of Software Engineering Core Competences, which include seven capabilities. In 2012, the SEC has taken multiple actions, including developing practical course material, holding training courses for the educators, providing onsite lecturing support, and delivering industrial-oriented practical courses. These actions and additional new actions will be performed continuously to enhance SE core competences of students in ICT-related programs in Taiwan. ACKNOWLEDGMENT This research was sponsored by Ministry of Education in Taiwan. REFERENCES [1] CMMI (Capability Maturity Model Integration) Website. Available from: http://www.sei.cmu.edu/cmmi/. [2] Education Statistics: Top-10 University Departments in Taiwan. 2011, Ministry of Education, Republic of China (Taiwan). [3] CMMI for Development SCAMPI Class A Appraisal Results: 2010 End- Year Update. 2011 March, Software Engineering Institute, Carnegie Carnegie Mellon University Mellon University. [4] III-MIC. Overview of Information Software Industry in Taiwan (in Chinese). Taiwan Electrical and Electronic Manufacturers' Association e-paper 2008; Available from: http://www.teema.org.tw/epaper/20090325/industrial001.html. [5] J. Lee and Y.C. Cheng, Change the face of software engineering education: A field report from Taiwan. Information and Software Technology, 2011. 53(1): p. 51-57. 753