Abstract
We present our experience with the design and implementation of BJC Sparks, a new introductory computer science curriculum for middle school piloted by ten teachers in the 2021-2022 academic year. Our curriculum is functional-first, using abstraction, functional decomposition, immutable data, and powerful higher-order functions such as map, keep, and combine. Based on a decade of experience teaching thousands of first-time programmers, we believe starting with functions teaches students the habit of solving problems functionally when possible, helping to avoid bugs in later programming experiences. BJC Sparks uses the Snap! blocks-based programming environment, which brings the expressive power of a general-purpose programming language without requiring mastery of the syntax of a text-based language. We take advantage of new Snap! features to develop microworlds: customized projects that simplify the blocks palette to further lower cognitive load. We designed projects that use Snap!'s multimedia features to explore data science, encryption, and computational media. We end with physical computing using the BBC micro:bit that students program using MicroBlocks. In terms of findings, we confirmed that it indeed was possible to capture the interest of middle school students with functional programming activities, especially through the use of microworlds. We were surprised at the strong student and teacher interest in our micro:bit lessons, which many wanted as a stand-alone unit. Finally, it became quite clear that multimedia and data science projects offer promising avenues for teaching functional programming through fun, engaging, and personally relevant activities.
Author supplied keywords
Cite
CITATION STYLE
Garcia, D., Fries, M., Ball, M., Fox, P., Gelosi, D., Mock, L., … Kahn, B. (2023). BJC Sparks: A New Functional-First Middle School CS Curriculum. In SIGCSE 2023 - Proceedings of the 54th ACM Technical Symposium on Computer Science Education (Vol. 1, pp. 451–457). Association for Computing Machinery, Inc. https://doi.org/10.1145/3545945.3569842
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.