Teaching Abstraction in Computer Science to 7th Grade Students

David Statter, Michal Armoni

Research output: Contribution to journalArticlepeer-review

Abstract

The 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 7th 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.
Original languageEnglish
Article number8
Pages (from-to)8-837
Number of pages37
JournalACM Transactions on Computing Education
Volume20
Issue number1
DOIs
StatePublished - 27 Jan 2020

All Science Journal Classification (ASJC) codes

  • General Computer Science
  • Education

Fingerprint

Dive into the research topics of 'Teaching Abstraction in Computer Science to 7th Grade Students'. Together they form a unique fingerprint.

Cite this