Several authors have noted that many young Software Engineering professionals, recently graduated from colleges and universities, do not seem to appreciate the crucial importance of abstraction and encapsulation. As a result, the code produced by these young SE professionals tends to be brittle and difficult for others to build on top of. Despite the considerable attention that Computer Science educators have devoted to this problem over many years, the situation has hardly changed. In this paper, I propose an approach, based on a mode of reasoning known as abductive reasoning, to address this problem. Unlike the more widely known deductive and inductive approaches to reasoning, abductive reasoning has not been widely used; and, as far as I know, has never been used in education in any field. In addition to abductive reasoning, Piaget’s notion of reflexive abstraction and Vygotsky’s concept of social cognition play key roles in the approac. The primary goal of my work is to help ensure that Computer Science and Engineering majors, by the time they are ready to graduate and become SE professionals, develop effective understanding of the key ideas of abstraction and encapsulation and apply them in their design and development projects.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Abduction and Social Cognition, the Keys to Effective Training of Software Professionals

  • Neelam Soundarajan

摘要

Several authors have noted that many young Software Engineering professionals, recently graduated from colleges and universities, do not seem to appreciate the crucial importance of abstraction and encapsulation. As a result, the code produced by these young SE professionals tends to be brittle and difficult for others to build on top of. Despite the considerable attention that Computer Science educators have devoted to this problem over many years, the situation has hardly changed. In this paper, I propose an approach, based on a mode of reasoning known as abductive reasoning, to address this problem. Unlike the more widely known deductive and inductive approaches to reasoning, abductive reasoning has not been widely used; and, as far as I know, has never been used in education in any field. In addition to abductive reasoning, Piaget’s notion of reflexive abstraction and Vygotsky’s concept of social cognition play key roles in the approac. The primary goal of my work is to help ensure that Computer Science and Engineering majors, by the time they are ready to graduate and become SE professionals, develop effective understanding of the key ideas of abstraction and encapsulation and apply them in their design and development projects.