Why KELP-CS?

KELP-CS is an innovative programming curriculum for upper elementary school students. In KELP-CS, students learn computational thinking skills, programming skills, and engineering design thinking skills. Over the two modules, students learn all of the skills to implement their own games. Our learning environment and curriculum begins with simple projects and programming environment, gradually adding elements as students get become more proficient. This sets students up for programming on their own in Scratch or other visual block-based languages.

What is programming?

Programming is the process of writing computer programs, such as the web browser you're using right now! Programmers create programs, or applications, by writing instructions for the computer. There are many different programming languages, such as Java, C, and Python. In KELP-CS, your student will be learning LaPlaya, a visual, block-based programming language. LaPlaya is similar to other block-based languages such as Scratch, Snap!, and Blockly (used by code.org). Block-based languages allow your child to learn common programming constructs like if statements and loops in a fun, easy-to-use environment.

What is Computational Thinking?

Computational thinking includes skills and ideas necessary to engage with computer science in addition to programming. As examples, computational thinking includes abstracting, iterating ideas, developing algorithms, or thinking sequentially (see the Computer Science Teachers Association for more information, CSTA). We see computational thinking as a method of problem solving useful across disciplines, not just computer science. Thus, we include learning objectives in our lessons for both computational thinking and programming. Alongside programming, students engage in off-computer activities to emphasize bigger ideas about how to think like a computer scientist. And as researchers we are creating learning progressions for computational thinking for elementary school students to see what students know before formal training (lower anchor points), and what they may know when the finish (upper anchor points).

What is design thinking?

Engineering design thinking is the process that engineers go through to develop new products. This is the same process children go through to develop and code programs in KELP-CS. Engineering design thinking is also an important part of the Next Generation Science Standards (NGSS).

Design thinking is also an important part of computer science. In KELP-CS, children learn tools like story boarding and flow charts that help computer scientists. They learn to test their programs as they construct them so that they can iteratively revise their programs.

What is LaPlaya?

Students complete programming lessons through our interface LaPlaya, a block-based programming environment based on Scratch. LaPlaya and the associated lessons run through an internet browser making it accessible on mobile devices like iPads or tablets, as well as computers. We call the website Octopi (https://octopi.herokuapp.com). Instead of typing individual lines of codes, students snap individual command blocks to create programs. As students progress through our lessons, more and more blocks are introduced and at any time they can use our Sandbox area to create their own projects.

We created LaPlaya and Octopi through a set a design principles to help it succeed in the context of everyday classrooms. LaPlaya is different from Scratch in several majors ways. First, it provides a configurable interface. That is, blocks, categories, and tabs may be hidden in early projects and then exposed as students mature and get used to the interface. Second, the blocks using math not introduced until 5th and 6th grade have been modified to depend on math in 3rd grade. This includes negative numbers, percentages, and decimal numbers. Third, the curriculum developer can choose to provide an analysis module that analyzes the student program and gives feedback. Finally, we added a "get ready" button so that students are reminded, and given an explicit location, to put code that initializes sprites to their starting positions and attributes. More recent features include automated reading of feedback and instructions for struggling readers and english language learners.