Computation across the curriculum: What skills are needed?

Computation, the use of a computer to solve, simulate, or visualize a physical problem, has revolutionized how physics research is done. Computation is used widely to model systems, to simulate experiments, and to analyze data. Yet, in most undergraduate programs, students have little formal opportunity to engage with computation and, thus, are left to their own to develop their computational expertise. As part of a larger project to study how computation is incorporated in some undergraduate physics programs (and how it might be incorporated further), we convened a mini-conference and conducted a series of interviews with industry professionals, academic faculty, and employed bachelor's graduates who make use of computation in their everyday work. We present preliminary results that speak to how participants developed the requisite skills to do professional computational work and what skills they perceive are necessary to conduct such work.


I. INTRODUCTION
While computation has revolutionized modern science research [1], much of the undergraduate physics curriculum remains as it was in the 1960s [2] -e.g., emphasizing the construction of analytical solutions to long-solved problems. With advent of powerful computers as well as the development of high-level programming languages, we are capable of modeling phenomenon that a generation ago would have required sophisticated tools. And yet, many of our programs have not yet incorporated computation into the undergraduate experience [3].
A new push to incorporate computation into the undergraduate curriculum is occurring [4][5][6][7] that builds on the successes of the past [8,9], but also aims to incorporate results from physics education research [10]. As a step towards building this effort, we convened a two-day, 30-person conference of industry professionals, academic faculty, and employed physics bachelor's graduates who make use of computation in their everyday work. The overarching purpose of this conference was to articulate goals for a national survey that will investigate the state of computation in undergraduate physics departments. Follow-up interviews were conducted with a purposefully selected group of participants to further develop our understanding of what they perceive as goals for teaching computation, how their own computational learning was supported, and how their current organization continues to support their (and others') learning.
In this paper, we report on the skills physics bachelor's graduates should develop from the perspective of conference and interview participants. This study makes use of field notes and interviews, and analyzes this data from a phenomenongraphic perspective to represent diversity of participants' views while seeking coherence among those views [11]. This preliminary study acts as a starting point for developing more concrete curricular and pedagogical structures for teaching computation in physics courses.

II. DATA
The discussions at the conference and during the postconference interviews provided information on a wide range of issues around computation. The structure of the conference was such that we could collect field notes of small group and larger plenary discussions. Researchers acted as participant-observers who facilitated conversation, but allowed participants to carry the conversation in both small group and larger discussions. While all researchers collected their own notes, a single researcher was dedicated to collecting field notes. Field notes were discussed and edited during and after the conference to represent each researcher's recollection of the discussions.
During the conference, we identified participants with whom to conduct follow-up interviews. We gave precedence to employed physics bachelor's graduates and those who employ them including academic faculty and industry professionals. Ultimately, we interviewed onefifth of conference attendees. One-hour interviews were conducted with two employed physics bachelor's graduates (Britta & Annie), two academic faculty who advise doctoral candidates on computational physics research (Frankie & Jeff), one industry professional (Pierce), and one academic faculty who develops instructional materials for physics courses (Leonard). Some similarities, but also clear differences between the experiences of junior and senior interviewees emerged from the analysis.
We offer an overview of the analysis of our data (Sec. III) to give sufficient space to present our results (Sec. IV) and discussion (Sec. V).

III. ASSUMPTIONS AND METHODS
The data that we collected have provided a wealth of information about many aspects of computation in general, computational instruction, and the necessary skills for undergraduates to develop. Our analysis in this pa-per has focused exclusively on participants' perceptions of the skills that undergraduates need to develop with regard to computation. We have not wholly neglected these other important aspects of our data, but for the purposes of this paper we have foregrounded participants' discussions around computational skills in our analysis.
We should also note that our participants and interviewees were not (generally) grounded in educational research and do not appear to subscribe to any particular definition of "skill." Thus, we have taken a broad view of "skills," as it appears our participants and interviewees did, which includes knowledge of certain concepts, specific practices, and ways of thinking.
To analyze the collected data, we open-coded field notes and interviews under the aforementioned assumptions (i.e., looking for specific discussions of computational skills). This initial coding process revealed a number of similarities among the conference participants' discussions and interviewee's comments. Further review of tagged interview sections fleshed out these commonalities as well as the nuance between different interviewee's perceptions. In what follows, we present our interpretation of the common computational skills discussed by conference participants and interviewees along with some of the observed nuances.

IV. COMPUTATIONAL SKILLS
Conference and interview participants presented a number of different computational skills in discussion and in interviews. Our categorization of these skills is based on a triangulated coding of field notes and interview responses. We do not claim that ours is the only categorization possible for such data, but that it is consistent with our assumptions and that it lends itself to be interpretable for our purposes readily. We discuss each category of skills beginning with those articulated in the conference, offer sample responses from interviews that provide evidence for the presence of each category, and comment on the nuance between interview participant's responses around each category.

Knowledge of specific physics & computational concepts
Central to much of the early discussion at the conference was the particular physical and computational concepts that were necessary for students to learn during their degree program. The physics topics that were discussed mirrored the canon of topics presented in a typical physics major. The computational concepts that were raised spanned a variety of iterative concepts and included well-established numerical methods (e.g., relaxation & Monte Carlo methods) as well newer concepts for data science (e.g., anomaly detection, clustering).
The centrality of specific physical and computational concepts was present to a lesser degree in interviews (by design), but was still articulated by all interviewees. The specific topics raised depended directly on the interviewee's line of work or research. For example, Britta, a first-year graduate student in soft matter, responded to a line of inquiry about what a new graduate student might need to know to work in her lab, Britta ...a good, solid classical mechanics background as well. We're having trouble implementing rigid body dynamics in our code now because we're not sure if there's frictional forces going on with our particle or it's the lubrication force that is really dominating. So if you don't know the physics going on behind that, how can you put it into the computer?
In this snippet, Britta mentions a number of physics concepts that are needed in her work (e.g., rigid body dynamics) explicitly, but she also mentions putting that physics into the computer, which, from other parts of her interview, point to different forms of numerical integration. More senior interviewees (Jeff, Pierce, Leonard, and Frankie) also discussed specific physics and computational concepts used in their work, but they did not often couch those discussions in particular projects as Britta does. Instead, it was common for senior interviewees to describe broader aspects of learning computing.

Use of specific computational practices
In addition to students knowing particular concepts, they must engage with specific computational practices. Conference attendees raised a number of practices that can be categorized broadly as planning, modeling, programming, debugging, analysis, and visualization. These practices are particular kinds of actions that attendees felt were important for students to develop fluency with. Interviewees echoed these practices and further defined them. For example, Britta discussed the importance of planning (i.e., writing pseudocode), Britta Sometimes I would have an idea and I would think about the physics but I never really articulate it. Writing pseudocode and working through the mathematics before vomiting the code out that made a difference.
Remarks from interviewees suggested that these practices are important for students to engage in modern science work (all), but are often lacking from the undergraduate experience (Jeff, Leonard, and Frankie).

Computational ways of thinking
During the conference, attendees often alluded to "computational thinking" or "thinking iteratively " as desirable skills for students to develop. Such terms appear in the literature, but are often nebulous [12]. In interviews, some more senior interviewees (Jeff, Pierce, and Leonard) raised the issue of computational thinking spontaneously and unpacked it to various degrees. For example, Jeff, a professor who conducts computational astrophysics research, discussed computational thinking as breaking down a problem into its finest components. He, then, mentioned how difficult that is to learn, Jeff [thinking computationally is] thinking about it [the task/problem] in the very specific steps of what needs to be done that often is hard for people to get into...once you learn to break it down...I think getting to think that way, that's the challenging part.
Pierce and Leonard also raised issues associated with breaking down a complex task into bits of code, but Pierce and Jeff went further to discuss how important thinking discretely (e.g., thinking about the accumulation of small chunks) was to the computational endeavor. More junior interviewees (Annie and Britta) did not raise issues of computational thinking specifically. Some of their discussions about specific tasks they completed could have encapsulated computational thinking, but direct probes were not taken up. It might not be surprising that more junior interviewees struggled to articulate ideas around computational thinking as they have not had the benefit of years or decades of working with computation that more senior interviewees have had.

Ways of connecting mathematics, physics, and computational ideas
In their discussions, conference participants extended these ways of thinking beyond "iterative thinking" to include what we will refer to as the math-physics-computing connection. According to participants, students who have developed this connection are able to move fluidly between mathematical, physical, and computational ideas and are able to see how each affects the other. In interviews, each participant discussed the math-physicscomputing connection. Pierce, an engineer who manages a team that is developing hardware and software for exascale supercomputing, mentions how challenging it is to find such expertise, Pierce ...one of the things that's very scarce in the people who we look for is the knowledge of the actual physics and the mathematics and the numerical mathematics that goes into a lot of the simulation programs.
It might appear that Pierce's discussion of knowledge is simply ideas or concepts related to each of these different areas, but it's more clear from other parts of his interview that he is discussing connections, Pierce If you don't really have a fundamental understanding of what you are doing in the mathematics that will affect the representation of the physics, then you could be doing things [with the computer] that are just going to be useless later on.
While all of the more senior interviewees raised the connection between mathematics, physics, and computing explicitly, more junior interviewees (Britta) discussed them more implicitly -often couched in the particulars of their work. This is, again, not terribly surprising given the much wider experience with computation that more senior interviewees have had.

Meta-knowledge about computation
In addition to knowledge and practices that support doing computation, conference participants voiced that students should develop meta-knowledge about what computing can do and what tools are appropriate for certain tasks. In interviews, developing this meta-knowledge was presented by more senior interviewees (Frankie, Jeff, and Leonard), but discussions about choosing specific tools were absent. Meta-knowledge discussions were absent in interviews with more junior interviewees. Frankie, a professor who runs a soft matter lab, discussed how students should develop a meta-level understanding about what computation can buy them.
Frankie I want students to recognize that when [a diffusive system] runs to equilibrium, you're solving the Laplace equation because the time derivative is zero when in equilibrium.
Here, Frankie is speaking about helping students make the connection between solving the diffusion equation numerically and solving Laplace's equation analytically. She later articulates why she wants students to do this, Frankie I had students solve problems numerically that they could also solve analytically...calculate the first 50 terms [of an infinite series solution to Laplace's equation] and compare that to the computational [solution]. Once you gain the ability to get that more or less right, then you can start solving problems where you don't know the answer.
Frankie is both helping students understand analytic solutions that contain infinite series and demonstrating that the computer can produce an accurate solution that fits with students' analytical work. We infer that Frankie is, in part, working to help students build metaknowledge about what computation can do. Other senior interviewees expressed similar sentiments, for example, Jeff and Leonard suggested that students should understand that most problems cannot be solved analytically.

Developing professional practices
Finally, conference participants raised issues of professional practice. We distinguish these practices from computational practices because they are more closely related to working in a team environment (e.g., co-developing software). For many participants, documenting code and using version control were paramount to working well on teams that develop complex codes. These sentiments were echoed by Jeff, who develops an open-source package for astrophysical calculations and Britta, who is working from poorly documented code.
Jeff ...when you write code in a research group, you are going to be forced to support it until you die...even though it takes 20 percent longer, it's a good idea to make it readable and document it and use version control...
Britta ...we have a code that was written by a previous postdoc and he does not like to respond to emails. So, there's a lot of error messages and I have to try to figure out why.
In other parts of her interview, Britta expressed frustration with her project (e.g., persistent errors). She did not discuss how her frustration might be connected to the professional practices that Jeff mentioned (e.g, properly documented code). As Britta has worked in computational physics for 4 years and exclusively in small research groups, it is likely that she has not yet recognized the importance of these professional practices. By contrast, Jeff's years of experience developing software has required him to make use of these practices extensively.

V. DISCUSSION AND CONCLUSIONS
In this study, we collected diverse ideas presented by conference and interview participants into several preliminary categories of computational "skills." As discussed (Sec. III), we have taken a broad view of computational skills. The categories we have presented (Sec. IV) do not represent an exhaustive list of computational skills, but this list does collect the different ways that our pop-ulation spoke about what computational skills students should develop in their undergraduate physics program.
It is worth noting that these categories are not without nuance. For example, we have found a recurring divide among the ways in which different generations of computational physicists discuss what skills are important for students to learn. More junior interviewees were more likely to ground their discussion in particular projects. Additionally, some skills (e.g., computational ways of thinking) were generally absent from interviews with more junior interviewees. Both of these results likely stem from the fact that more senior interviewees have more and broader experiences with computation. These more senior participants appear to draw on and synthesize those experiences in our interviews.
The result of this research is a preliminary list of computational skills that can act as starting point for developing more concrete curricular and pedagogical structures for teaching computation. A recurring theme not presented in this study was that all interview participants developed their computational physics expertise outside of the physics curriculum; they were self-taught. It was the sentiment of conference participants and interviewees that this self-teaching practice is insufficient to deal with the needs placed on future physicists by graduate schools and industry. That is, we require new and different ways of incorporating computational instruction going forward.