Programming Environments for Children: Creating a Language that Grows with you
Recent efforts have increased the number of elementary and middle schools teaching computer science — but do they have the right tools for the job? Elementary school teachers are usually responsible for teaching all subjects, and often do not have a background or training in computer science. Fourth through sixth grade students are still developing their math and reading skills as well as learning how to type and use computers. Fortunately, computer science is one of the only domains that can adapt to meet the needs of the user. Unlike math or physics, computer science has few constants; computers, languages, and development environments have changed over the last decades and will continue to evolve. How can programming languages and environments better meet the needs of upper elementary classes learning computer science? This paper looks at designing block-based programming environments for upper elementary school students as a part of a larger research study on early computer science education.
Block-based programming environments let children create complex, visual programs without worrying about compiling or syntax errors. This paper describes the research studies completed in the design and implementation of block-based programming environments created alongside the development of KELP-CS, a computational thinking curriculum for 4th — 6th grade. Both the programming environment and curriculum were piloted in schools across California as part of a design-based research project.