Phenomenological programming: a novel approach to designing domain specific programming environments for science learning
There has been a growing interest in the use of computer-based models of scientific phenomena as part of classroom curricula, especially models that learners create for themselves. However, while studies show that constructing computational models of phenomena can serve as a powerful foundation for learning science, this approach has struggled to gain widespread adoption in classrooms because it not only requires teachers to learn sophisticated technological tools (such as computer programming), but it also requires precious instructional time to introduce these tools to students. Moreover, many core scientific topics such as the kinetic molecular theory, natural selection, and electricity are difficult to model even with novice-friendly environments. To address these limitations, we present a novel design approach called phenomenological programming that builds on students' intuitive understanding of real-world objects, patterns, and events to support the construction of agent-based computational models. We present preliminary case studies and discuss their implications for STEM content learning and the learnability and expressive power of phenomenological programming.
Authors:
; ; ;
Award ID(s):
Publication Date:
NSF-PAR ID:
10199103
Journal Name:
ACM Interaction Design and Children (IDC) conference
Page Range or eLocation-ID:
299 to 310
National Science Foundation
##### More Like this
1. Code-first learning entails the use of computer code to learn a concept, and creating computational models is one such effective method for learning about scientific phenomena. Many code-first learning approaches employ the visual block-based programming paradigm in order to be accessible to school children with no prior programming experience, providing them with high-level domain-specific code-blocks that encapsulate the underlying complex programming logic. However, even with the aid of visual clues and the benefit of simpler primitives like “forward” and “repeat,” many phenomena studied in classrooms such as the behavior of gas particles in Kinetic Molecular Theory (KMT) are challenging to describe in code. We hypothesized that code blocks designed from a phenomenological perspective to model the behavior of familiar objects and events would both promote students’ authoring of computational models and their ability to encode and test their beliefs within their models. We created these phenomenological blocks within a code-first gas particle sandbox and integrated it into a KMT lesson plan.Two high school teachers taught this curriculum to 121 students, from which we gathered and analyzed video footage from lesson activities and student focus groups. We found that the phenomenological blocks gave students the ability to start programming right awaymore »
2. Code-first learning entails the use of computer code to learn a concept, and creating computational models is one such effective method for learning about scientific phenomena. Many code-first learning approaches employ the visual block-based programming paradigm in order to be accessible to school children with no prior programming experience, providing them with high- level domain-specific code-blocks that encapsulate the underlying complex programming logic. However, even with the aid of visual clues and the benefit of simpler primitives like “forward” and “repeat,” many phenomena studied in classrooms such as the behavior of gas particles in Kinetic Molecular Theory (KMT) are challenging to describe in code. We hypothesized that code blocks designed from a phenomenological perspective to model the behavior of familiar objects and events would both promote students’ authoring of computational models and their ability to encode and test their beliefs within their models. We created these phenomenological blocks within a code-first gas particle sandbox and integrated it into a KMT lesson plan. Two high school teachers taught this curriculum to 121 students, from which we gathered and analyzed video footage from lesson activities and student focus groups. We found that the phenomenological blocks gave students the ability to start programmingmore »
3. As schools and districts across the United States adopt computer science standards and curriculum for K-12 computer science education, they look to integrate the foundational concepts of computational thinking (CT) into existing core subjects of elementary-age students. Research has shown the effectiveness of teaching CT elements (abstraction, generalization, decomposition, algorithmic thinking, debugging) using non-programming, unplugged approaches. These approaches address common barriers teachers face with lack of knowledge, familiarity, or technology tools. Picture books and graphic novels present an unexplored non-programming, unplugged resource for teachers to integrate computational thinking into their CT or CT-integrated lessons. This analysis examines 27 picture books and graphic novels published between 2015 and 2020 targeted to K-6 students for representation of computational thinking elements. Using the computational thinking curriculum framework for K-6, we identify the grade-level competencies of the CT elements featured in the books compared to the books’ target age groups. We compare grade-level competencies to interest level to identify each CT element representation as “foundational,” “on-target,” or “advanced.” We conclude that literature offers teachers a non-programming unplugged resource to expose students to CT and enhance CT and CT-integrated lessons, while also personalizing learning based on CT readiness and interest level.
4. Abstract Background

Statistical geneticists employ simulation to estimate the power of proposed studies, test new analysis tools, and evaluate properties of causal models. Although there are existing trait simulators, there is ample room for modernization. For example, most phenotype simulators are limited to Gaussian traits or traits transformable to normality, while ignoring qualitative traits and realistic, non-normal trait distributions. Also, modern computer languages, such as Julia, that accommodate parallelization and cloud-based computing are now mainstream but rarely used in older applications. To meet the challenges of contemporary big studies, it is important for geneticists to adopt new computational tools.

Results

We present , an open-source Julia package that makes it trivial to quickly simulate phenotypes under a variety of genetic architectures. This package is integrated into our OpenMendel suite for easy downstream analyses. Julia was purpose-built for scientific programming and provides tremendous speed and memory efficiency, easy access to multi-CPU and GPU hardware, and to distributed and cloud-based parallelization. is designed to encourage flexible trait simulation, including via the standard devices of applied statistics, generalized linear models (GLMs) and generalized linear mixed models (GLMMs). also accommodates many study designs: unrelateds, sibships, pedigrees, or a mixture of all three. (Of course, for datamore »

Conclusion

The package has three main advantages. (1) It leverages the computational efficiency and ease of use of Julia to provide extremely fast, straightforward simulation of even the most complex genetic models, including GLMs and GLMMs. (2) It can be operated entirely within, but is not limited to, the integrated analysis pipeline of OpenMendel. And finally (3), by allowing a wider range of more realistic phenotype models, brings power calculations and diagnostic tools closer to what investigators might see in real-world analyses.

5. The design of cyber-physical systems (CPSs) requires methods and tools that can efficiently reason about the interaction between discrete models, e.g., representing the behaviors of cyber'' components, and continuous models of physical processes. Boolean methods such as satisfiability (SAT) solving are successful in tackling large combinatorial search problems for the design and verification of hardware and software components. On the other hand, problems in control, communications, signal processing, and machine learning often rely on convex programming as a powerful solution engine. However, despite their strengths, neither approach would work in isolation for CPSs. In this paper, we present a new satisfiability modulo convex programming (SMC) framework that integrates SAT solving and convex optimization to efficiently reason about Boolean and convex constraints at the same time. We exploit the properties of a class of logic formulas over Boolean and nonlinear real predicates, termed monotone satisfiability modulo convex formulas, whose satisfiability can be checked via a finite number of convex programs. Following the lazy satisfiability modulo theory (SMT) paradigm, we develop a new decision procedure for monotone SMC formulas, which coordinates SAT solving and convex programming to provide a satisfying assignment or determine that the formula is unsatisfiable. A key step inmore »