TABLE OF CONTENT DECLARATION BY THE SCHOLAR SUPERVISOR S CERTIFICATE ACKNOWLEDGEMENTS ABSTRACT LIST OF FIGURES LIST OF TABLES iv vi xiv xvi xviii xix CHAPTER-1 INTRODUCTION 1 1.1 BASIS FOR THE NEED FOR REFORMS IN COMPUTING 5 1.2 EVOLUTION OF SOFTWARE DEVELOPMENT 9 1.3 RESEARCH APPROACH 28 1.4 THESIS LAYOUT 33 CHAPTER-2 IDENTIFICATION OF CORE COMPETENCIES FOR 35 SOFTWARE ENGINEERS 2.1 STUDY REPORT ON CORE COMPETENCIES FOR ENGINEERS 35 WITH SPECIFIC REFERENCE TO SOFTWARE ENGINEERING 2.2 NECESSARY COMPETENCIES AS AL OUTCOMES 39 FOR SOFTWARE ENGINEERS AS RECOMMENDED BY ACCREDITATION BOARDS, PROFESSIONAL SOCIETIES AND OTHER APPROACHES 2.2.1 IMPACT ON CURRICULUM AND FUTURE DIRECTIONS 40 2.2.2 INDIAN SCENARIO 41 2.3 SOME OTHER CONTEMPORARY RECOMMENDATIONS 42 ABOUT DESIRED COMPETENCIES OF ENGINEERING GRADUATES 2.4 RECOMMENDATIONS OF SOME INTERNATIONAL 44 PROFESSIONAL SOCIETIES RELATED TO COMPUTING 2.5 SOME CONTEMPORARY RECOMMENDATIONS ON DESIRED 47 COMPETENCIES OF SOFTWARE DEVELOPERS 2.6 A PERSPECTIVE FROM THE PROFESSIONAL CODES OF 51 CONDUCT, ETHICS, AND/OR PRACTICE vii
2.7 CLASSICAL AND CONTEMPORARY RECOMMENDATIONS 53 ON DESIRED COMPETENCIES OF GRADUATES 2.8 A COMPREHENSIVE DISTILLED VIEW ON DESIRED 56 COMPETENCIES 2.9 FURTHER EMPIRICAL INVESTIGATIONS ON REQUIRED 56 CORE COMPETENCIES FOR ENGINEERING GRADUATES WITH REFERENCE TO THE INDIAN IT INDUSTRY 2.10 CLASSIFYING THE CORE COMPETENCIES FOR 58 SOFTWARE DEVELOPERS 2.11 CHAPTER CONCLUSION 61 CHAPTER-3 DISTINGUISHING FEATURES OF SOFTWARE 64 DEVELOPMENT AND REQUISITE TAXONOMY OF CORE COMPETENCIES 3.1 PROGRAMMING AS AN ART TO SOFTWARE ENGINEERING 65 3.2 DEBUGGING AS A CORE ACTIVITY IN 67 SOFTWARE DEVELOPMENT 3.3 PROCESS CENTRIC SYSTEM DEVELOPMENT AND 68 MAINTENANCE IN SOFTWARE ENGINEERING 3.4 SOFTWARE AS INTEGRAL PART OF BUSINESS, AND NEED FOR COMPREHENSION FOR SOFTWARE MAINTENANCE 68 3.5 ROLE OF EMPATHY AND SOCIAL SENSITIVITY IN 69 SOFTWARE DEVELOPMENT 3.6 PROJECT SCOPING AND ESTIMATION FOR SOFTWARE 71 CONTRACT 3.7 LEARNING NEW DOMAIN AND KNOWLEDGE STRUCTURING 71 IN SOFTWARE DEVELOPMENT 3.8 SOFTWARE DEVELOPMENT PROCESS FOR ILL-DEFINED 72 PROBLEMS 3.9 EMPIRICAL AND QUALITATIVE APPROACHES IN 74 SOFTWARE DEVELOPMENT RESEARCH 3.10 SOFTWARE DEVELOPMENT: WHOLE-BRAIN ACTIVITY 75 3.11 REVISED TAXONOMY OF CORE COMPETENCIES 76 FOR SOFTWARE DEVELOPERS CHAPTER- 4 SOFTWARE DEVELOPERS FOR 82 DEVELOPMENT OF BASIC COMPETENCIES 4.1 SOFTWARE DEVELOPERS FOR 83 DEVELOPMENT OF TECHNICAL COMPETENCE viii
4.2 SOFTWARE DEVELOPERS FOR 91 DEVELOPMENT OF COMPUTATIONAL THINKING 4.3 SOFTWARE DEVELOPERS FOR 98 DEVELOPMENT OF DOMAIN COMPETENCE 4.4 SOFTWARE DEVELOPERS FOR 106 DEVELOPMENT OF COMMUNICATION COMPETENCE 4.5 SOFTWARE DEVELOPERS FOR 112 DEVELOPMENT OF COMPLEX PROBLEM SOLVING COMPETENCE 4.5.1 EXPERT PROBLEM SOLVERS 118 4.6 CHAPTER CONCLUSION 123 CHAPTER-5 SOFTWARE DEVELOPERS FOR 125 DEVELOPMENT OF COMPETENCY DRIVER-HABITS OF MIND 5.1: SOFTWARE DEVELOPERS FOR 126 DEVELOPMENT OF ATTENTION TO DETAILS 5.2: SOFTWARE DEVELOPERS FOR 130 DEVELOPMENT OF CRITICAL AND REFLECTIVE THINKING 5.3: SOFTWARE DEVELOPERS FOR 138 DEVELOPMENT OF CREATIVITY AND INNOVATION 5.4: CHAPTER CONCLUSION 144 CHAPTER-6 SOFTWARE DEVELOPERS FOR 145 DEVELOPMENT OF COMPETENCY CONDITIONING ATTITUDES AND PERSPECTIVES 6.1 SOFTWARE DEVELOPERS FOR 146 DEVELOPMENT OF CURIOSITY 6.2 SOFTWARE DEVELOPERS FOR 154 DEVELOPMENT OF DECISION MAKING PERSPECTIVE 6.3 SOFTWARE DEVELOPERS FOR 165 DEVELOPMENT OF SYSTEMS-LEVEL PERSPECTIVE 6.4 SOFTWARE DEVELOPERS FOR 175 DEVELOPMENT OF INTRINSIC MOTIVATION TO CREATE/IMPROVE ARTIFACTS 6.5 CHAPTER CONCLUSION 181 ix
CHAPTER-7 THE PHENOMENON OF LEARNING 182 7.1 EMPIRICAL INVESTIGATIONS FOR ASSESSING 182 EFFECTIVENESS OF AL METHODS WITH RESPECT TO THE REQUIREMENTS OF SOFTWARE DEVELOPMENT 7.1.1 EMPIRICAL STUDIES ON EFFECTIVENESS 182 OF TEACHING METHODS AND AL EXPERIENCES OF COMPUTING STUDENTS AND SOFTWARE DEVELOPERS 7.1.2 EMPIRICAL EXAMINATION OF SOFTWARE 187 DEVELOPMENT THROUGH BLOOM S TAXONOMY 7.1.3 QUALITATIVE STUDY OF EFFECTIVE LECTURES 191 7.1.3.1 PERCEPTIONS OF COMPUTING STUDENTS 191 AT SENIOR AND JUNIOR LEVELS 7.1.3.2 PERCEPTIONS OF FACULTY MEMBERS 192 IN ENGINEERING INSTITUTES 7.1.4 QUANTITATIVE STUDY OF EFFECTIVE LECTURES 193 7.1.4.1 PERSPECTIVE OF COMPUTING STUDENTS 194 7.2 REFLECTIONS ABOUT THE PHENOMENON OF LEARNING 197 7.3 IMPLICATIONS FOR SOFTWARE DEVELOPMENT 199 7.4 STUDENT ENGAGEMENTS FOR FACILITATING 201 DEEP LEARNING THROUGH HIGHER 7.4.1 CURRICULUM INTEGRATION 202 7.4.2 SOLO TAXONOMY 205 7.4.3 COLLABORATIVE LEARNING 206 7.4.3.1 PAIR PROGRAMMING 209 7.4.4 CROSS-LEVEL PEER MENTORING 211 7.4.4.1 POSSIBILITY OF CROSS-LEVEL 214 PEER MENTORING IN SOFTWARE DEVELOPMENT 7.5 CHAPTER SUMMARY 215 CHAPTER-8 A FRAMEWORK OF PEDAGOGIC ENGAGEMENTS 216 IN SOFTWARE DEVELOPMENT 8.1 THREE-DIMENSIONAL KNOWLEDGE DOMAIN FOR 218 DESIGNING COMPUTING COURSES 8.2 TWO CORE PRINCIPLES RELATED TO LEARNING 221 8.2.1 COGNITIVE DISSONANCE 221 x
8.2.2 COGNITIVE FLEXIBILITY 222 8.3 FOUR-DIMENSIONAL TAXONOMY OF PEDAGOGIC 223 ENGAGEMENTS IN SOFTWARE DEVELOPMENT 8.3.1 DIMENSION 1- LEVELS OF ACTIVE ENGAGEMENTS 227 (EXTENSION OF BLOOM S TAXONOMY) 8.3.2 DIMENSION 2- LEVELS OF INTEGRATIVE 237 ENGAGEMENTS (EXTENSION OF SOLO TAXONOMY) 8.3.3 DIMENSION 3- LEVELS OF REFLECTIVE ENGAGEMENTS 240 8.3.4 DIMENSION 4- LEVELS OF COLLABORATIVE 241 ENGAGEMENTS 8.4 CHAPTER SUMMARY 243 CHAPTER-9 SOME INTERVENTIONS FOR ENHANCING THE 245 QUALITY OF SOFTWARE DEVELOPMENT 9.1 INCREASING COGNITIVE DISSONANCE THROUGH 246 A PROBLEM-CENTRIC APPROACH IN SOFTWARE DEVELOPMENT 9.1.1 INQUIRY TEACHING IN SOFTWARE 246 DEVELOPMENT 9.1.1.1 SERO MODEL FOR INQUIRY 247 TEACHING IN SOFTWARE DEVELOPMENT 9.1.2 PROJECT-INCLUSIVE TEACHING IN 251 SOFTWARE DEVELOPMENT 9.1.3 CREATING CONDITIONS FOR REFLECTIVE 254 ENGAGEMENTS IN SOFTWARE DEVELOPMENT 9.2 INCREASING COGNITIVE FLEXIBILITY THROUGH 256 A MULTIFACETED INTEGRATED APPROACH IN SOFTWARE DEVELOPMENT 9.2.1 MULTILEVEL INFUSION FOR CONTINUOUS 256 INTEGRATION IN SOFTWARE DEVELOPMENT 9.2.2 INTEGRATIVE CAPSTONE COURSES IN SOFTWARE 263 DEVELOPMENT 9.2.3 GROUP AND COMMUNITY ORIENTED ENGAGEMENTS 265 IN SOFTWARE DEVELOPMENT 9.2.3.1 COLLABORATIVE PAIR AND 266 QUADRUPLE PROGRAMMING 9.2.3.2 CROSS-LEVEL PEER MENTORING IN 269 SOFTWARE DEVELOPMENT 9.3 REFLECTIVE WORKSHOP ON PEDAGOGY FOR 275 ENGINEERING FACULTY xi
9.4 CHAPTER SUMMARY 277 CHAPTER-10 SUMMARY AND FUTURE SCOPE OF WORK 279 REFERENCES 283 APPENDICES 305 A1 SPINE-LIKE SURVEY ON IMPORTANCE OF COMPETENCIES 305 A2 A COMPREHENSIVE DISTILLED VIEW ON 310 DESIRED COMPETENCIES A3 REVISED SURVEY ON REQUIRED COMPETENCIES, 2007 312 A4 MAPPING OF THIRTY-FIVE COMPETENCIES (APPENDIX A3) 314 WITH FINAL SET OF TWELVE CORE COMPETENCIES A5 CATALOGUE OF TECHNICAL AND TECHNICALLY 316 ORIENTED ACTIVITIES RELATED TO SOFTWARE DEVELOPMENT A6 TAXONOMY OF COMMON SOFTWARE BUGS 317 A7 PROPOSED CURRICULUM FOR MASTERS IN 318 ARCHAEO-HERITAGE INFORMATICS A8 SOME SUGGESTIONS FOR BREADTH COURSES 319 A9 INADEQUATE DEVELOPMENT OF CURIOSITY IN 320 SOFTWARE DEVELOPMENT A10 SURVEY: SOFTWARE DEVELOPERS - (HOW) DID YOUR 321 COLLEGE HELP YOU IN YOUR DEVELOPMENT? A EFFECTIVENESS OF TEACHING METHODS: SURVEY OF 321 SOFTWARE DEVELOPERS (2009) A1 EFFECTIVENESS OF TEACHING METHODS-II: 323 EFFECT ON DESIRED COMPETENCIES B EFFECTIVENESS OF TEACHING METHODS: 328 SURVEY OF STUDENTS (2009) A11 EMPIRICAL EXAMINATION OF SOFTWARE DEVELOPMENT 331 THROUGH BLOOM S TAXONOMY A12 ANECDOTES OF MOST EFFECTIVE LEARNING 337 EXPERIENCES/LECTURES A13 QUANTITATIVE STUDY OF COMPUTING 341 STUDENTS PERSPECTIVE OF EFFECTIVE LECTURES A14 SUMMARY OF SERO STYLE LECTURES IN TWO COURSES 344 A15 EVOLUTIONARY STAGES OF STUDENT PROJECTS 345 A16 REFLECTIVE ENGAGEMENTS 346 A17 FEEDBACK FROM THE CROSS-LEVEL MENTORS ON INFUSION 348 OF SOME PERVASIVE TOPICS IN FOUNDATION COURSES xii
A18 MULTI-LEVEL INFUSION OF SECURITY RELATED ASPECTS 354 A19 DESCRIPTION OF THE NOTATION FOR CONCEPT MAPPING 355 A20 SOME PROPOSED INSTRUCTIONAL INTERVENTIONS FOR 357 INFUSING DEBUGGING IN COMPUTING LABORATORIES A21 COLLABORATIVE PAIR PROGRAMMING 359 A22 SAMPLE COLLABORATIVE QUADRUPLE PROGRAMMING 361 ASSIGNMENTS FOR J2EE A23 ALUMNI S FEEDBACK ON LEARNING GAINS THROUGH 362 CROSS-LEVEL MENTORING A24 ADVANTAGES OF MENTORING AS IDENTIFIED BY 365 FINAL YEAR STUDENTS INVOLVED IN CROSS-LEVEL MENTORING OF JUNIORS, 2009 ANNEXURES AN1 IMPORTANT THEORIES ABOUT HUMAN LEARNING, 366 INTELLIGENCE, AND THINKING AN2 COMPETENCY RECOMMENDATIONS BY ACCREDITATION 368 BOARDS OF SOME COUNTRIES AN3 SOME MODELS FOR CLASSIFICATION OF COMPETENCIES 372 AN4 METZGER S OBSERVATIONS ABOUT DEBUGGING 375 AN5 LETHBRIDGE S STUDY ON MOST IMPORTANT AND 377 INFLUENTIAL TOPICS IN SOFTWARE DEVELOPMENT AN6 SOME IMPORTANT MODELS ON PROBLEM SOLVING 378 AN7 SOME THEORIES ON ATTENTION 381 AN8 SOME IMPORTANT PERSPECTIVES ON CURIOSITY 382 AN9 SOME IMPORTANT PERSPECTIVES ON SYSTEM THINKING 383 AN10 SOME IMPORTANT PERSPECTIVES ON INTRINSIC 386 MOTIVATION AN11 SUCCESSFUL PRACTICES IN INTERNATIONAL ENGINEERING 388 (SPINE) STUDY AN12 SOME THEORETICAL PERSPECTIVES ABOUT LEARNING 390 AND TEACHING LIST OF AUTHOR S PUBLICATIONS 394 xiii