A number of authors have stressed the importance of abstraction in Computer Science. Over the last thirty years or so, colleges and universities and even high schools have developed CS courses, using object-oriented languages such as Java, Python, etc., that attempt to teach abstraction from the start. In spite of this, many students do not develop adequate abstraction skills. They are able to write code in their particular language but because it is not well-designed from the point of view of abstraction, it tends to be brittle and difficult for others to build on or modify, etc. In this paper, we develop a way based on the idea of reflective abstraction to effectively address the problem so that a greater number of students will be able to develop good quality code that is extendible and can be used by other software engineers in their own systems.

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

Teaching Abstraction in Computer Science Courses

  • Neelam Soundarajan

摘要

A number of authors have stressed the importance of abstraction in Computer Science. Over the last thirty years or so, colleges and universities and even high schools have developed CS courses, using object-oriented languages such as Java, Python, etc., that attempt to teach abstraction from the start. In spite of this, many students do not develop adequate abstraction skills. They are able to write code in their particular language but because it is not well-designed from the point of view of abstraction, it tends to be brittle and difficult for others to build on or modify, etc. In this paper, we develop a way based on the idea of reflective abstraction to effectively address the problem so that a greater number of students will be able to develop good quality code that is extendible and can be used by other software engineers in their own systems.