Litcius/Paper detail

Teaching Abstraction in Computer Science to 7 <sup>th</sup> Grade Students

David Statter, Michal Armoni

2020ACM Transactions on Computing Education45 citationsDOI

Abstract

Abstraction is one of the most fundamental ideas in computer science (CS), and as such, according to Bruner [23], it should be taught spirally, starting as early as possible and revisited at every level of education. However, teaching CS abstraction to novices is a very challenging task, and CS educational research has often demonstrated students' difficulties in learning this idea, in different contexts and at different age levels. The challenge in teaching CS abstraction is even greater when dealing with young students, since according to theories on children's cognitive development, their abstraction abilities may still be not fully developed. In 2013, Armoni [5] introduced a framework for teaching abstraction in the context of algorithmic problem solving, intended for novice students. We studied the effect of this framework in an introductory CS course for 7 th graders, in which Scratch was used as the programming language for implementing algorithmic solutions. Our findings indicate that the framework was highly effective for developing CS abstraction skills as well as other related skills and aspects, such as the tendency to provide explanations for solutions, the use of initialization processes, and the perception of the nature of CS. It also significantly improved students’ general CS performance in this course.

Topics & Concepts

AbstractionComputer scienceContext (archaeology)Task (project management)Mathematics educationScratchPerceptionCurriculumProgramming languagePedagogyPsychologyEpistemologyBiologyManagementPhilosophyEconomicsPaleontologyNeuroscienceTeaching and Learning ProgrammingEducational Games and GamificationOnline Learning and Analytics
Teaching Abstraction in Computer Science to 7 <sup>th</sup> Grade Students | Litcius