Design of Interventions for Instructional Reform in Software Development Education for Competency Enhancement
development, (v) three-dimensional perspective of the knowledge domain of software
development, (vi) two core principles for facilitating deep learning, and (vii) a fourdimensional
taxonomy of pedagogic engagements over (v).
Finally, as exemplar case studies, we also elaborate upon some instructional interventions
designed and administered by us in some chosen set of computing courses. These interventions
are manifestations of some aspects of our proposed framework of pedagogic engagements for
software development education. Some new courses have also been developed in the process.
Investigations related to curricular aspects like specific programming languages, methodologies,
or formalism are not included within the scope of this work. We believe that the proposed
framework is fairly comprehensive, reusable, and robust. It can be used to design many more
interventions in software development education. Designers of educational programs for other
professions can also use this framework and methodology.
Section 1.4: Thesis Layout
The first chapter of the thesis gives an overview of the motivation, objective, background,
research method, and results of the reported work. In addition, we also discuss the evolution of
computing curriculum in the last five decades.
In the second chapter, the required core competencies for software developers are explored with
the help of published recommendations of accreditation agencies, professional societies, and
published research. Fresh survey has also been carried out for this investigation. These
competencies are then consolidated into a three-dimensional taxonomy. More literature is
explored to consolidate the competency requirements of the software services and software
product companies.
The third chapter analyzes the distinguishing features and multidimensional aspects of software
development with a view to further analyze the required competencies. In this process, a large
number of software professionals were consulted on various issues related to software
development and required educational inputs. The three-dimensional taxonomy of competencies
33
proposed in the second chapter is distilled and revised into a three-tier taxonomy of twelve
competencies.
In the fourth to sixth chapters, we discuss the meaning of the identified twelve competencies in
the context of software development work. The basic competencies are discussed in fourth
chapter. The competency driver-habits of mind are elaborated in fifth chapter and competency
conditioning attitudes and perceptions are discussed in sixth chapter. We draw upon multidisciplinary
published literature and empirical studies in the process. Each of these chapters deals
with a different category of competencies as per our taxonomy.
The seventh chapter gives an overview of various quantitative and qualitative surveys among
computing students, software developers, and faculty of engineering institutes. We conducted
these surveys to empirically investigate the phenomenon of ‘learning’ in computing/engineering
disciplines. In this chapter, we essentially discuss the rationale for student-centric active
learning.
The eighth chapter gives the most significant theoretical contribution in this work. We
consolidate all our earlier findings discussed in the earlier chapters with the results of carefully
chosen classical and contemporary ‘learning’ theories. These theories have been chosen with
respect to their applicability for software development education. We propose a unified
framework of pedagogic engagements in software development education. This framework
focuses on development of required core competencies for software development as consolidated
in the third chapter and discussed in the fourth, fifth, and sixth chapters.
Some aspects of this framework are manifested in some instructional interventions discussed in
the ninth chapter. The tenth chapter provides a summary, and suggests future scope of research.
34
CHAPTER 2: IDENTIFICATION OF CORE COMPETENCIES
FOR SOFTWARE ENGINEERS
Education programs seek to develop certain generic and discipline specific competencies of
students. Educationists, accreditation agencies, professional societies, as well as forums of
industry often engage in discourse about the essential and desired competencies as outcomes of
education programs. Passow [78] has interpreted the competencies to mean the skills, abilities,
knowledge, attitudes, and other characteristics that enable a person to perform skillfully (i.e., to
make sound decisions and take effective action), in complex and uncertain situations such as
professional work, civic engagement, and personal life. Further, she has viewed expertise as the
proficient coordination of multiple competencies that leads to consistently effective performance
in a variety of complex, unique, and uncertain situations.
Section 2.1: Study Report on Core Competencies for Engineers
with Specific Reference to Software Engineering
We first discuss the various studies related to the core competencies required for general
engineering graduates, and come up with the set of general engineering competencies normally
accepted among the researchers [78a]. With this set of competencies as a starting point, we did
an extensive survey among software engineering practitioners, to find out which subset of
engineering competencies are more important for the software engineering graduates.
Bordogna [79] quotes an NSF report (published in 1989) which identified integration, analysis,
innovation and synthesis, and contextual understanding as key capabilities for engineering
students. He also posits that the essence of engineering is the process of integrating different
forms of knowledge to some purpose, and an engineering student must experience the ‘functional
core of engineering’- the excitement of facing an open-ended challenge and creating something
that has never been. He proposes that a 21
35
st century engineer must have the capacity to:
i. design, in order to meet safety, reliability, environmental, cost, operational, and
maintenance objectives,
ii. realize products,
iii. create, operate, and sustain complex systems,
iv. understand the physical constructs and the economic, industrial, social, political,
and international context within which engineering is practiced,
v. understand and participate in the process of research, and
vi. gain the intellectual skills needed for lifelong learning.
Dodridge [80] classifies the attributes of engineers into two broad categories of (i) knowledge
and understanding and (ii) skills. Dodridge (2003) as well as Mason [81] refer to a 1998 survey
by the EMTA (Engineering and Marine Training Authority) that identified practical skills,
multiskilling, computer literacy, communication skills, management skills, personal skills, and
problem solving skills as the most important skill deficiencies among engineers. Hoscette [82]
and Erlendsson [83] have identified some workplace defects and leading causes of failures in
engineering. As per their observation, the major concerns are passivity, non-responsiveness,
uncritical thinking, technical incompetence, inept or poor communication skills, poor relations
with the supervisor, inflexibility, poor and lax working habits, and too much independence.
Successful Practices in International Engineering Education (SPINE) is a benchmark study [78a]
focusing on the analysis of successful practices in engineering education in ten leading European
and U.S. universities including MIT, CMU, and ETH, Zurich. The study attempted to measure
the perceived importance and assessment of fifty-one parameters on quality of education,
teaching methods, engineering competencies, general professional skills, and aspects of
reputation of institute through a quantitative analysis. In the SPINE project, 543 professors of
these universities, 1372 engineers and 145 managers of European and US companies were
questioned. A summary of their findings is given at Annexure AN11.
We administered a survey among Indian engineers and managers working in Indian and
multinational IT companies to obtain their perceptions on the importance of forty-nine
parameters of engineering education. For the purpose of our first empirical study [84]
conducted in 2004-06, we added two additional general professional competencies: (i) awareness
of environmental issues, and (ii) sensitivity towards socio-economic aspects for sustainable
technological development.
36
The abovementioned twenty-three competencies were included in this list. Other parameters on
teaching methods, quality of education, and aspects of reputation of institutes were the same as
in the SPINE survey. The results of this survey with reference to the teaching methods are
discussed in Chapter seven. The other two set of surveyed parameters are not included in this
thesis. Respondents were requested to assign numeric ratings to these parameters on a scale of 0
to 10, with 10 being the highest importance in terms of the parameter’s criticality and potential
contribution in preparing students for a successful professional career.
Fifty-four experts working in fifteen companies responded. The responding experts had
industrial experience ranging from 1.5 years to 35 years with an average experience of 7.5 years,
which is inferred to be slightly higher than the industry average, given the average age of
employees in the Indian IT industry is only 27-30 years [5]. The Collection of these responses
was spread over a period of approximately one year from 2003 to 2004. Table 2.1 provides a
brief summary of the survey results about the importance of competencies. More details are
provided in Appendix A1.
Table 2.1: Most important engineering and general professional competencies, as rated by
Indian engineers and managers working in Indian and multi-national IT companies (2004)
No Competency Category
1 Problem solving Pivotal
2 Analysis/Methodological skills Critical
3 Basic engineering proficiency Critical
4 Development know-how Critical
5 Teamwork skills Critical
6 English language skills Critical
7 Presentation skills Critical
8 Practical engineering experience Critical
9 Leadership skills Critical
10 Communication skills Critical
Problem solving skill was also identified as the most important competency by the responding
engineers in the SPINE project [78a], as well as a University of Arkansas study [85]. Problem
37
solving is the ability to identify and solve problems, when and where they occur. Domelen [86]
quotes Steward (1982), “... all problem solving is based on two types of knowledge: knowledge
of problem-solving strategies, and conceptual knowledge.” Gary [87] argues that curriculum
should provide opportunities for transforming a problem statement into a model, conjecturing
solutions, selecting or developing the appropriate mathematics, examining the analysis, and
continuing to transform the conjecture into a solution. Bruner [88] proposed that preparing
students for solving real-life problems require a different paradigm of education and learning
skills, including self-directed learning, active collaboration, and consideration of multiple
perspectives. Problems of this nature do not have “right” answers, and the knowledge to
understand and resolve them is changing rapidly, thus requiring an ongoing and evolutionary
approach to ‘learning’.
The findings of this study, based on the ratings assigned by Indian engineers and managers
working in the Indian and multinational IT companies, as summarized in Table 2.1, are highly
compatible with the findings of the SPINE project, which examined the requirements for Europe
and the USA in a more general context of the engineering industry. However, importance of
development know-how, practical engineering experience, research know-how, and specialized
engineering proficiency have been rated at a higher level by the respondents of the current study,
as compared to the respondents of the SPINE project. We can explain this difference by
examining the nature of the Indian IT industry. This difference may perhaps be partially
attributed to the fast obsolescence in the IT industry. Further, the Indian IT industry is mainly a
“service industry.” Many companies want to have “industry ready” engineers. Often some
companies mention some specific IT skills like the ability to program in specific computer
languages, and the use of development tools as recruitment criteria for fresh engineers.
Interestingly, the importance of other language skills has been rated very low as compared to the
SPINE rating. As Indian IT companies begin to play a larger role in non-English speaking
countries, this is likely to change marginally. Some companies have already started
recommending potential recruits to acquire skills in languages like Japanese. There are some
noticeable differences with respect to the NASSCOM-KPMG and also Indian Task Force reports
38
[89] that classified spoken English, team-working, initiative/enthusiasm, and motivation/drive as
desirable skills rather than necessary skills.
Two competencies not examined by the SPINE project, and introduced in this study, were
awareness of environmental issues and sensitivity towards socio-economic aspects for
sustainable technological development. The first among these has come out as ‘obligatory’ while
the second has been rated as a desirable competency.
Hence, we find conclude that the identified core competencies for general engineering graduates
were also required by software engineers, but there were major difference in their order of
importance.
Section 2.2: Necessary Competencies as Educational Outcomes for Software
Engineers as Recommended by Accreditation Boards, Professional Societies’
and Other Approaches
Curriculum content is no longer the key as the accreditation agencies in many countries have
transformed their accreditation criteria and standards in terms of core competencies. A major
shift has taken place from input-based criteria to outcome-based approach. NAE in their vision
report for 2020 [15] recommends that engineering schools should vigorously exploit the
flexibility inherent in the outcome-based accreditation approach to experiment with novel
models for baccalaureate education. Subsequently, we carried out an extensive study of the
recommended outcomes by accreditation boards of some countries. We examined the
recommended outcomes by Accreditation Board for Engineering and Technology (ABET)
(United States) [90-92], United Kingdom Standards for Professional Engineering Competence
(UK-SPEC) [93], Institution of Engineers, Singapore (IES) [94], Engineers Australia
Accreditation Board [95], and Japan Accreditation Board for Engineering Education (JABEE)
[96]. These are summarized in Annexure AN1.
There are great similarities in the competency set identified by the accreditation agencies of the
US, UK, Australia, Japan, and Singapore. Nine out of the eleven competencies identified by the
ABET, US continue to reappear with some modifications in the competency list prescribed by
accreditation agencies of all of these countries. However, some agencies have broadened the
39
Table 2.2: Comparative analysis of some common competencies distinguished and identified by some accreditation
agencies
scope of some of these competencies to be more comprehensive. For example, the JABEE has
broadened ability to work in multi-disciplinary teams into ability and intellectual foundation for
considering issues from a global and multi-lateral viewpoint, and also has put it at the first
position of their list. We considered these competency lists to be ordered on importance as
perceived by respective agency. While there are many similarities in the order proposed by these
agencies, the JABEE has ordered their list differently. It gives highest importance to the ability
and intellectual foundation for considering issues from a global and multi-lateral viewpoint and
understanding of the effects and impact of technology on society and nature, and of engineers’
social responsibilities (engineering ethics). Table 2.2 gives a summarized and composite view
of some of the most commonly distinguished and identified competencies by the ABET, UK-
SPEC, EA, JABEE, and IES. We use these results to further expand and refine our initial set of
competencies (Annexure A1) for further investigations.
S.No Competency Position in the respective list
ABET UK- IES EA JABEE Average
EC2000 SPEC position
1 Ability to apply knowledge 1 2 1 1 3 1.6
2 Design skills 3 2 3 5 5 3.6
3 Problem solving skills 5 -- 4 4 4 4.25
4 Technical competence 11 1 5 3 4 4.8
5 Ability to work in multi-disciplinary teams 4 4 9 6 1 4.8
6 Sensitivity towards ethical and professional 6 5 10 9 2 6.4
issues
7 Communication skills 7 4 6 2 6 5
8 Sensitivity towards global, societal, and 8 5 8 7 2 6
environmental issues
9 Readiness for life-long learning 9 5 7 10 7 7.6
Section 2.2.1: Impact on Curriculum and Future Directions
The recommendations of the various accreditation agencies in the US, UK, Singapore, Australia,
and Japan have already affected educational programs, not only in their respective countries, but
also in other countries. Many universities have redefined their program objectives, delivery
mechanism, and assessment systems to incorporate graduate attributes in teaching programs [97-
97a]. For example, as per National Academy of Engineers (NAE) report, Olin College of
Engineering [15] has identified the following characteristics for their graduates:
40
a. Superb command of engineering fundamentals.
b. Broad perspective on the role of engineering in society.
c. Creativity to envision new solutions to problems.
d. Entrepreneurial skills to bring these visions to reality.
Macro level reforms are being realized through micro level redesigning of every course with a
focus on fostering specific competencies [8]. Curriculum now gives more emphasis on design,
practice, collaborative learning, humanities, social sciences, and sustainable engineering [98].
Faculty development programs have been organized to help them understand the underlying
pedagogical issues [99]. Learning theories and epistemological frameworks are being used to
shift the focus of teaching, learning, and assessment processes on competency development
[100-100a].
Section 2.2.2: Indian Scenario
One of the nine Indian inventors included in the list of top 100 inventors under 35, Vikram Sheel
Kumar, thinks that the biggest challenge an Indian student faces is finding the space to develop
an independent mind [101]. Some of the senior industry managers in some industrial sectors feel
concerned about the lack of positive attitude, behavioral aspects, ability to cope up with
challenges, sincerity, integrity, ethics, self-analysis, discipline, and independent thinking among
fresh engineering graduates [102]. It is very ironic that while ‘availability of highly skilled
manpower’ has been identified as the most important factor that is driving the increasing
momentum of R&D off-shoring/outsourcing industry in India; ‘quality of higher education’ has
been identified as one of the main inhibitors [103].
The accreditation criteria defined by the National Board of Accreditation (NBA) of the All India
Council of Technical Education (AICTE) [104], has not yet responded to the abovementioned
contemporary models that emphasize carefully identified attributes and competencies based on
national and global needs. One of the major objectives of NBA is to encourage the institutions to
continually strive towards the attainment of excellence. The details of the parameters and their
weights as prescribed by the NBA are given in Annexure A1 (Table AN1.1). This clearly shows
the NBA is still silent about the core competencies, and continues to assess undergraduate and
41
postgraduate engineering programs with respect to several inputs rather than focusing and
encouraging the institutes to develop a set of carefully identified competencies.
Section 2.3: Some other Contemporary Recommendations About Desired
Competencies of Engineering Graduates
According to the Engineering Professors Council (EPC), United Kingdom, the key skills for
engineering are communication skills, general IT user abilities, application of numbers, working
with others, problem solving, and improving own learning and performance. It also identified the
following primary competencies for engineers [105]:
a. Transform existing systems into conceptual models
b. Transform conceptual models into determinable models.
c. Use determinable models to obtain system specifications.
d. Select optimum specifications and create physical models.
e. Apply the results from physical models to create real target systems.
f. Critically review real target systems and personal performance.
The National Academy of Engineers (NAE) suggests that the essence of engineering—the
iterative process of designing, predicting performance, building, and testing—should be taught
from the earliest stages of the curriculum, including the first year [15]. Further, the NAE [106]
has identified the following attributes for engineers of 2020:
a. Strong analytical skills.
b. Practical ingenuity: skill in planning, combining, and adapting.
c. Creativity (invention, innovation, thinking outside the box, art).
d. Communication.
e. Business and management.
f. Leadership.
g. High ethical standards and professionalism.
h. Dynamism, agility, resilience, and flexibility.
i. Lifelong learners.
Rugarcia et al [107] proposed the following categories of necessary skills for engineers:
a. Independent, interdependent and lifetime learning skills,
b. Problem solving, critical and creative thinking skills,
c. Interpersonal and teamwork skills,
d. Communication skills,
e. Self-assessment,
f. Integrative and global thinking skills, and
g. Change-management skills.
42