Document Text (Pages 271-280) Back to Document

Design of Interventions for Instructional Reform in Software Development Education for Competency Enhancement

by Goel, Sanjay, PhD


Page 271

We suggest that these levels must also be integrated with the levels of the other three dimensions
of our four-dimensional taxonomy of pedagogic engagements. The current practice is that in the
name of the collaborative work, the students are usually not engaged in the highest two level of
collaborative engagement as per salmon’s levels. Further, they also do not normally experience
inter-group collaborations. We strongly suggest that in performing their engagements discussed
so far, the students must also be engaged at the higher levels of collaborative engagement as
given in Table 8.10. Higher level collaborative engagements will enhance cognitive flexibility
[206] and systems-level perspective.

Section 8.4: Chapter Summary

Students need to carry out and reflect upon multi-subject, multi-disciplinary, inter-disciplinary
relational analysis, creation, and evaluation. On few occasions, they should also preferably get
engaged in some form of trans-disciplinary relational analysis, creation, and evaluation, and
subsequent reflection. It must also be ensured by the faculty that the students get many
opportunities to integrate computing knowledge with a large variety of disciplines, especially
those that belong to divergent categories as per Biglan’s classification. In order to further deepen
their ‘learning,’ reflective engagements, especially at higher levels of Table 8.9, are also
necessary. Finally, in all these engagements, there should be enough opportunities for higherlevel
collaborative engagements (Table 8.10). We strongly recommend that small reflective
exercises must follow most of their assignments.

Our proposed framework of pedagogic engagements in software development education is
grounded in (a) core activities of software development, and (b) distinguishing characteristics of
software development profession. It includes –
1 three-tier taxonomy of twelve core competencies,
2 five-dimensional ladder of professional and human development,
3 three-dimensional perspective of the knowledge domain of software development,
4 two core principles (cognitive dissonance and cognitive flexibility) for facilitating learning,

and

243


Page 272

5 a four-dimensional taxonomy of pedagogic engagements (active, integrative, reflective, and
collaborative) over ‘3’ for developing ‘1’ and ‘2.’

We postulate that higher level engagements in the first three dimensions will create the necessary
learning conditions by creating ‘cognitive dissonance.’ Higher level engagements in integrative
and collaborative dimensions will create cognitive flexibility.

The core competencies in our three-tier taxonomy are likely to be sufficiently addressed by
higher level pedagogic engagements in all these four dimensions. It is neither sufficient, nor
recommended to only use these dimensions in an isolated manner. Through their undergraduate
education, students must be repeatedly required to carry out such comprehensive tasks that
engage them at the higher levels of multiple dimensions, sequentially, or even better,
simultaneously. In the next chapter, we discuss some interventions developed by us manifesting
some aspects of this framework. The development of the framework and these interventions has
been an intertwined and highly spiral process.

244


Page 273

CHAPTER 9: SOME INTERVENTIONS FOR
ENHANCING THE QUALITY OF
SOFTWARE DEVELOPMENT EDUCATION

In the previous chapter, we developed a framework of pedagogic engagements. This framework
can be used for designing a large variety of instructional interventions to immerse students in a
four-dimensional hierarchy of active, integrative, reflective, and collaborative pedagogical
engagements. In this framework, we included two core principles for facilitating deep learning:
cognitive dissonance [327] and cognitive flexibility [206]. Cognitive dissonance is about the
conditions that are necessary for learning and cognitive flexibility is about the mastery of some
subject matter. Instructional interventions designed with the help of this framework can help the
faculty to create conditions of cognitive dissonance and flexible learning of the subject. In this
chapter, we discuss some such interventions developed by us. As stated in the previous chapter,
development of the theoretical framework and these empirical interventions has been an
intertwined process.

Learning primarily happens because of learners’ engagement in various activities relevant to the
content, rather than mainly depending upon content’s transmission from external sources.
Student-centric active learning offers the freedom of different kind of activities for different
students. Depending upon their prior experience and interests, students can choose or even define
their activities. The author has applied some in-class active learning techniques such as thinkpair-share,
share your experiences with the project and assignments, design a small algorithm,
and so on and also advocated a strategy of activity based flexible credit definition as one
component of learner-centric education [358].
Baumgartner [359] has proposed a framework for viewing teaching as a designed activity, and
has observed that teachers employ a diverse range of coaching and mentoring strategies like
‘teacher as guide, ‘teacher as project manager,’ and ‘teacher as troubleshooter’ in open-ended
learner-centric classrooms to support students during their design process. It has been suggested

245


Page 274

that an open-ended approach encourages a diversity of views and perspectives, and also makes a
critical reflection on observations and experiences possible.

Section 9.1: Increasing Cognitive Dissonance through Problem-centric
Approach in Software Development Education

The most natural way to create dissonance (Section 8.2.1) would be to lead learners through a
problem-centric approach. We elaborate upon three types interventions based on problemcentric
approach: Inquiry Teaching, Project- inclusive Teaching, and Reflective
Teaching/Assignments. In all these interventions, we try to engage the students at higher levels of
all the four-dimensions of our framework of pedagogical engagements: active, integrative,
reflective, and collaborative (Section 8.3).

Section 9.1.1: Inquiry Teaching in Software Development Education
The lecture format in which abstraction precedes the instantiation and concretisation, helps
students in developing skills in linear thinking and deductive reasoning, and also succeeds in
creating a knowledge-base as an inventory of unutilised concepts. It however fails miserably to
give direct and guided practice in inductive reasoning and lateral thinking. Bruner and other
constructivists [30-31] recommend that instruction should allow the learner to discover
principles for themselves through active dialogue. Instead of aiming to teach some general rules
and theories, inquiry teaching aims to teach how to discover the general rules and theories.
Inquiry teaching is particularly effective in exposing learners’ misconceptions. It is particularly
suited for developing curiosity, self-learning, analytical skills, humbleness, inductive and lateral
thinking skills, and hence, in facilitating deep learning.

Inquiry teaching revolves around questions. This will require the teachers, and also the students,
to ask many more questions in their classes. We have developed a new model, SERO, for
designing inquiry teaching oriented lectures. This mode has been tried out in some courses, viz.,
Data Structures, Computer Graphics, Orientation to Engineering, etc.

246


Page 275

Section 9.1.1.1: SERO Model for Inquiry Teaching in Software Development Education
The discourse in the lecture classroom can be viewed as a story telling artifact. The objective of
this artifact is to create a meaningful learning experience and knowledge structures for every
learner. The discourse in a large number of lectures is designed as a closed artifact that primarily
sees the students as consumers. A fundamental challenge for designers in the new millennium is
to design open systems and artifacts by inventing and designing a culture in which humans can
express themselves and engage in personally meaningful activities [317]. Open systems and
artifacts must evolve, they cannot be completely designed prior to use. They must evolve at the
hands of the users, and they must be designed for evolution. The dichotomy of designer and user
has to be eschewed. Seeding, Evolutionary growth, and Reseeding (SER) has been proposed as a
conceptual framework for designing sustainable, open, and evolutionary systems [318] [360].
A seed is the initial state of a system that is intended to evolve. The evolutionary growth phase
is one of unplanned evolution as the seed is used by the members of a community to do work.
Reseeding is a deliberate effort to organize, formalize, and generalize knowledge created during
the evolutionary growth phase. Courses as seeds have been proposed as a promising model to
evolve and enrich courses by allowing students to act as active contributors, and not just as
passive consumers [361].

The genesis of any story experience is Emotional Movement [362]. Users crave emotional
engagement and stimulation. Situated inside the context of lecture classroom, every learner
(user) is the author of his own personal meaning. Meaning is the product of interaction between
the observer and the system, the content of which is in a state of flux, of endless change and
transformation [363]. In Poetics, Aristotle suggested that a well constructed plot must be a
whole having beginning, middle, and end [364]. Movement Oriented Design (MOD) views a
story as an ensemble of ‘story units’ in which a ‘story unit’ has three parts, the Begin, Middle,
and the End (BME) [365]. Begin lays the groundwork, hooks the user, imploring to find out
more. Middle carries the main story message, conveys the core meaning. End terminates the
story, concludes the current story, and/or links to the next.

247


Page 276

As per the SERO model, every lecture is delivered as a series of SER blocks, and concluded with
a learning Outcome. Seed is the fresh idea or question from a teacher which is generally not an
obvious derivative of an earlier idea. Evolution has been used to label the active learning phase
in the class involving individual thinking, group work, discussions (among student groups of
varying size, and also between the students and teacher), and solving problems that require
thinking in terms of analysis, synthesis, and/or evaluation. Reseed is being used to label the
phase of formalizing the informal ideas generated during the evolution stage, and deriving
another seed as a derivative of this evolution.

Students usually have greater motivation to learn in the context of solving a problem, than if the
content is delivered out of context [366]. The seeding phase in SERO based lectures offers good
opportunity to create context. Situated in this context, the content is developed during the
evolution phase through problem solving activities.

The teacher makes a deliberate attempt not to deliver generalized content without the context or
before problem solving. Instead, the generalisations are presented as a natural fallout of the
theorising process through solution-unification during the reseeding phase to conclude the
evolution phase. In this model, the teacher has to support the students during evolution phase
individually or in smaller groups and only some time the entire class.

The teacher needs to be the centre of attention of the entire class only during the limited period
of seed and reseed stages, and occasionally during the evolution stage, as and when the need
arises. Sometimes the evolution phase may also become teacher-centric, as the teacher may
occasionally decide to demonstrate the problem solving process with some specific case(s),
rather than engaging the students in problem solving because of the lack of sufficient background
with the students or time constraints. However, the problem solving characteristic of the
evolution phase remains unchanged. At the end, the learning outcomes are summarized and an
assignment is announced. This assignment forms the reseed for the next class.

Usually there are not many seeds in a lecture, only reseeds. Most of the time is used in evolution
and active learning. This model has been tried out successfully in many courses, even with a

248


Page 277

large number of students. Figure 9.1 shows pictures of one such class during the evolutionary
growth of a concept through group exercise. Appendix A14 gives a summary of two such
lectures, one each in computer graphics and data structures.

Figure 9.1: Group exercise during the evolutionary phase of SERO style lecture

Experience
SERO style lecture classes were found to be highly engaging and useful by motivated
undergraduate students. However, many other students, who were mainly motivated by
examination oriented study, did not find these classes very useful for them.
Challenges for Inquiry Teaching in Software Development Education
The success of Inquiry Teaching mainly depends upon students’ active participation in the
inquiry process. It requires, and also furthers, the transformation of students’ perception about
their own role in the process of learning from an information receiver to an active contributor to
meaning making. However, for many students, their old habits formed through prior experiences
with exposition based teaching, can hinder their enthusiastic participation as an active learner in
the classroom, especially in large and unresponsive classes. Such students find inquiry teaching
to be unsatisfactory, and miss the opportunity of not only deep but also surface learning.
Therefore, it is most important to sensitize students to this method of learning in their early
courses. For maximizing the benefits of inquiry teaching, students need to ‘learn to learn’
through this method.

249


Page 278

Developing Habit for Inquiry Learning in Software Development Education through
Puzzle Solving
Solving a puzzle is another example of inquiry learning. Puzzle solving activity demands that the
teachers start their sessions with problems rather than concept. Many software companies
include puzzle solving in their selection criteria of new software developers. Puzzle solving
sharpens critical thinking and problem solving ability, and offers a higher potential to develop
many of the multifaceted thinking skills. Therefore, we redesigned the delivery strategy of the
first computing course by starting it with puzzle solving activity, even before the introduction of
the basic syntax of any programming language. In this course, at two different campuses of JIIT,
over eight hundred first year engineering students were distributed in six lecture sections and
twenty tutorial sections. More than twenty faculty members were involved in delivering lectures
and running weekly tutorial classes. All the concerned faculty members (Prakash Kumar, Alok
Agarwal, Vikas Saxena, Shikha Mehta, Anshul Gakhar, and Chetna Debas) agreed to the
proposal that instead of teaching programming or computer basics, we should start solving
puzzles. For over a month, various kinds of puzzles were discussed in the lecture and tutorial
classes. The puzzles were collected and chosen by the concerned faculty members. As per the
feedback from the faculty, these classes were highly active and collaborative. Even in the postlunch
sessions, students very enthusiastically came to these classes.

Faculty members felt that puzzle solving activity improved students’ logical thinking ability,
which is at the core for designing computer programs. A large number of students have reported
multi-dimensional benefits in terms of enhancements in logical, creative, multi-perspective, and
out-of-box thinking, attention, focus, concentration, patience, comprehension, urge for creation,
etc.

The faculty members expressed that these were the most active and collaborative classes they
had ever attended or conducted. It showed them the benefits of active and collaborative inquiry
oriented classes. Encouraged by the positive results of this trial, we have now infused puzzled
solving in two more courses in the current semester. In ‘data structures’ (2nd semester) and
‘fundamentals of algorithms’ (4th semester) courses, all teachers have happily dedicated the first

250


Page 279

one to two weeks solely to puzzle solving. A more structured research in needed on infusing
puzzle solving in software development education.

Section 9.1.2: Project- inclusive Teaching in Software Development Education
According to various surveys discussed in chapters four to seven, we found that projects were the
most effective teaching methods with respect to enhancing various competencies relevant to
software development. Semester-long project experience helps in developing multidimensional
competencies in all the dimensions. Hence, semester-long projects have the potential to facilitate
deeper learning in many significant ways. However, projects are usually conceived as a
culmination activity of learning something. It is assumed that only after completion of
conceptual learning and acquiring practical skills, some project can be attempted. Usually in
Indian universities, semester-long project work is not included as part of the regular computing
courses. This limits the effect of the courses in terms of developing their competencies.

Project-Inclusive Regular Courses
The constructivist paradigm of project-inclusive teaching challenges this assumption. Rather
than viewing a project as the culmination activity, it is viewed as the instrument of creating
richer context for learning the subject matter. It also opens many new challenges for the faculty.
They have to guide the students in formulating and completing their projects. Simultaneously,
they also have to manage the learning process. Hence, project-inclusive teaching also offers a
higher level of creative opportunity for the faculty as well.

However, as the traditional textbooks are normally not written with this objective in mind, the
project- inclusive course teaching requires a change in delivery strategy. We have tried to
enhance the quality of several undergraduate computing courses by project inclusion. This
attempt has given us the confidence that that it is usually possible to plan and deliver the courses
with a central focus on the semester-long project work of the students. Two different models,
viz., project-centric evolutionary instruction and project-oriented instruction, have been
proposed for achieving this goal.

251


Page 280

Project-centric Evolutionary Teaching in Software Development Education
Project centric evolutionary teaching offers active, integrative, reflective as well as collaborative
engagements as per our frame work discussed in Section 8.3.

During the course of this research, project-centric evolutionary teaching was evolved for
Enterprise Application Development [367]. Recently, it has been further expanded to many other
courses like object oriented programming, database management, web application engineering,
software engineering, and information systems.

In project-centric teaching, we reverse the traditional teaching methodology in which conceptual
learning is followed by practice assignments, and only sometimes project work. In our scheme,
at the beginning of the course, the teachers first help and guide the students to formulate the
initial project problem. Examples and templates are used to complete this task. Since it is not
possible for the teacher to discuss every project in the large class, the instructor then selects some
of these projects to forward the subsequent classroom discussions. They try to define the initial
and simplistic project scoping and specification for one or two projects through classroom
discussion. The students follow a similar process to complete these tasks for their projects.
Teacher guide the students to incrementally enhance their project scope later in the semester,
essentially to create the context for the forthcoming concepts and topics of the subject matter.
They refine the project scope before introducing any new topic.

The teacher has to bring in the concepts after setting the context. Conceptually, this model has
some similarity to zero inventory manufacturing practice. The learners are not given a large
inventory of unused concepts. The concepts are introduced only after creating the need for its use
with reference to students’ semester-long project.
We have developed the conceptual schema for defining the main characteristics of student
projects’ evolution in project-centric evolutionary teaching of object-oriented programming,
software engineering, database management systems, web application engineering, enterprise
software development and information systems. All these schemas have also been tried in real
courses by concerned faculty members. Appendix A15 gives the stages of evolution of the
defining characteristics of student projects in different computing courses.
252

© 2009 OpenThesis.org. All Rights Reserved.