Supporting Computational Apprenticeship Through Educational and Software Infrastructure: A Case Study in a Mathematical Oncology Research Lab

There is growing awareness of the need for mathematics and computing to quantitatively understand the complex dynamics and feedbacks in the life sciences. Although several institutions and research groups are conducting pioneering multidisciplinary research, communication and education across fields remain a bottleneck. The opportunity is ripe for using education research-supported mechanisms of cross-disciplinary training at the intersection of mathematics, computation, and biology. This case study uses the computational apprenticeship theoretical framework to describe the efforts of a computational biology lab to rapidly prototype, test, and refine a mentorship infrastructure for undergraduate research experiences. We describe the challenges, benefits, and lessons learned, as well as the utility of the computational apprenticeship framework in supporting computational/math students learning and contributing to biology, and biologists in learning computational methods. We also explore implications for undergraduate classroom instruction and cross-disciplinary scientific communication.


INTRODUCTION
Over the last several decades, advances in experimental techniques have provided life scientists with increasing quantities of high dimensional, high-resolution datasets. Unfortunately, these technological developments have not yet been matched by similar clinical advances [58]. In fact, U.S. life expectancy has stagnated and development costs for new drugs continue to rise [57,69]. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/ licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Over the last decade, a consensus has emerged among scientific thought leaders about the need for "convergence" or transdisciplinary integration of engineering and physical science approaches in the life sciences to generate meaningful biological insights from the growing abundance of biomedical data [46,60]. In particular, computational modeling approaches, which include both mathematical modeling of complex cell and molecular systems and statistical modeling of large datasets, are a powerful vehicle for synthesizing disparate and sometimes conflicting data into an integrated biological understanding. Ideally, computational modeling approaches work recursively with experimental workflows; mathematical models quantitate and formalize the largely qualitative, observation-driven "mental models", and the iterative comparison of model outputs to experimental data informs model refinement and also suggests new experimental directions [33,[49][50][51]. The use of mathematical models clarifies the biological conditions or parameters under which the "mental model" can explain the experimental and simulation data. Increasingly, statistical modeling approaches including machine learning and bioinformatics are used to complement mathematical modeling of cell and molecular biological systems [33]. Analysis of large clinical or experimental datasets can be used to inform parameterization of mathematical models, or to identify novel relationships between cell states and behaviors, which can generate new hypotheses for mathematical modeling. Additionally, machine learning methods can be used for richer and more informative analysis of mathematical model outputs.
Despite the consensus around the need for greater integration of computational and experimental modeling approaches, there remains relatively limited adoption of these methods in the life sciences community. Furthermore, the research groups that employ computational modeling approaches largely work in isolation using their own data sources, building their own models, and performing their own analyses [33]. Biologists in experimental research groups face substantial structural, technical, and educational barriers to learning to implement computational modeling approaches [38]. These challenges are compounded by resource limitations at emerging research institutions including minority serving institutions and primarily undergraduate institutions [40]. Expanding participation in computational modeling approaches requires adoption of innovative practices in crossdisciplinary scientific communication and training [38].
Similarly, the traditional educational divisions between engineering, computational, physical science, and biological curricula have impeded communication between these silos and raised barriers both to the use of simulations by biologists and the effective understanding of biological needs and design of tools for biological applications by engineers [5,43]. There has been an ongoing effort to incorporate quantitative or computational content into undergraduate biology courses [1,4,9,14,42,53]. Similarly, there are several reports of reforms to provide greater life sciences disciplinary content to engineering students [18,24,52]. Nevertheless, there is a need for theoretically sound, evidence-supported models for undergraduate classroom instruction and undergraduate research experiences to train new cohorts of biologists and engineers equipped to work at the intersection of computation and biology. Additionally, there is a need for collaboration with education researchers to develop and assess interdisciplinary efforts [41].
In this paper, a computational apprenticeship framework is used to present a case study of our computational biology research group's experience in iteratively developing an educational infrastructure for undergraduate research experiences. We describe a mutually beneficial conversation and collaboration with computational education researchers to develop, assess, and continuously improve undergraduate research involvement in a research active computational laboratory.
We adopt rapid prototyping approaches from engineering to iteratively design, test, and refine the mentorship infrastructure: after implementing a current mentorship version in the lab, we evaluate strengths and weaknesses, identify concrete refinements to address weaknesses while building upon strengths, update the mentorship structure (with a new version number), and continue testing in the subsequent research term. This case study will present each mentorship version as we stepped through this iterative design process.

Computational Apprenticeship
Computational Apprenticeship is a newly proposed theoretical framework and a type of cognitive apprenticeship for computational disciplines [12]. Biology and engineering, like most other academic disciplines, are often taught through traditional instructional methods heavily featuring didactic lectures. In these disciplinary contexts, there is typically a heavy emphasis on the technical aspects of computational topics. However, education research suggests that a narrow focus on technical competency typically provides students with routine expertise, but lacks the adaptive expertise needed to solve computational problems in real world settings [6,12,22]. For example, students attempting to develop computational models of cellular and molecular biological systems report challenges with higher-order computational thinking skills such as abstraction and problem decomposition, rather than coding or mathematics [38,61,64].
Improving computational education requires greater consideration for helping students develop their ability to solve disciplinary problems with computation, rather than merely master the technical aspects of worked examples. Cognitive Apprenticeship is grounded in constructivist learning theories and draws on traditional apprenticeship training structures in the skilled trades. This model argues that students learn best through guided-experience on cognitive and metacognitive skills and processes specific to their discipline [7]. Collins et al. outlined Content, Method, Sequencing, and Sociology as the four critical dimensions of learning environments [8]. The Computational Apprenticeship framework adapts this model to computational domains and provides a theoretical basis for creating curated learning experiences with graduated challenges in terms of difficulty and diversity. The framework also provides direction for the use of emerging technological practices such as code commenting and Jupyter notebooks to deliver pedagogical scaffolding and other elements of the sequencing and method dimensions of learning [12].
Tackling these goals necessitates both multicellular systems biology and multicellular systems engineering perspectives [30,33]. The development of next-generation cures requires a deeper understanding of the fundamental biology of multicellular systems [34]. Reductionist approaches -motivated in part by the earlier successes of germ theories for infectious diseases -attempt to cure diseases by identifying and repairing a single root cause (e.g., a single or small number of driver mutations, or an overactivated receptor pathway) in an isolated cell type [44,54]. These approaches, however, neglect the complex interactions in the evolving multilevel networks of normal and diseased tissues [25]. Targeted interventions do not only affect just single cell types; biochemical and biophysical feedbacks -combined with intercellular heterogeneity and natural selection [34] and amplified by physical constraints [67] -can cause secondary effects such as therapeutic resistance (e.g., by selecting for resistant cancer clones), worsened drug delivery, and treatment toxicity [29,34,49]. Thus next-generation therapies must not just treat single cell types, but rather steer the multicellular systems towards balance. This necessitates systems thinking that combines biological domain expertise with computational and mathematical tools designed for complex cell and molecular biological systems [34,49], along with scientific computing infrastructures for large-scale investigations [48,49].
To drive these system approaches, the MathCancer Lab develops the technological core components and infrastructure of a computational model system that can be interrogated for multicellular systems biology and engineering from a multiscale mathematics perspective [34]. They developed an efficient open source framework to solve coupled reactiondiffusion partial differential equations in biochemical tissue environments [16], and an agent-based framework (PhysiCell) for multiscale modeling that can include stochastic processes, systems of ordinary differential equations, and other mathematical "submodels" in thousands or millions of interacting discrete cell agents [17]. (See [45] for an overview of cell-based modeling methods in cancer.) Together, these components form the backbone of a computational tissue model system for simulating and analyzing multicellular biological systems that combine discrete and continuum mathematics [34]. Typical applications include cancer immunology, synthetic multicellular systems, metabolic tumor-stroma crosstalk in heterogeneous cell populations, and infectious diseases. See some examples in Figure 1.
Partnerships with the open source community have combined these modeling frameworks with large-scale investigations on supercomputers [49], machine learning approaches that accelerate the investigations and aid model interpretation [48], and new mathematical model components (e.g., Boolean signaling networks [28]). Efforts towards data standardization [15,33] and a recent focus on creating open educational training materials and shared source code repositories seek to grow these computational projects from a single-lab effort to a community-driven ecosystem for mathematical biology, multicellular systems biology, and computational bioengineering [32,33].
To advance towards these goals, the lab has recently focused on integrating undergraduate research, undergraduate education, and scholarly communication, drawing upon evidencebased practices from the computational apprenticeship framework. Undergraduate and graduate students, scientific staff, faculty, visiting researchers, and a network of multidisciplinary collaborators work together to build computational resources, apply them to specific cancer and other biological problems, disseminate methods and results, and unite researchers for community-driven science. Here, we share our experiences in this iterative effort.

CASE STUDY: UNDERGRADUATE INVOLVEMENT IN A COMPUTATIONAL ONCOLOGY LABORATORY
The MathCancer Lab moved to Indiana University's new Intelligent Systems Engineering Department, starting with one lab principal investigator (PI: Macklin), one scientific staff (Heiland), and one Ph.D. student. While the PI had previously taught dedicated classes on mathematical and computational biology and had involved undergraduate students in research, these efforts were performed separately. The move to a new program presented a rare opportunity to build and iteratively refine a new research program that involved undergraduate students from the very start. In the Fall semester, the lab began integrating undergraduate researchers into its growing research program, with several guiding principles:

•
Students should be involved with the main research program. (Students should be directly involved in ongoing publication-driven research, rather than projects created solely for didactic purposes.) • Student involvement should accelerate these existing projects or allow expanded exploration of the existing scientific aims.

•
More experienced students should help mentor less experienced students to foster a sustainable team.

•
Research results should feed back into education and outreach.
• Graduate students should gain team management experience while helping to mentor undergraduate students.

•
The students' class work and personal/home responsibilities must take priority over their research involvement.
• Students should be encouraged to seek other opportunities in the summer to broaden their skills and drive professional networking.

Evolving Undergraduate Research Model
Motivated by rapid prototyping methodologies, we iteratively developed, tested, and refined the mentorship structure (with guidance from computational apprenticeship theory) while integrating undergraduate students into ongoing (primarily grant-funded) research in mathematical oncology. At the end of each semester, we evaluated the current mentorship structure against the guiding principles, with particular attention to:

1.
progress towards research milestones

2.
progress towards peer-reviewed scientific posters

3.
development of scientific and communication skills

4.
individual understanding of the projects and their contributions

6.
emergence of undergraduate student leadership

7.
evolving team leadership skills by involved graduate students
The progress was assessed by a combination of graduate student, one research staff (Heiland), and PI (Macklin) observations, student interviews (lead by Madamanchi [39]), and end-of-semester lab discussions.

Version 1 (Fall 2017)
The first version of the mentorship structure included the PI (Macklin), one scientific research staff (Heiland), one Ph.D. student, and five undergraduate (freshman) students with a variety of backgrounds in engineering and neuroscience. See Table A1 in Appendix 1.
This mentoring structure focused on training the undergraduate and graduate students to use the lab's main computational framework (PhysiCell [17]). Each week, the group met for a 1-2 hour live coding session that introduced the code-base and illustrated modeling techniques for sample tumor growth problems. The Ph.D. student and research staff attended the sessions and helped the undergraduate researchers to troubleshoot their code, similarly to the role of teaching assistants in lab sections for programming-heavy STEM courses.

Assessment:
At the end of the semester, the PI, scientific staff, and graduate student met to discuss the successes and failures of the semester, based on their personal observations.
Research impact: These coding sessions exposed areas for improvement in Physi-Cell, particularly ways that model setup could be automated and made more user-friendly. These core method improvements were beneficial to all scientific projects in the lab.
Other metrics: One of the five students returned to continue research in the following semester.
What worked: The students progressed from little-to-no programing expertise, to being able to independently compile and run C++-based PhysiCell simulations on their own laptops. They learned how to make minor code modifications to existing models to change the model hypotheses, often driven by a basic understanding of ordinary differential equations. They also learned to create and present scientific posters.

Areas for improvement:
We found that the live coding sessions did not make the fullest use of the students' individual capabilities. The students needed more hands-on time to learn and contribute individually. The computational apprenticeship principle of "fading," in which mentors gradually give less support, needed more time to implement.

Version 2 (Spring 2018)
In response to the Version 1 observations, we changed to a small team structure. Each team consisted of one to three undergraduate students, the PI, and potentially a co-mentor (Ph.D. student or scientific staff). Each team met early in the week for approximately 1 hour to mentor, set goals, and work. The undergraduate students worked on their own towards the weekly goals for 1-2 hours between these weekly mentored meetings. The updated lab structure is in Table A1 in Appendix 1. Note that all the undergraduate students were freshmen. The semester's projects included: Project 1: Develop Jupyter notebook user interfaces for PhysiCell models (PI, research staff, 3 undergraduates). Assessment: At the end of the semester, the entire lab met to discuss the semester's progress and assess our current research organization. Afterwards, the PI, scientific staff, and Ph.D. student met to discuss the final lab meeting's observations, together with their own personal observations. Madamanchi began collaborating in Summer 2018 to observe the lab structure and contribute computational apprenticeship expertise to help refine our mentoring structure [39].

Research impact:
The students in Project 1 were successful in prototyping a technique to create a Jupyter-based graphical user interface (GUIs) for a PhysiCell-based simulation model of cancer nanotherapy [20]. They presented their work at an Indiana University poster session and at a major NSF site visit. The students in Project 2 were able to prototype key elements of the ECM model and present their results at a poster session. The student in Project 3 was not able to make progress, primarily due to other extracurricular priorities for the student.
Other metrics: Five of the six students returned to continue research in the following semester. The remaining student was not asked to return due to insufficient research progress.
What worked: The students were able to make individual contributions to the projects. We observed growth in their C++ and Python skills, and independent creativity (particularly in Project 1).
Areas for improvement: While the students were able to make individual contributions to their projects, they expressed that they felt isolated from the lab and unaware of progress by other teams. They sought increased interactions between the teams. This is consistent with computational apprenticeship, which emphasizes the need for social learning and peer-to-peer information transfer. The PI observed that his weekly meetings with each team were not scalable or sustainable.

Version 3 (Fall 2018-Spring 2019)
To address our Version 2 observations, we refined the mentoring structure to ensure that each team had a non-PI co-mentor who would take responsibility for the team. The updated lab structure is in Table A1 in Appendix 1. We also altered the weekly mentoring schedule: • The PI met with all co-mentors in weekly one-on-one mentoring to discuss their team progress and plan their team's next steps.

•
The non-PI co-mentors met with their teams early each week (approximately 1 hour) to set goals and work. The PI attended these meetings by request of the co-mentors.

•
The undergraduate researchers worked on their own towards the weekly goals mid-week and/or on the weekend.

•
We held an "all hands" lab meeting each Friday for 1-2 hours: Team presentation: One of the teams prepared and presented a 10-20-minute presentation on their progress and open problems, followed by group discussion. This encouraged "cross-pollination" between teams and collective brainstorming, while developing undergraduate student presentation skills and encouraging individual student understanding of the work.

Unstructured mentoring time:
For the remainder of the group meeting, we broke into teams, while the PI met with each team for extra mentoring and troubleshooting.

•
We added a PI's "state of the lab" talk to the end of each semester to summarize and contextualize progress and kick-start group discussion to assess our lab processes.
In these semesters, the projects included: Assessment: At each semester's final all-hands meeting, the entire lab (PI, scientific staff, Ph.D. students, undergraduate researchers) discussed the semester's progress and name strengths and weaknesses of our current research organization. Afterwards, the PI, scientific staff, and Ph.D. students met to discuss the final lab meeting's observations, together with their own personal observations. Madamanchi performed student interviews (results were published in [39]) and consulted regularly with the PI on his observations.

Research impact:
The students in Project 1 were successful in generalizing their previous prototype to develop xml2jupyter, which was featured in a student coauthored scientific abstract and peer-reviewed scientific paper [21]. Students in Projects 2, 3 and 4 continued to refine their computational models and presented their work at a poster session. Projects that had new undergraduate students and graduate mentors had more limited progress as those students needed more extensive PI training. The student in Project 5 made substantial progress in their software development project [62]. Two additional undergraduate students attended lab meetings irregularly and contributed to discussions but did not attend regularly enough to join projects.
Other metrics: One undergraduate student served as an undergraduate team lead in Project 2 and began training as successor so he could pursue interests in his core concentration (cyberphysical systems and computer engineering). Three undergraduate students contributed to a peer-reviewed journal article [21]; two of these ramped down their involvement and "graduated" from the lab after reaching this milestone, allowing them to pursue interests in their concentration of study. One student graduated from Indiana University and was employed in industry. Five of the remaining students returned to continue research in the following academic year. (As noted above, three left the group to research closer to their engineering concentration after successful knowledge transfer, and one graduated.) What worked: The students made substantive individual contributions, including a peerreviewed publication [21]. Student creativity lead to unanticipated advances (ad hoc small team crowdsourcing), and we observed frequent undergraduate-undergraduate mentoring.
Notably, this updated mentoring structure accommodated a near doubling of undergraduate involvement (an increase from 6 to 10 students).

Areas for improvement:
Overall, we have found that this mentoring structure has been successful, but we identified areas for improvement. The large number of projects left the lab feeling fragmented and difficult to manage. Some of the teams were unbalanced: Projects 1, 2, and 5 benefited from a senior Ph.D. student (with prior mentoring experience in industry) or scientific staff. Projects 3-4 were co-mentored by younger Ph.D. students with less leadership experience and domain knowledge, leading to reduced progress. Student surveys also found that students in Projects 3-4 gained the impression that Projects 1-2 and 5 were higher lab priorities. Thus better communication of priorities and the impact of each project were needed in the younger teams.

Version 4 (Fall 2019-present)
The Version 4 lab structure is in Table A1 in Appendix 1. We modified the Version 3 mentoring structure in several ways: • Organize teams around themes, rather than specific technical projects:  [21] refinements, but was also encouraged to creatively explore standalone tools that could increase the usability and utility of PhysiCell models (1 staff, 2 Ph.D. students, 4 undergraduate students).
• Devote some lab presentations to new team management or technical skills, rather than project progress. Examples included: -Project management with Trello -Scrums, sprints, and kanbans (software team skills) -PhysiCell simulation data structures [15].

•
The PI gives frequent updates from research travel and reinforces the key role of each team's work in the lab's long-term strategy.
Assessment: This iteration is still in progress. An end-of-semester "state of the lab" talk and discussion is planned for December 2019, as well as discussion among the senior staff (Ph.D. students, scientific staff, and PI) and Madamanchi. Macklin and Madamanchi are planning assessments for use in the Spring 2020 semester.
Research impact: Team 1 has prototyped educational microapps and tested presentations. They began brainstorming new outreach methods while designing the PhysiCell.org website. Team 2 continues to make good progress on their ECM model and is performing final analyses for their manuscript. Team 3 has released a "Python loader" tool [65,66] to load simulation data into Python and add significant visualization and usability refinements.
Other metrics: This work is ongoing, but we see evidence of strong student leadership. The students in Team 1 (mostly sophomores) developed their own recording methodologies and are leading the development of educational microapps. They have also proposed leading a student-run minisymposium at the 2020 Annual Meeting of the Biomedical Engineering Society (BMES), showing a sense of intellectual co-ownership.
Team 2 is working independently: the PI coordinates work with the Ph.D. student lead, who has also encouraged leadership by the undergraduate students. Team 3 has shown substantial technical know-how and creativity in adapting open source tools to the PhysiCell software ecosystem. They are actively leading the development of new features.
What worked: While this lab version is ongoing, preliminary observations find that grouping more students together in teams wrapped around themes has allowed greater peer-to-peer mentoring, individual creativity, and initiative. The students frequently suggest solutions and meet in smaller pairs to work new angles. Teams 1 and 3 have begun breaking their topics down into separate sub-projects to work in parallel.
Pairing two younger Ph.D. students in Team 1 was helpful in addressing the prior weakness of unbalanced teams (particularly teams where the undergraduate and graduate students were less experienced). Moreover, mixing new and returning students in Teams 1 and 3 helped to balance expertise and encourage within-team peer mentoring.
Areas for improvement: Overall, we have found that this mentoring structure has addressed most of the issues identified in Version 3. We will continue to evaluate and refine.

Contextualization as Computational Apprenticeship
Undergraduate research is broadly considered a valuable component of undergraduate education in STEM disciplines. Participation in undergraduate research is associated with greater STEM retention and educational achievement [2,55,70]. However, the traditional models for undergraduate research have developed in the natural sciences, and there is a need for critical reflection on how to scale and adapt undergraduate research opportunities within computational and interdisciplinary fields.
The MathCancer lab's evolving approach to undergraduate mentoring has developed a tiered mentoring structure that aligns with education research showing that students benefit from having both faculty and graduate or staff mentors [10,68]. The apprenticeship relationship between undergraduate researchers and their mentors provides not only domain knowledge, but also higher-order skills including heuristic strategies, learning strategies, and metacognitive skills that are associated with "thinking like a scientist" [3]. Additionally, undergraduate researchers are socialized into the disciplinary community and can have gains in their disciplinary identity that are associated with long-term persistence within the field [63]. A tiered mentoring structure allows each undergraduate researcher to receive coaching and guidance from multiple mentors, as well as provides opportunities for students to learn by observing and modeling the disciplinary processes of their mentors and their undergraduate peers. Similarly, structured interactions with multiple lab members support the integration of the undergraduate researchers in the lab community. At primarily undergraduate institutions in which staff or graduate secondary mentors are not possible, more advanced undergraduates can play many of these important functions.
The MathCancer group recently partnered with computational education researchers to study the experience of their undergraduate researchers [39]. Our qualitative investigation found that the undergraduate researchers enjoyed and valued their time in the MathCancer group. Specifically, the students reported gains in their intellectual and personal development through their lab experience. Students reported increased knowledge of "real-world" engineering and modeling norms and practices, and they reported gains in their ability to "think like an engineer," suggesting growth in both metacognitive skills and disciplinary identity. The students' self-reported development in these domains is similar to published findings from studies of undergraduate researchers in the natural sciences [56,59,63].
Our study also characterized the executive management and strategic knowledge component of the undergraduate researchers' metacognition. Students displayed varied levels of these metacognitive skills, which reflected the differences in age and length of research experience. The students all reported an executive management approach of "guess and check" for implementing their research plan. More mature students were able to identify this approach as part of a larger iterative process of planning and evaluating. In contrast, students with less experience in the lab indicated a high degree of reliance upon their staff or graduate co-mentor to help identify the next step in the plan. The tiered mentorship structure of the MathCancer research group allows for greater scaffolding and support for novice researchers and builds in "fading" of that support and greater independence for more advanced undergraduates. The undergraduate researchers all indicated satisfaction with the growth in their strategic knowledge, but had difficulties in articulating the heuristic, control, and learning strategies that they use in the research process. Interviews with faculty, staff, and graduate mentors as well as examination of the group's research documentation suggest that the undergraduate researchers did, in fact, gain experience with new heuristics for problem-solving but had difficulty recalling or articulating them in a decontextualized semi-structured interview.
To further support the metacognitive development of its undergraduate researchers, the MathCancer group intends to provide mentorship training to lab members and embed scaffolded reflection to its research process. Mentorship training will consist of a short seminar on computational apprenticeship model. This seminar is intended to remind both the mentors and the undergraduate researchers that learning consists not only of technical domain knowledge but also of metacognitive knowledge. The seminar will also cover the modes and sequencing of mentorship to help mentors understand different ways of organizing research tasks, and prompt students to be more intentional about their learning process (see Table A2 in Appendix 2, constructed from [3,8]). The mentors in the MathCancer group already demonstrate many of the mentoring modalities of computational apprenticeship, but research indicates that foregrounding these approaches through mentorship training is beneficial for undergraduate researchers [27,47].
Similarly, the MathCancer group plans to embed bimonthly scaffolded reflection prompts into their existing research documentation process. Specifically, they have adapted Howitt et al. Learner Logbook intervention for computational research as a way helping undergraduates absorb bigger picture learning during their research [23]. See Table A3 in Appendix 2.

CONCLUDING REMARKS
For many computational research labs, the educational infrastructure of the undergraduate research experience is often considered to be distinct from the software infrastructure developed by the lab. However, there are key parallels: as a platform that facilitates computational modeling, PhysiCell provides "software-realized scaffolding" that enables scientists to more easily engage with disciplinary biology questions within the computational realm [13,19]. Students with moderate programming experience can extend sample projects to implement complex models that integrate cutting-edge stochastic processes, 3-D diffusion, discrete processes without building these capabilities "from scratch," allowing them to focus more deeply on (1) "translating" biological behaviors into mathematical submodels and agent rules, (2) rapidly testing and visualizing the emergent nonlinear behaviors of these complex systems, (3) analyzing their results, and (4) communicating what they have learned. Interdisciplinary undergraduate instruction and scientific communication are two arenas in which the software infrastructure of PhysiCell can support a computational apprenticeship analogous to the undergraduate research program of the MathCancer Group.
A major goal of interdisciplinary education at the intersection of life sciences and computational sciences is acculturating students to the modes of thinking within each discipline. Authentic learning experiences that provide students with realistic interdisciplinary problems are crucial for teaching students to "think like a biologist" and "think like an engineer/mathematician".
However, presenting students with computational or systems concepts applied to life sciences problems can pose challenges to students by simultaneously introducing new disciplinary knowledge and new technical content. The use of educational "microapps" or interactives can be a powerful way of creating authentic learning experiences, while still providing the scaffolding and sequencing called for within the computational apprenticeship framework. Microapps can embed widgets and sliders that allow students to explore the problems globally or conceptually before implementing models on their own. Moreover, interactive exploration of complex computational models could help students build intuition for deep mathematical concepts far earlier than they are introduced in most classroom-based curricula. We found that freshmen researchers gained intuition in stochastic processes (e.g., Poisson birth-death processes and biased random walks) and partial differential equations (diffusion processes, Dirichlet and von Neuman boundary conditions, diffusion length scales) from using and developing these computational models. Future work should focus on how these apps can be refined and augmented with video recording and other scaffolding to improve this learning.
The MathCancer group is adapting xml2jupyter [21] (see Section 2.4) to build technological infrastructure to support these pedagogical approaches. Small, efficient agent-based models [45] can be purpose-built to illustrate biological concepts, automatically fitted with Jupyterbased GUIs, and rapidly deployed as cloud-hosted educational microapps. These apps present didactic information, parameter tabs (default values guide novice users), a runnable simulation model, and tabs to visualize the cell behavior and chemical substrates (see Figure  2 for an example that explores biased random cell migration.) Macklin has tested microapps in an undergraduate systems biology course, and the MathCancer lab is using the approach to build a series of microapp-enhanced training modules for PhysiCell (see Section 2.5). Moreover, Macklin uses the xml2jupyter workflow to enhance computational apprenticeship in the classroom: advanced multicellular systems biology students at Indiana University develop their own PhysiCell [17] models as a final project, convert them to cloud-hosted models with xml2jupyter [21], and demonstrate their interactives in their final presentations. Future PhysiCell educational microapps could be developed, in careful collaboration with instructional experts, to supplement open educational materials in educational communities such as QUBES [11]. Moreover, such educational communities could act as "educational marketplaces," connecting tool builders (e.g., engineering faculty) with educators including biologists and mathematicians who use interactives in their curriculum. Such partnerships between modelers and educators are critical in ensuring that shared research models are useful to student learning with sufficient scaffolding. This is an increasing area of focus for the MathCancer lab, and early feedback informs us that a scaffolding with the background mathematics, expected model behavior, and suggested exploration improves student experiences with these models. We are currently exploring the use of online videos on specific apps as further scaffolding.
Similar approaches may be valuable for interdisciplinary communication among practicing scientists. Current practices for communicating computational biology are limited to traditional paper formats that include the foundational equations or at best a link to the model code. This approach puts a high burden for replication and exploration on timelimited readers. Worse, for biologists with limited computational training, this approach prevents any engagement with computational biology literature. The MathCancer Lab used xml2jupyter [21] to create pc4cancerimmune [35], its first "publication companion app" as part of [48]. This allows scientific readers to interactively explore and understand the key cancer immunology simulation model at the heart of the publication's method, as well as to better disseminate the model to the broader scientific community. Moreover, cloud-hosted versions of published research-grade models can readily be used in classroom instruction, thus allowing educators to rapidly incorporate cutting-edge research in their curriculum. The MathCancer lab has tested using publication companion apps to illustrate intelligent systems modeling to sophomore engineering students at Indiana University, and it is currently seeking new educational communities to further test the concept.
The current work and future directions of the MathCancer lab highlight the value and mutual benefit of engaging with education scholarship and education researchers. We have observed several instances of what may be termed "convergent evolution" between our practice and education research findings. Our hierarchical mentoring model includes the mentoring triads that education researchers have identified as a best practice. Similarly, our approach to "rapid prototyping" our educational infrastructure mirrors the design-based research modality of education researchers. Consultation with education researchers can help educators to arrive at theoretically and empirically supported practices more quickly. Similarly, practitioners in rapidly evolving interdisciplinary education spaces can offer new perspectives that stimulate new education scholarship. Direct collaboration with the educational community will be essential if research-driven apps are to reach their pedagogical potential. Randy Heiland received degrees in computer science (Utah) and mathematics (Arizona State) and has pursued opportunities to effectively combine them ever since, including numerous education and outreach opportunities in K-16. A simple recipe he has followed is to use age appropriate mathematics with interactive computer simulations to get young (and not so young) people excited about science and math.
Paul Macklin studied mathematics at the University of Nebraska-Lincoln, the University of Minnesota, and the University of California-Irvine. He has developed open source software for mathematical biology with academic positions in mathematics, health informatics, research medicine, and engineering. He is an associate professor in intelligent systems engineering at Indiana University. He seeks to involve undergraduate students in cuttingedge research and bring that research to the classroom.

REFLECTION
Modes and sequencing of mentoring in Computational Apprenticeship are given in Table  A2. Scaffolded reflection prompts are given in Table A3. Computational apprenticeship: mode and sequencing of mentoring.

Mode of Mentoring
Modeling Explicit demonstration of a task, including verbalizing the associated heuristics (strategies)

Coaching
Observing students as they perform tasks and offering feedback Scaffolding Making tasks accessible to students by calibrating difficulty levels Articulation Asking students to verbalize their process as they complete tasks Reflection Prompting students to compare multiple approaches to problem solving Exploration Fading or slowly withdrawing as students gain the ability to perform complex tasks

Sequencing of Mentoring
Increasing complexity Organizing coding tasks from simple to more complex Increasing diversity Allowing students to develop skills within one language/project before transferring those approaches to a new context Global to local skills Sharing the overall conceptual approach using psuedocode before implementing specific subtasks Table A3.
Students will select one question to briefly answer every 2 months: How has your group navigated any challenges you have encountered?
What might you have done differently if you had known two months ago what you know now?
Has your research question changed? If so, why, and what has it changed to?
How have you chosen the approach or methods that you are using for your project?
What are the connections between your research activities and your other studies?
Can you see ways in which you could apply what you have learned to other activities? Left: Cancer Immunotherapy. See a full description and 3D visualization at [31] and a cloud-hosted 2D interactive version at [35]. Adapted under CC-BY license from [17]. Right: cell-cell communication by chemical diffusion. See a cloud-hosted interactive version and full description at [36]. The first PhysiCell/xml2jupyter educational microapp [37] was rapidly developed and deployed over 2 days in response to student learning needs. As part of Team 1's work in the Version 4 lab (2.5), this has been refined to build a new microapp [26] to illustrate biased random cell migration in PhysiCell to train users to set key phenotypic parameters. Note that the app has didactic material (A), user-set parameters (B), a runnable simulation, and built-in visualization (C).