Introduction

During the last years, many countries and regions have reformed their curricula to include digital skills related to computational thinking (CT) or programming (Bocconi et al., 2022; National Research Council, 2012). In this article, we are interested in programming and therefore choose to distinguish between CT, programming, and computer science (CS) in a manner similar to Zhang and Nouri (2019), who see programming as a subset of CS and CT as a subset of programming. Their definition of CT as “a thought process, through skills that are fundamental in programming (CT skills), to solve problems regardless of discipline” (ibid., p. 3) illustrates the close connection between CT and programming. This understanding of the relationship between CT, programming, and CS is also reflected in how different countries have implemented CT and programming skills into the curriculum using three different strategies: as a cross-curricular theme (cf. “regardless of discipline” in CT quote above), as part of a separate subject (e.g., as CS), or within subjects (Bocconi et al., 2022, p. 6). Norway, which is the context of the present study, has implemented programming in the school science subject which also includes elements of technology (ST). Here, programming is described not mainly as a goal, but as a tool for learning central concepts and processes in ST (Vinnervik & Bungum, 2022). The primary curriculum of Canada is a related example, where coding is part of an integrated ST subject.Footnote 1 These reforms imply new expectations for teacher professional knowledge since teachers are key actors in implementing curricular reforms.

The present paper examines the knowledge needed by teachers to use programming purposefully to support students’ learning in school science and technology. When programming is part of the school curriculum, it should also be part of pre-service teacher education (Yadav et al., 2017). Integrating programming into pre-service teacher training is, however, a relatively new field where much work still needs to be done (e.g., Butler & Leahy, 2021; Suters, 2021; Vasconcelos & Kim, 2020). Some questions that we believe to be important are: What knowledge do teachers need to work purposefully with programming towards the curriculum goals in the ST classroom? How can teachers’ competence and confidence for using programming in ST be characterized and measured? To address these questions, a model of teacher knowledge is useful. Shulman (1986, 1987) developed the idea of pedagogical content knowledge (PCK) as an expression of how knowledge of content, pedagogy, and other relevant areas are combined when teaching subject content. Research into how to teach when using technologies extended PCK by adding technology as a knowledge domain and led to the model known as TPACK (Mishra & Koehler, 2006).

There exist several instruments for measuring TPACK (see reviews of TPACK instruments in, e.g., Scott, 2021; Valtonen et al., 2017; Chai et al., 2016), several of which are related to ST education (e.g., Graham et al., 2009; Kadıoğlu-Akbulut et al., 2020; Schmidt et al., 2009), but none of these focuses explicitly on programming. Giannakos et al. (2015) is one example of a TPACK measure related to CS; however, this is not specifically connected to ST, and moreover, it is too encompassing for the present context since programming is only a subset of CS, as explained above. Since TPACK is believed to be highly context sensitive (Saubern et al., 2020; Wang et al., 2018), we therefore chose to develop our own TPACK instrument that more directly addresses programming in ST education.

Our work is situated in the context of the Norwegian pre-service teacher education, preparing candidates to teach at primary or lower secondary school levels. One of the subjects in the pre-service teacher education is an integrated science and science methods course that also encompasses some technology and programming; however, the programming component is still new and under development. Since 2020, the national school science curriculum encompasses programming and has technology as one of its five “core elements” (Norwegian Ministry of Education and Research, 2019). Students in grades 5–7 are to “explore, make and program technological systems that consist of parts that work together.” In grades 8–10, students are to “use programming to explore natural-science phenomena.” Thus, in the present article, we treat programming as a tool that is used to support students’ learning of natural science or general technological principles.

Our purpose in this paper is therefore to address this emerging research field of computer programming in ST teacher education by first developing a framework for conceptualizing and measuring teacher competence in integrating Programming (P) in Science (S) and Technology (T) education, which we call TPACK-PiSTe. Then, we present the development of a questionnaire based on the presented framework that can be used to measure teachers’ self-reported knowledge. The questionnaire is specifically tied to the Norwegian curricular context described above, but should be adaptable to other integrated ST subjects.

The research questions are as follows:

  1. (1)

    What are the components of technological pedagogical content knowledge specific for using programming in science and technology education (TPACK-PiSTe)?

  2. (2)

    Can the suggested questionnaire be used to provide valid and reliable evidence regarding pre-service teachers’ knowledge of using programming in science and technology education?

Theoretical Framework

TPACK

An often-used approach to connect teaching with technology is the TPACK model (Yadav et al., 2017). TPACK is a framework for analyzing how teachers navigate the technology, pedagogy, and content to create their understanding of how to use technology in a pedagogical way to help students learn the subject matter (Mishra & Koehler, 2006); see Fig. 1.

Fig. 1
figure 1

The TPACK model illustrates how knowledge of pedagogy, content, and technology intersect to create TPACK. Reproduced by permission of the publisher, © 2012 by tpack.org

In the TPACK model, knowledge of the use of technology is interwoven with knowledge of the content matter and knowledge of teaching and learning (pedagogy). Thus, to gain TPACK, it is not enough to know technology, content, and pedagogy separately, but the knowledge of how to teach content in pedagogical ways with the help of technology “requires a thoughtful interweaving of all three key sources of knowledge” (Mishra & Koehler, 2006).

A common approach to assessing TPACK is self-report questionnaires (Wang et al., 2018). Challenges with measuring TPACK have been discussed in the literature, for instance, pertaining to vague definitions and fuzzy borders (Graham, 2011). Some of the measures developed, for example, by Lin et al. (2013) and Scherer et al. (2017), show strong correlations between some or all the factors, leading some to question the discriminant validity of the TPACK model (e.g., Archambault & Barnett, 2010). It has also proven difficult to validate the 7-factor structure of TPACK (Scott, 2021).

Theoretical Discussion: Describing TPACK-PiSTe

In this section, we answer RQ1 through a theoretical discussion of the different TPACK components in the context of programming in an integrated science and technology (ST) subject. The conceptualization is from a Norwegian context as described above, but should be easily adaptable to other integrated ST subjects.

Technological Knowledge (TK) for Using Programming in School Science and Technology

Mishra and Koehler (2006) describe TK as “knowledge about standard technologies (and) more advanced technologies (…) This involves the skills required to operate particular technologies (including) knowledge of operating systems and computer hardware, and the ability to use standard sets of software tools (…).”

When TK has been defined in the context of programming in the TPACK literature, the conceptualizations have focused on either knowledge of different programming technologies (Vivian & Falkner, 2019) or knowledge of how to use this technology (e.g., Aalbergsjø, 2022; Mouza et al., 2017). TK has thus been conceptualized as both knowledge about and skills in using programming technologies. We therefore conceive of TK for programming as the knowledge and skills involved in both creating algorithms and implementing the algorithms in concrete programming languages such as Python or programming environments such as Scratch or Makecode for Micro:bit.

Content Knowledge (CK) for School Science and Technology

Although Mishra and Koehler (2006) simply state that CK “is knowledge about the actual subject matter that is to be learned or taught,” CK represents not just the curriculum to be taught, but a comprehensive knowledge of the teaching subject as a scientific field, its methodology and its broader context.

There is an extensive literature exploring the meaning of teachers’ content knowledge (CK) in the context of science. Some examples are Maeng et al. (2013) who merely state that science as CK means biology, chemistry, earth sciences, and physics and Kaplon-Schilis and Lyublinskaya (2020) who define CK for science as conceptual understanding (i.e., identifying and using science principles), scientific inquiry, and using technological design.

Programming has become a crucial practice in modern natural science research (Weintrop et al., 2016) and is likewise fundamental to most modern digital technology. Since understanding the nature of science and scientific practices is a central component of most science curricula (Lederman & Lederman, 2014), we argue that content knowledge in science (and technology) involves learning about the role of computational approaches since these represent an important practice used by scientists and technologists (Weintrop et al., 2016). Thus, we argue that knowledge of the role of programming in modern ST should be considered a part of science CK.

The above discussion shows that programming can be considered a part of both TK and CK. Our view is that it is possible to distinguish between programming in these two domains, by considering whether programming is used as a supportive tool (TK) for exploring natural science phenomena or as part of the content (CK) relating to understanding scientific and technological practices. In some situations, programming may be both, for example, when students are programming robots, as is shown in the discussion of TCK below.

Pedagogical Knowledge (PK)

PK can be summarized as “knowledge of how to teach, including professional beliefs and visions, theory, teaching and learning strategies, knowledge about how learners learn best, reflection on practice and the advantages and disadvantages of pedagogical approaches” (Vivian & Falkner, 2019). In our context, PK can be described as the general pedagogical considerations that are relevant across subjects and content independent of programming.

Pedagogical Content Knowledge (PCK) for School Science and Technology

PCK may be understood as the common “tools of the trade” or the agreed-on knowledge shared by teachers about how to teach subject matter to a particular student group in a particular context (Carlson et al., 2019). This knowledge will include components such as knowledge of teaching strategies related to the big ideas in science (Harlen, 2010) and of using digital representations in the form of computer simulations or programs that may aid understanding.

Technological Content Knowledge (TCK) for Using Programming in School Science and Technology

According to Mishra and Koehler (2006), TCK entails knowledge of “not just the subject matter they teach but also the manner in which the subject matter can be changed by the application of technology.” Accordingly, TCK in the present case becomes teacher knowledge about how the content is changed when programming is involved, for example, when using computer simulations to explore natural-science phenomena (Aalbergsjø, 2022) or using programming to control microcontrollers with sensors (Sarı et al., 2022). In this manner, programming as TCK is used to support exploration of science phenomena and technology, as well as to exemplify the role of programming in ST. Examples of how TCK supports CK are using Scratch to program a simulation of the solar system (Killen et al., 2023) or using programmable floor-robots to demonstrate how robots can be controlled (Casey et al., 2021).

Technological Pedagogical Knowledge (TPK) for Using Programming in School

Koehler et al. (2014) define TPK as “an understanding of [how] technology can constrain and afford specific pedagogical practices.” Thus, TPK is knowledge of how the use of programming is experienced by students in educational contexts and how to accommodate for learning when using programming, independently of the content being taught. As such, it may include approaches like “pair programming” (Hawlitschek et al., 2022) or use-modify-create (Lee et al., 2011) or constructionism (Papert, 1980). In our conceptualization, the TPK category also covers teachers’ reflections on how programming supports differentiated learning, motivation, and student self-efficacy. Such understanding of the pedagogical potential of programming is relevant also for other subjects than ST.

As programming is present in both TCK and TPK, the distinction between these two domains relates to whether programming contributes to altering the content or the pedagogy or vice versa whether the content or the pedagogy alters how programming is used. We find a similar distinction in the CTintegration framework (Grover, 2021, pp. 30–31), where the combination of disciplinary content and computing concepts and practices (i.e., similar to our TCK) is distinguished from the combination of computing concepts and pedagogy (i.e., similar to our TPK). TPACK-PiSTe is however specific to ST, whereas the CTintegration framework is more content generic.

Technological Pedagogical Content Knowledge (TPACK) for Using Programming in School Science and Technology

Technological Pedagogical Content Knowledge (TPACK) refers to knowledge about the complex relations among technology, pedagogy, and content that enable teachers to develop appropriate and context-specific teaching strategies (Koehler et al., 2014).

TPACK in our context means knowledge of how programming can be used to teach science and technology content in a pedagogically meaningful way. This entails how programming is explicitly used in ST, for example, learning about robotics through programming (e.g., Chambers & Carbonaro, 2003), or how the use of programming can support understanding, for example, letting the students develop computer simulations to explore planetary motion (e.g., Adler & Kim, 2018).

Above, we have discussed how the components of technological pedagogical content knowledge specific for using programming in ST education (TPACK-PiSTe) can be described. In the next section, we turn our attention to developing a questionnaire instrument based on the above conceptualization.

Methods

Instrument Development

We initially searched for existing instruments using TPACK and found several measures related to TPACK in ST education (e.g., Giannakos et al., 2015; Graham et al., 2009; Kadıoğlu-Akbulut et al., 2020), but none focusing explicitly on programming in the context of ST. We therefore chose to develop our own items using TPACK-PiSTe as a conceptual framework, basing our design on the survey by Schmidt et al. (2009) and the shorter TPACK.xs-version by Schmid et al. (2020).

We created a pilot questionnaire with items for each of the knowledge domains in the TPACK-PiSTe model. We attempted to make the items as concrete as possible in relation to science, technology, and programming. For example, the TK items are a concretization of the skills needed for programming (e.g., “I know how to make code which contains for example variables, conditions and loops”). Five of the items were moderate modifications of the items from Schmidt et al. (2009) to make them more directly related to the Norwegian ST curriculum (e.g., “I can use a scientific way of thinking” became “I have knowledge about scientific practices” and “I know about technologies that I can use for understanding and doing science” became “I can use programming to develop simple technological systems that consist of parts that work together”). We also chose a PCK item from the revised TPACK.xs by Schmid et al. (2020) (“I know how to evaluate students’ performance in my teaching subject” became “I know how to assess students’ learning in science in different ways”) as well as four TPK items which we kept largely unchanged (e.g., “I am thinking critically about how to use programming in my classroom”). Three of the modified items from Schmidt et al. (2009) and one item from Schmid et al. (2020) remain in the final version of the questionnaire as part of the PCK and TPACK construct. In addition, we created our own TPACK items (e.g., “I know how to use programming in science to help students understand how technological systems work”), since there did not exist any previous items for this category specific to our topic.

The initial item pool was then checked for face validity, where the first author suggested items, while the other authors contributed revisions to ensure use of relevant terms and topics. In addition, we discussed the items with colleagues. We also interviewed three final-year pre-service teachers working with master’s theses related to programming in school about their understanding of the items and some adjustments were made based on their feedback. This resulted in an initial pilot questionnaire with 38 items on a 5-pt Likert scale.

Samples

The pilot version of the questionnaire was administered to about 150 pre-service teachers (PSTs) in their early twenties studying science education in five different teacher institutions in NorwayFootnote 2 who had encountered some programming in their integrated science and methods course, which includes some technology. We received 37 answers (25%). About half of the received answers were collected during a teaching sequence on the use of computer simulations in science education in one of the institutions.

The pilot questionnaire was then revised based on a preliminary exploratory factor analysis. We halved the number of items to construct the questionnaire used in our main data collection, which was part of a larger survey administered by the research project which this study is part of. We received answers from 109 PSTs from five different teacher education institutions.

All the PSTs answered the questionnaire through an online survey tool and the answers were anonymous.

Seventy-three percent of respondents in both datasets came from the same two teacher education institutions, with the remaining 27% coming from three or four other institutions. About two-thirds of the respondents were in their fourth or fifth year of study to become elementary or lower secondary teachers, while the rest were either in their second or third year. Sixty-seven percent of the respondents identified as female and 33% as male.

Even though our sample sizes are small, we argue that small samples may give useful results in factor analytic studies. Ding et al. (1995) and de Winter et al. (2009) indicate that good factor recovery can be attained also with small sample sizes, and recommendations for factor analysis often relate to high loadings (Guadagnoli & Velicer, 1988) and items per factor (Ding et al., 1995; MacCallum et al., 1999), rather than sample size (Christopher Westland, 2010; Mundfrom et al., 2005; Velicer & Fava, 1998). It is also not uncommon with small sample sizes in educational research (McNeish, 2017a), for example, because of practical restraints such as access to respondents and ethical considerations.

Data Analysis

The aim of our factor analysis is to examine if the proposed questionnaire can provide support for valid and reliable inferences regarding pre-service teachers’ knowledge of how to use programming in ST education. We therefore used two separate samples to cross-validate the factor structure doing first an exploratory factor analysis (EFA) and then a confirmatory factor analysis (CFA).

The analysis was done in R version 4.2.3 with the packages psych 2.3.3 (Revelle, 2023) for EFA and lavaan 0.6–15 (Rosseel, 2012) for CFA.

Prior to the factor analyses, the data was pre-screened according to the methods suggested in Flora et al. (2012) and Weston and Gore (2006), checking for issues with, for example, linearity, non-normally distributed residuals, and missing data. Any non-normally distributed residuals were corrected using robust standard errors. In case of collinearity or multicollinearity, the items were removed.

Exploratory Factor Analysis (EFA)

Factor analysis was based upon the correlation matrix of the items for the pilot data (n = 37). To assess the factorability of the correlation matrix, we calculated the Bartlett test of sphericity and the Kaiser–Meyer–Olkin measure of sampling adequacy (KMO) (which should be above 0.5) (Watkins, 2018). To determine the initial number of factors, we looked at how much variance was explained by the eigenvalues (which should be above 50%) and where the scree plot flattens, as well as parallel analysis (Watkins, 2018). We also compared with the theoretical interpretability.

We used maximum likelihood (ML) estimation with the oblique “oblimin” rotation method based on the recommendation by McNeish (2017a) for small samples using the pattern matrix to identify the factor structure to be analyzed later in the CFA.

Confirmatory Factor Analysis (CFA)

CFA was thereafter done on the second dataset (n = 109). We specified the model by constraining the factor variances to 1 and thereafter used ML estimation. The test statistics were calculated using Yuan-Bentler scaling and robust SE to correct for small samples and non-normality (McNeish, 2017b). Model fit was assessed by examining the fit indices. Common fit criteria are that the results of the chi-square test should be non-significant, CFI should be larger than 0.95, and RMSEA should be below 0.06 and SRMR below 0.08 (Hu & Bentler, 1999).

Reliability and Validity

While reliability is commonly assessed using Cronbach’s alpha, or more recently McDonald’s omega (Revelle & Condon, 2019), there are several approaches to assessing validity, the most common being content and construct validity (Hoyt et al., 2006). Content validity of a questionnaire is often assessed by consulting experts and the intended target group, while construct validity can be assessed through the convergent and discriminant validity of the internal structure of the questionnaire. Validity is never settled once and for all and needs to be reexamined for each separate occasion where inferences about constructs are made.

We report Cronbach’s alpha as a measure of the reliability of the factors obtained in the EFA. To assess the reliability and convergent and discriminant validity of the CFA model, we follow the recommendations by Cheung et al. (2024) using the provided measureQ script for R. Reliability is assessed by examining the latent factor structure with McDonald’s omega (which should be above 0.8), convergent validity is assessed by looking at both factor loadings (above 0.7) and average variance extracted (AVE) (above 0.5), and discriminant validity requires that there are no cross-loadings, that the AVE of each factor is larger than their shared variance, and that the correlation between factors is below 0.7. These criteria are examined by comparing the lower bounds of the confidence intervals with the given cutoffs.

Results

Pre-screening

Twenty-two items were removed during pre-screening (see Fig. 2). Sixteen of the initial 38 items remained after the pre-screening. After screening, there were no missing data points in the pilot dataset. There were however 12 (< 1%) missing data points in the second dataset, which we imputed with FIML. We also deleted six of the respondents, as they had several answers that we considered not missing at random, reducing n in the second dataset to 103.

Fig. 2
figure 2

The reduction of questionnaire items during the analysis

EFA

The values of Bartlett’s test of sphericity and KMO were calculated, respectively, to 7.5 × 10−18 and 0.70, which indicate that the correlation matrix was appropriate for factor analysis on the pilot dataset (n = 37). Based on the eigenvalues, the number of factors to extract was determined to be three. The EFA was then done in two iterations, during which one item was removed due to cross-loadings. We were left with 15 items for the final EFA.

We show the factor loadings for the 3-factor solution based on the pattern matrix in Table 1. Two of the factor correlations were negligible (below 0.20), while the correlation between TK and TPACK was 0.35, which could be considered of mediate strength.

Table 1 The results of the EFA on the pilot dataset (n = 37). The factor loadings of the pattern matrix are shown for each item in a 3-factor solution. The bold loadings show which factor the item belongs to. h2 denotes the commonality of each item (i.e., to what degree the variance of the item is accounted for by the factors). Reliability of each factor is given with Cronbach’s alpha, α

CFA

When examining the correlation matrix for the second dataset (n = 103), we saw strong correlations (r > 0.8) between the “TK-programming” items and the “TPACK-science and technology” items. This created some challenges when confirming the 3-factor structure from the EFA, as this indicated that the TK and TPACK factors could be identical. We therefore chose to test both a 2-factor model where the TK and TPACK factors were merged and a 3-factor model where they were separate.

The fit indices of the CFA for the 2-factor and the 3-factor EFA models are presented in Table 2. The chi-square test for both models indicates somewhat poor model fit with data, which is not uncommon, and the RMSEA values are somewhat larger than the recommended threshold. However, SRMR for both models and CFI for the 3-factor model are within the recommended cutoffs. Considering that both the CFI and the chi-square value are better for the 3-factor model, we suggest that the 3-factor model is the most interesting model to examine further.

Table 2 The fit indices for the models we have tested with CFA using the second dataset (n = 103). Chi-square is Yuan-Bentler scaled, CFI and RMSEA are based on robust SE, and SRMR is uncorrected

The CFA version of the 3-factor model is presented in Fig. 3. All items load strongly onto their corresponding factors. The correlation between TK and TPACK is strong, while the correlations with PCK are moderate.

Fig. 3
figure 3

The final instrument based on a completely standardized 3-factor solution. The variance of the factors was set to 1. Some item texts are shortened. The full item texts can be seen in Table 3

The factor structure and the 13 items that constitute our final version of the questionnaire instrument are presented in Table 3. We note that respondents’ self-reported knowledge is considerably higher in the PCK domain than in the TK and in particular the TPACK domain. Thus, our instrument seems to have captured an uncertainty among the pre-service teachers about how to program as well as how to use programming purposefully in science teaching. We see that PCK contributes very little to the common variance in the data (cf. ωh).

Table 3 The final version of the questionnaire with mean values and standard deviations for each item, along with McDonald’s ωt and ωh for each construct. The items are translated from Norwegian. n = 103

Reliability, Convergent, and Discriminant Validity

The results of the analysis of the reliability, convergent, and discriminant validity of the questionnaire are shown in Table 4. The construct reliability is given in brackets on the diagonal and indicate no concern with the reliability of any of the factors. No factor loadings are significantly less than 0.7 (cf. Figure 3), and no AVEs are significantly lower than 0.5, indicating no concern with convergent validity for any factors. No indicators cross-load, and the AVE for all factors are larger than their shared variance (which can be obtained by squaring the factor correlations), but the correlation between TK and TPACK is significantly larger than 0.8 (indicated with a b in the table), which raises a minor concern with the discriminatory validity between TK and TPACK. As shown in Table 4, however, the 3-factor model shows better model fit than the 2-factor model, supporting the choice of keeping TK and TPACK separate.

Table 4 The parameters for evaluating reliability, convergent, and discriminatory validity based on the CFA-modeled data

Discussion

In this paper, we have discussed the TPACK construct for using programming to teach an integrated ST subject. We have also presented a cross-validated 13-item questionnaire instrument showing reliable measures of three domains of knowledge in this area, namely programming (TK), PCK in science, and programming related to ST (TPACK). Below we first discuss our interpretation of TPACK-PiSTe and then the properties of our proposed questionnaire instrument.

Conceptualizing Teachers’ Knowledge for Using Programming in ST Education

To our knowledge, no one has thus far discussed what TPACK entails in the case of using programming in a school ST subject. We present such a discussion of teachers’ knowledge, anchored in the literature on computational thinking (CT) and TPACK. As more countries include programming and CT skills in their compulsory schooling in various ways (Bocconi et al., 2022), and given the pivotal role of teachers in carrying out the reforms (Yadav et al., 2017), there is a need for a knowledge base for research and development. A characterization of the knowledge and skills that teachers need is also crucial for informing teacher education. An example from Norway is the ongoing research and development of a progression of programming in ST teacher education (e.g., Aalbergsjø, 2022).

In many countries, programming is taught as a separate CS course or as part of a technology course. We argue, however, that programming can function as a tool to support learning within science and/or an ST subject. Drawing on the notion of “Big ideas of Science Education” by Harlen (2010), we suggest that programming can support understanding of ideas about science and in science, that is understanding computation as part of how science is done (i.e., programming as a scientific practice) and, on the other hand, using programming to support learning and understanding of the subject content in science (e.g., through computational modeling or visualizations of natural science phenomena). Thus, programming relates to both content knowledge, CK, and technological knowledge, TK.

Whether it is possible to distinguish between the different components of the TPACK model has been contested in the literature (Brantley-Dias & Ertmer, 2013; Graham, 2011). We have, however, argued that it is qualitatively meaningful to distinguish between the TCK and TPK components as it provides nuances to teachers’ understanding of how programming can support ST education. Taking inquiry-based science education as an example, TPACK could be seen to consist of knowledge of which content matter is suitable for programming-based inquiry (TCK), combined with planning skills which enable the teacher to adapt the teaching to use programming as a means for supporting and motivating a diverse student group (TPK). This example shows how the various components of TPACK may be developed simultaneously to strengthen teachers’ understanding of appropriate integration of programming in ST teaching and learning. It is also in line with the recommendations for preparing teachers through courses which offer direct experience of programming and CT within the context of subject matter (Yadav et al., 2017).

Aspects of Measuring TPACK-PiSTe Through a Questionnaire

In our discussion of TPACK-PiSTe, we described all the seven components of the TPACK framework. In our factor analysis, however, we extracted only three factors. Even though we did not extract the full 7-factor structure, we believe that the three factors we extracted, based on our content validation and theoretical discussion, represent the most essential knowledge components related specifically to using programming in ST education. We do not, for example, consider PK to be of primary concern in our context, as we are primarily interested in the introduction of programming in a science education context and PK does not include any technology topics. The questionnaire may also be used as a self-reflection tool for pre-service teachers regarding their knowledge about programming in ST education. The questionnaire instrument presented here (or future versions of it) may also be of use for ST teacher education where programming is involved. Our instrument measures aspects related to both self-efficacy (“I can”) and knowledge (“I know”), which reflects the TPACK framework’s emphasis on both conceptual (know-what) and practical (know-how) knowledge (cf. Phillips et al., 2017).

Limitations

The results of this study are not fully generalizable for several reasons. The discussion of TPACK-PiSTe and the questionnaire are made in a Norwegian context where ST are taught as an integrated subject both in school and in teacher education. The samples used in the factor analyses are somewhat small, but the strong factor loadings and the cross-validation between the two samples provide encouraging support for the results. The questionnaire measures self-reported knowledge, which is not necessarily representative of performance in class settings (Willermark, 2018).

The questionnaire measures only three of the seven theoretically described TPACK-PiSTe factors. This could be related to either the reduced number of items available when doing the cross-validation, homogeneity due to our small sample size, or the students’ low knowledge about the use of programming in science education affecting how well they distinguish between the different nuances of TPACK-PiSTe. We also saw when doing the EFA that the technology-explicit items tended to group with the TK items, while the science-explicit items tended to group with the PCK items. This could be related to the low sample size and seemed to also be dependent on which items were included or excluded after the pre-screening.

Conclusion

In this article, we have offered a theoretical discussion of the knowledge components needed by teachers who will use programming to support student learning in an integrated science and technology subject (the TPACK-PiSTe model). Furthermore, we have argued that our proposed questionnaire can support making reliable and valid inferences regarding pre-service teachers’ self-reported knowledge in using programming to support learning in ST education. The questionnaire is developed based on the TPACK literature and does not include all seven components of the TPACK-PiSTe model, but emphasizes the factors we consider most relevant to programming in an integrated ST subject. We propose that the questionnaire can be used to survey teachers’ self-reported knowledge and self-efficacy, to track development over time, and to identify areas where teachers express need for more knowledge. It can also be a useful tool for mapping where efforts should be concentrated in pre-service teacher training and teacher professional development. The questionnaire can also be of use in research, and we encourage researchers to test and develop the questionnaire further in their local contexts. Results from the use of similar questionnaires (e.g., related to CT) in different countries and contexts may also contribute to developing the theoretical TPACK-PiSTe model, thus improving our understanding of what knowledge teachers need to use programming purposefully in ST education.