skip to main content


Title: Epistemological Pluralism for Diversifying Preservice Early Childhood Teachers’ Programming Experience
Research indicates that computer programming in a bricolage manner is equally strong as structure programming. In this study, we investigated how and why 26 preservice, early childhood teachers learning to program employed diverse approaches to programming. Data included classroom videos, interviews, written reflections, submitted code, and questionnaires. Analysis involved open and axial coding. Findings included (a) all tinkered through trial and error but this does not mean that analytical means were never used, (b) divide-and-conquer was practiced, (c) analytical means were often used in locating the bug whereas tinkering was used mostly in fixing the bug, (d) unnoticing when/where to tinker compromised the programming goal, and (e) robot programming was perceived as creative, artistic, and playful.  more » « less
Award ID(s):
1906059
NSF-PAR ID:
10178617
Author(s) / Creator(s):
; ;
Date Published:
Journal Name:
Annual meeting program American Educational Research Association
ISSN:
0163-9676
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Background/Context:

    Computer programming is rarely accessible to K–12 students, especially for those from culturally and linguistically diverse backgrounds. Middle school age is a transitioning time when adolescents are more likely to make long-term decisions regarding their academic choices and interests. Having access to productive and positive knowledge and experiences in computer programming can grant them opportunities to realize their abilities and potential in this field.

    Purpose/Focus of Study:

    This study focuses on the exploration of the kind of relationship that bilingual Latinx students developed with themselves and computer programming and mathematics (CPM) practices through their participation in a CPM after-school program, first as students and then as cofacilitators teaching CPM practices to other middle school peers.

    Setting:

    An after-school program, Advancing Out-of-School Learning in Mathematics and Engineering (AOLME), was held at two middle schools located in rural and urban areas in the Southwest. It was designed to support an inclusive cultural environment that nurtured students’ opportunities to learn CPM practices through the inclusion of languages (Spanish and English), tasks, and participants congruent to students in the program. Students learned how to represent, design, and program digital images and videos using a sequence of 2D arrays of hexadecimal numbers with Python on a Raspberry Pi computer. The six bilingual cofacilitators attended Levels 1 and 2 as students and were offered the opportunity to participate as cofacilitators in the next implementation of Level 1.

    Research Design:

    This longitudinal case study focused on analyzing the experiences and shifts (if any) of students who participated as cofacilitators in AOLME. Their narratives were analyzed collectively, and our analysis describes the experiences of the cofacilitators as a single case study (with embedded units) of what it means to be a bilingual cofacilitator in AOLME. Data included individual exit interviews of the six cofacilitators and their focus groups (30–45 minutes each), an adapted 20-item CPM attitude 5-point Likert scale, and self-report from each of them. Results from attitude scales revealed cofacilitators’ greater initial and posterior connections to CPM practices. The self-reports on CPM included two number lines (0–10) for before and after AOLME for students to self-assess their liking and knowledge of CPM. The numbers were used as interview prompts to converse with students about experiences. The interview data were analyzed qualitatively and coded through a contrast-comparative process regarding students’ description of themselves, their experiences in the program, and their perception of and relationship toward CPM practices.

    Findings:

    Findings indicated that students had continued/increased motivation and confidence in CPM as they engaged in a journey as cofacilitators, described through two thematic categories: (a) shifting views by personally connecting to CPM, and (b) affirming CPM practices through teaching. The shift in connecting to CPM practices evolved as students argued that they found a new way of learning mathematics, in that they used mathematics as a tool to create videos and images that they programmed by using Python while making sense of the process bilingually (Spanish and English). This mathematics was viewed by students as high level, which in turned helped students gain self-confidence in CPM practices. Additionally, students affirmed their knowledge and confidence in CPM practices by teaching them to others, a process in which they had to mediate beyond the understanding of CPM practices. They came up with new ways of explaining CPM practices bilingually to their peers. In this new role, cofacilitators considered the topic and language, and promoted a communal support among the peers they worked with.

    Conclusions/Recommendations:

    Bilingual middle school students can not only program, but also teach bilingually and embrace new roles with nurturing support. Schools can promote new student roles, which can yield new goals and identities. There is a great need to redesign the school mathematics curriculum as a discipline that teenagers can use and connect with by creating and finding things they care about. In this way, school mathematics can support a closer “fit” with students’ identification with the world of mathematics. Cofacilitators learned more about CPM practices by teaching them, extending beyond what was given to them, and constructing new goals that were in line with a sophisticated knowledge and shifts in the practice. Assigned responsibility in a new role can strengthen students’ self-image, agency, and ways of relating to mathematics.

     
    more » « less
  2. Hicks, Michael (Ed.)
    We propose a novel approach to soundly combining linear types with multi-shot effect handlers. Linear type systems statically ensure that resources such as file handles and communication channels are used exactly once. Effect handlers provide a rich modular programming abstraction for implementing features ranging from exceptions to concurrency to backtracking. Whereas conventional linear type systems bake in the assumption that continuations are invoked exactly once, effect handlers allow continuations to be discarded (e.g. for exceptions) or invoked more than once (e.g. for backtracking). This mismatch leads to soundness bugs in existing systems such as the programming language Links, which combines linearity (for session types) with effect handlers. We introduce control-flow linearity as a means to ensure that continuations are used in accordance with the linearity of any resources they capture, ruling out such soundness bugs. We formalise the notion of control-flow linearity in a System F-style core calculus Feff∘, equipped with linear types, an effect type system, and effect handlers. We define a linearity-aware semantics in order to formally prove that Feff∘ preserves the integrity of linear values in the sense that no linear value is discarded or duplicated. In order to show that control-flow linearity can be made practical, we adapt Links based on the design of Feff∘, in doing so fixing a long-standing soundness bug. Finally, to better expose the potential of control-flow linearity, we define an ML-style core calculus Qeff∘, based on qualified types, which requires no programmer provided annotations, and instead relies entirely on type inference to infer control-flow linearity. Both linearity and effects are captured by qualified types. Qeff∘ overcomes a number of practical limitations of Feff∘, supporting abstraction over linearity, linearity dependencies between type variables, and a much more fine-grained notion of control-flow linearity. 
    more » « less
  3. Excessive phosphorus (P) applications to croplands can contribute to eutrophication of surface waters through surface runoff and subsurface (leaching) losses. We analyzed leaching losses of total dissolved P (TDP) from no-till corn, hybrid poplar (Populus nigra X P. maximowiczii), switchgrass (Panicum virgatum), miscanthus (Miscanthus giganteus), native grasses, and restored prairie, all planted in 2008 on former cropland in Michigan, USA. All crops except corn (13 kg P ha−1 year−1) were grown without P fertilization. Biomass was harvested at the end of each growing season except for poplar. Soil water at 1.2 m depth was sampled weekly to biweekly for TDP determination during March–November 2009–2016 using tension lysimeters. Soil test P (0–25 cm depth) was measured every autumn. Soil water TDP concentrations were usually below levels where eutrophication of surface waters is frequently observed (> 0.02 mg L−1) but often higher than in deep groundwater or nearby streams and lakes. Rates of P leaching, estimated from measured concentrations and modeled drainage, did not differ statistically among cropping systems across years; 7-year cropping system means ranged from 0.035 to 0.072 kg P ha−1 year−1 with large interannual variation. Leached P was positively related to STP, which decreased over the 7 years in all systems. These results indicate that both P-fertilized and unfertilized cropping systems may leach legacy P from past cropland management. Experimental details The Biofuel Cropping System Experiment (BCSE) is located at the W.K. Kellogg Biological Station (KBS) (42.3956° N, 85.3749° W; elevation 288 m asl) in southwestern Michigan, USA. This site is a part of the Great Lakes Bioenergy Research Center (www.glbrc.org) and is a Long-term Ecological Research site (www.lter.kbs.msu.edu). Soils are mesic Typic Hapludalfs developed on glacial outwash54 with high sand content (76% in the upper 150 cm) intermixed with silt-rich loess in the upper 50 cm55. The water table lies approximately 12–14 m below the surface. The climate is humid temperate with a mean annual air temperature of 9.1 °C and annual precipitation of 1005 mm, 511 mm of which falls between May and September (1981–2010)56,57. The BCSE was established as a randomized complete block design in 2008 on preexisting farmland. Prior to BCSE establishment, the field was used for grain crop and alfalfa (Medicago sativa L.) production for several decades. Between 2003 and 2007, the field received a total of ~ 300 kg P ha−1 as manure, and the southern half, which contains one of four replicate plots, received an additional 206 kg P ha−1 as inorganic fertilizer. The experimental design consists of five randomized blocks each containing one replicate plot (28 by 40 m) of 10 cropping systems (treatments) (Supplementary Fig. S1; also see Sanford et al.58). Block 5 is not included in the present study. Details on experimental design and site history are provided in Robertson and Hamilton57 and Gelfand et al.59. Leaching of P is analyzed in six of the cropping systems: (i) continuous no-till corn, (ii) switchgrass, (iii) miscanthus, (iv) a mixture of five species of native grasses, (v) a restored native prairie containing 18 plant species (Supplementary Table S1), and (vi) hybrid poplar. Agronomic management Phenological cameras and field observations indicated that the perennial herbaceous crops emerged each year between mid-April and mid-May. Corn was planted each year in early May. Herbaceous crops were harvested at the end of each growing season with the timing depending on weather: between October and November for corn and between November and December for herbaceous perennial crops. Corn stover was harvested shortly after corn grain, leaving approximately 10 cm height of stubble above the ground. The poplar was harvested only once, as the culmination of a 6-year rotation, in the winter of 2013–2014. Leaf emergence and senescence based on daily phenological images indicated the beginning and end of the poplar growing season, respectively, in each year. Application of inorganic fertilizers to the different crops followed a management approach typical for the region (Table 1). Corn was fertilized with 13 kg P ha−1 year−1 as starter fertilizer (N-P-K of 19-17-0) at the time of planting and an additional 33 kg P ha−1 year−1 was added as superphosphate in spring 2015. Corn also received N fertilizer around the time of planting and in mid-June at typical rates for the region (Table 1). No P fertilizer was applied to the perennial grassland or poplar systems (Table 1). All perennial grasses (except restored prairie) were provided 56 kg N ha−1 year−1 of N fertilizer in early summer between 2010 and 2016; an additional 77 kg N ha−1 was applied to miscanthus in 2009. Poplar was fertilized once with 157 kg N ha−1 in 2010 after the canopy had closed. Sampling of subsurface soil water and soil for P determination Subsurface soil water samples were collected beneath the root zone (1.2 m depth) using samplers installed at approximately 20 cm into the unconsolidated sand of 2Bt2 and 2E/Bt horizons (soils at the site are described in Crum and Collins54). Soil water was collected from two kinds of samplers: Prenart samplers constructed of Teflon and silica (http://www.prenart.dk/soil-water-samplers/) in replicate blocks 1 and 2 and Eijkelkamp ceramic samplers (http://www.eijkelkamp.com) in blocks 3 and 4 (Supplementary Fig. S1). The samplers were installed in 2008 at an angle using a hydraulic corer, with the sampling tubes buried underground within the plots and the sampler located about 9 m from the plot edge. There were no consistent differences in TDP concentrations between the two sampler types. Beginning in the 2009 growing season, subsurface soil water was sampled at weekly to biweekly intervals during non-frozen periods (April–November) by applying 50 kPa of vacuum to each sampler for 24 h, during which the extracted water was collected in glass bottles. Samples were filtered using different filter types (all 0.45 µm pore size) depending on the volume of leachate collected: 33-mm dia. cellulose acetate membrane filters when volumes were less than 50 mL; and 47-mm dia. Supor 450 polyethersulfone membrane filters for larger volumes. Total dissolved phosphorus (TDP) in water samples was analyzed by persulfate digestion of filtered samples to convert all phosphorus forms to soluble reactive phosphorus, followed by colorimetric analysis by long-pathlength spectrophotometry (UV-1800 Shimadzu, Japan) using the molybdate blue method60, for which the method detection limit was ~ 0.005 mg P L−1. Between 2009 and 2016, soil samples (0–25 cm depth) were collected each autumn from all plots for determination of soil test P (STP) by the Bray-1 method61, using as an extractant a dilute hydrochloric acid and ammonium fluoride solution, as is recommended for neutral to slightly acidic soils. The measured STP concentration in mg P kg−1 was converted to kg P ha−1 based on soil sampling depth and soil bulk density (mean, 1.5 g cm−3). Sampling of water samples from lakes, streams and wells for P determination In addition to chemistry of soil and subsurface soil water in the BCSE, waters from lakes, streams, and residential water supply wells were also sampled during 2009–2016 for TDP analysis using Supor 450 membrane filters and the same analytical method as for soil water. These water bodies are within 15 km of the study site, within a landscape mosaic of row crops, grasslands, deciduous forest, and wetlands, with some residential development (Supplementary Fig. S2, Supplementary Table S2). Details of land use and cover change in the vicinity of KBS are given in Hamilton et al.48, and patterns in nutrient concentrations in local surface waters are further discussed in Hamilton62. Leaching estimates, modeled drainage, and data analysis Leaching was estimated at daily time steps and summarized as total leaching on a crop-year basis, defined from the date of planting or leaf emergence in a given year to the day prior to planting or emergence in the following year. TDP concentrations (mg L−1) of subsurface soil water were linearly interpolated between sampling dates during non-freezing periods (April–November) and over non-sampling periods (December–March) based on the preceding November and subsequent April samples. Daily rates of TDP leaching (kg ha−1) were calculated by multiplying concentration (mg L−1) by drainage rates (m3 ha−1 day−1) modeled by the Systems Approach for Land Use Sustainability (SALUS) model, a crop growth model that is well calibrated for KBS soil and environmental conditions. SALUS simulates yield and environmental outcomes in response to weather, soil, management (planting dates, plant population, irrigation, N fertilizer application, and tillage), and genetics63. The SALUS water balance sub-model simulates surface runoff, saturated and unsaturated water flow, drainage, root water uptake, and evapotranspiration during growing and non-growing seasons63. The SALUS model has been used in studies of evapotranspiration48,51,64 and nutrient leaching20,65,66,67 from KBS soils, and its predictions of growing-season evapotranspiration are consistent with independent measurements based on growing-season soil water drawdown53 and evapotranspiration measured by eddy covariance68. Phosphorus leaching was assumed insignificant on days when SALUS predicted no drainage. Volume-weighted mean TDP concentrations in leachate for each crop-year and for the entire 7-year study period were calculated as the total dissolved P leaching flux (kg ha−1) divided by the total drainage (m3 ha−1). One-way ANOVA with time (crop-year) as the fixed factor was conducted to compare total annual drainage rates, P leaching rates, volume-weighted mean TDP concentrations, and maximum aboveground biomass among the cropping systems over all seven crop-years as well as with TDP concentrations from local lakes, streams, and groundwater wells. When a significant (α = 0.05) difference was detected among the groups, we used the Tukey honest significant difference (HSD) post-hoc test to make pairwise comparisons among the groups. In the case of maximum aboveground biomass, we used the Tukey–Kramer method to make pairwise comparisons among the groups because the absence of poplar data after the 2013 harvest resulted in unequal sample sizes. We also used the Tukey–Kramer method to compare the frequency distributions of TDP concentrations in all of the soil leachate samples with concentrations in lakes, streams, and groundwater wells, since each sample category had very different numbers of measurements. Individual spreadsheets in “data table_leaching_dissolved organic carbon and nitrogen.xls” 1.    annual precip_drainage 2.    biomass_corn, perennial grasses 3.    biomass_poplar 4.    annual N leaching _vol-wtd conc 5.    Summary_N leached 6.    annual DOC leachin_vol-wtd conc 7.    growing season length 8.    correlation_nh4 VS no3 9.    correlations_don VS no3_doc VS don Each spreadsheet is described below along with an explanation of variates. Note that ‘nan’ indicate data are missing or not available. First row indicates header; second row indicates units 1. Spreadsheet: annual precip_drainage Description: Precipitation measured from nearby Kellogg Biological Station (KBS) Long Term Ecological Research (LTER) Weather station, over 2009-2016 study period. Data shown in Figure 1; original data source for precipitation (https://lter.kbs.msu.edu/datatables/7). Drainage estimated from SALUS crop model. Note that drainage is percolation out of the root zone (0-125 cm). Annual precipitation and drainage values shown here are calculated for growing and non-growing crop periods. Variate    Description year    year of the observation crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” precip_G    precipitation during growing period (milliMeter) precip_NG    precipitation during non-growing period (milliMeter) drainage_G    drainage during growing period (milliMeter) drainage_NG    drainage during non-growing period (milliMeter)      2. Spreadsheet: biomass_corn, perennial grasses Description: Maximum aboveground biomass measurements from corn, switchgrass, miscanthus, native grass and restored prairie plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2009-2015. Data shown in Figure 2.   Variate    Description year    year of the observation date    day of the observation (mm/dd/yyyy) crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” replicate    each crop has four replicated plots, R1, R2, R3 and R4 station    stations (S1, S2 and S3) of samplings within the plot. For more details, refer to link (https://data.sustainability.glbrc.org/protocols/156) species    plant species that are rooted within the quadrat during the time of maximum biomass harvest. See protocol for more information, refer to link (http://lter.kbs.msu.edu/datatables/36) For maize biomass, grain and whole biomass reported in the paper (weed biomass or surface litter are excluded). Surface litter biomass not included in any crops; weed biomass not included in switchgrass and miscanthus, but included in grass mixture and prairie. fraction    Fraction of biomass biomass_plot    biomass per plot on dry-weight basis (Grams_Per_SquareMeter) biomass_ha    biomass (megaGrams_Per_Hectare) by multiplying column biomass per plot with 0.01 3. Spreadsheet: biomass_poplar Description: Maximum aboveground biomass measurements from poplar plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2009-2015. Data shown in Figure 2. Note that poplar biomass was estimated from crop growth curves until the poplar was harvested in the winter of 2013-14. Variate    Description year    year of the observation method    methods of poplar biomass sampling date    day of the observation (mm/dd/yyyy) replicate    each crop has four replicated plots, R1, R2, R3 and R4 diameter_at_ground    poplar diameter (milliMeter) at the ground diameter_at_15cm    poplar diameter (milliMeter) at 15 cm height biomass_tree    biomass per plot (Grams_Per_Tree) biomass_ha    biomass (megaGrams_Per_Hectare) by multiplying biomass per tree with 0.01 4. Spreadsheet: annual N leaching_vol-wtd conc Description: Annual leaching rate (kiloGrams_N_Per_Hectare) and volume-weighted mean N concentrations (milliGrams_N_Per_Liter) of nitrate (no3) and dissolved organic nitrogen (don) in the leachate samples collected from corn, switchgrass, miscanthus, native grass, restored prairie and poplar plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2009-2016. Data for nitrogen leached and volume-wtd mean N concentration shown in Figure 3a and Figure 3b, respectively. Note that ammonium (nh4) concentration were much lower and often undetectable (<0.07 milliGrams_N_Per_Liter). Also note that in 2009 and 2010 crop-years, data from some replicates are missing.    Variate    Description crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” crop-year    year of the observation replicate    each crop has four replicated plots, R1, R2, R3 and R4 no3 leached    annual leaching rates of nitrate (kiloGrams_N_Per_Hectare) don leached    annual leaching rates of don (kiloGrams_N_Per_Hectare) vol-wtd no3 conc.    Volume-weighted mean no3 concentration (milliGrams_N_Per_Liter) vol-wtd don conc.    Volume-weighted mean don concentration (milliGrams_N_Per_Liter) 5. Spreadsheet: summary_N leached Description: Summary of total amount and forms of N leached (kiloGrams_N_Per_Hectare) and the percent of applied N lost to leaching over the seven years for corn, switchgrass, miscanthus, native grass, restored prairie and poplar plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2009-2016. Data for nitrogen amount leached shown in Figure 4a and percent of applied N lost shown in Figure 4b. Note the fraction of unleached N includes in harvest, accumulation in root biomass, soil organic matter or gaseous N emissions were not measured in the study. Variate    Description crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” no3 leached    annual leaching rates of nitrate (kiloGrams_N_Per_Hectare) don leached    annual leaching rates of don (kiloGrams_N_Per_Hectare) N unleached    N unleached (kiloGrams_N_Per_Hectare) in other sources are not studied % of N applied N lost to leaching    % of N applied N lost to leaching 6. Spreadsheet: annual DOC leachin_vol-wtd conc Description: Annual leaching rate (kiloGrams_Per_Hectare) and volume-weighted mean N concentrations (milliGrams_Per_Liter) of dissolved organic carbon (DOC) in the leachate samples collected from corn, switchgrass, miscanthus, native grass, restored prairie and poplar plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2009-2016. Data for DOC leached and volume-wtd mean DOC concentration shown in Figure 5a and Figure 5b, respectively. Note that in 2009 and 2010 crop-years, water samples were not available for DOC measurements.     Variate    Description crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” crop-year    year of the observation replicate    each crop has four replicated plots, R1, R2, R3 and R4 doc leached    annual leaching rates of nitrate (kiloGrams_Per_Hectare) vol-wtd doc conc.    volume-weighted mean doc concentration (milliGrams_Per_Liter) 7. Spreadsheet: growing season length Description: Growing season length (days) of corn, switchgrass, miscanthus, native grass, restored prairie and poplar plots in the Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2009-2015. Date shown in Figure S2. Note that growing season is from the date of planting or emergence to the date of harvest (or leaf senescence in case of poplar).   Variate    Description crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” year    year of the observation growing season length    growing season length (days) 8. Spreadsheet: correlation_nh4 VS no3 Description: Correlation of ammonium (nh4+) and nitrate (no3-) concentrations (milliGrams_N_Per_Liter) in the leachate samples from corn, switchgrass, miscanthus, native grass, restored prairie and poplar plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2013-2015. Data shown in Figure S3. Note that nh4+ concentration in the leachates was very low compared to no3- and don concentration and often undetectable in three crop-years (2013-2015) when measurements are available. Variate    Description crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” date    date of the observation (mm/dd/yyyy) replicate    each crop has four replicated plots, R1, R2, R3 and R4 nh4 conc    nh4 concentration (milliGrams_N_Per_Liter) no3 conc    no3 concentration (milliGrams_N_Per_Liter)   9. Spreadsheet: correlations_don VS no3_doc VS don Description: Correlations of don and nitrate concentrations (milliGrams_N_Per_Liter); and doc (milliGrams_Per_Liter) and don concentrations (milliGrams_N_Per_Liter) in the leachate samples of corn, switchgrass, miscanthus, native grass, restored prairie and poplar plots in Great Lakes Bioenergy Research Center (GLBRC) Biomass Cropping System Experiment (BCSE) during 2013-2015. Data of correlation of don and nitrate concentrations shown in Figure S4 a and doc and don concentrations shown in Figure S4 b. Variate    Description crop    “corn” “switchgrass” “miscanthus” “nativegrass” “restored prairie” “poplar” year    year of the observation don    don concentration (milliGrams_N_Per_Liter) no3     no3 concentration (milliGrams_N_Per_Liter) doc    doc concentration (milliGrams_Per_Liter) 
    more » « less
  4. null (Ed.)
    For several years, the software engineering research community used eye trackers to study program comprehension, bug localization, pair programming, and other software engineering tasks. Eye trackers provide researchers with insights on software engineers’ cognitive processes, data that can augment those acquired through other means, such as on-line surveys and questionnaires. While there are many ways to take advantage of eye trackers, advancing their use requires defining standards for experimental design, execution, and reporting. We begin by presenting the foundations of eye tracking to provide context and perspective. Based on previous surveys of eye tracking for programming and software engineering tasks and our collective, extensive experience with eye trackers, we discuss when and why researchers should use eye trackers as well as how they should use them. We compile a list of typical use cases—real and anticipated—of eye trackers, as well as metrics, visualizations, and statistical analyses to analyze and report eye-tracking data. We also discuss the pragmatics of eye tracking studies. Finally, we offer lessons learned about using eye trackers to study software engineering tasks. This paper is intended to be a one-stop resource for researchers interested in designing, executing, and reporting eye tracking studies of software engineering tasks. 
    more » « less
  5. Cryptographic tools like proof systems, multi-party computation, and fully homomorphic encryption are usually applied to computations expressed as systems of arithmetic constraints. In practice, this means that these applications rely on compilers from high-level programming languages (like C) to such constraints. This compilation task is challenging, but not entirely new: the software verification community has a rich literature on compiling programs to logical constraints (like SAT or SMT). In this work, we show that building shared compiler infrastructure for compiling to constraint representations is possible, because these representations share a common abstraction: stateless, non-uniform, non-deterministic computations that we call existentially quantified circuits, or EQCs. Moreover, we show that this shared infrastructure is useful, because it allows compilers for proof systems to benefit from decades of work on constraint compilation techniques for software verification. To make our approach concrete we create CirC, an infrastructure for building compilers to EQCs. CirC makes it easy to compile to new EQCs: we build support for three, R1CS (used for proof systems), SMT (used for verification and bug-finding), and ILP (used for optimization), in ≈2000 LOC. It’s also easy to extend CirC to support new source languages: we build a feature-complete compiler for a cryptographic language in one week and ≈900 LOC, whereas the reference compiler for the same language took years to write, comprises ≈24000 LOC, and produces worse-performing output than our compiler. Finally, CirC enables novel applications that combine multiple EQCs. For example, we build the first pipeline that (1) automatically identifies bugs in programs, then (2) automatically constructs cryptographic proofs of the bugs’ existence. 
    more » « less