Title: The Effect of Informing Agency in Self-Directed Online Learning Environments
Background and Context: Current introductory instruction fails to identify, structure, and sequence the many skills involved in programming. Objective: We proposed a theory which identifies four distinct skills that novices learn incrementally. These skills are tracing, writing syntax, comprehending templates (reusable abstractions of programming knowledge), and writing code with templates. We theorized that explicit instruction of these skills decreases cognitive demand. Method: We conducted an exploratory mixed-methods study and compared students’ exercise completion rates, error rates, ability to explain code, and engagement when learning to program. We compared material that reflects this theory to more traditional material that does not distinguish between skills. Findings: Teaching skills incrementally resulted in improved completion rate on practice exercises, and decreased error rate and improved understanding of the post-test. Implications: By structuring programming skills such that they can be taught explicitly and incrementally, we can inform instructional design and improve future research on understanding how novice programmers develop understanding.  more » « less
Award ID(s):
1735123
PAR ID:
10190888
Author(s) / Creator(s):
; ; ; ;
Date Published:
Journal Name:
ACM Learning at Scale
Page Range / eLocation ID:
77 to 89
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Importance Contact tracing is the process of identifying people who have recently been in contact with someone diagnosed with an infectious disease. During an outbreak, data collected from contact tracing can inform interventions to reduce the spread of infectious diseases. Understanding factors associated with completion rates of contact tracing surveys can help design improved interview protocols for ongoing and future programs. Objective To identify factors associated with completion rates of COVID-19 contact tracing surveys in New York City (NYC) and evaluate the utility of a predictive model to improve completion rates, we analyze laboratory-confirmed and probable COVID-19 cases and their self-reported contacts in NYC from October 1st 2020 to May 10th 2021. Methods We analyzed 742,807 case investigation calls made during the study period. Using a log-binomial regression model, we examined the impact of age, time of day of phone call, and zip code-level demographic and socioeconomic factors on interview completion rates. We further developed a random forest model to predict the best phone call time and performed a counterfactual analysis to evaluate the change of completion rates if the predicative model were used. Results The percentage of contact tracing surveys that were completed was 79.4%, with substantial variations across ZIP code areas. Using a log-binomial regression model, we found that the age of index case (an individual who has tested positive through PCR or antigen testing and is thus subjected to a case investigation) had a significant effect on the completion of case investigation – compared with young adults (the reference group,24 years old < age <  = 65 years old), the completion rate for seniors (age > 65 years old) were lower by 12.1% (95%CI: 11.1% – 13.3%), and the completion rate for youth group (age <  = 24 years old) were lower by 1.6% (95%CI: 0.6% –2.6%). In addition, phone calls made from 6 to 9 pm had a 4.1% (95% CI: 1.8% – 6.3%) higher completion rate compared with the reference group of phone calls attempted from 12 and 3 pm. We further used a random forest algorithm to assess its potential utility for selecting the time of day of phone call. In counterfactual simulations, the overall completion rate in NYC was marginally improved by 1.2%; however, certain ZIP code areas had improvements up to 7.8%. Conclusion These findings suggest that age and time of day of phone call were associated with completion rates of case investigations. It is possible to develop predictive models to estimate better phone call time for improving completion rates in certain communities. 
    more » « less
  2. Abstract Studies have found that most novice programmers have low proficiency in writing code. However, it is unclear what subskills compose code writing and which subskills novice programmers struggle with. This study utilizes programming traces to identify latent subskills that constitute code writing so that teachers can offer specific instruction on the weak subskills. Data were collected from an undergraduate course teaching introductory computer science in Java. Six hundred and fourteen students made submissions to homework programming questions in a web‐based learning system. Based on the submission traces, we computed 11 features related to correctness and time students spent on their submissions. We conducted an exploratory factor analysis on two‐thirds of students selected randomly and identified four factors. The first factor, code style proficiency, was mainly related to code style errors. The second, syntactic proficiency, concerned compiler errors. The third is semantic proficiency, which concerns runtime and logic errors. The fourth, syntactic debugging proficiency, concerned the success rate and time required for fixing compiler and code style errors. A confirmatory factor analysis conducted on the remaining one‐third of the data supported the four‐factor structure. The factor model showed measurement invariance between the data set where the model was developed and two new datasets, one from the same sample but collected at a different time point and another from a different sample and context (onsite course vs. online course). The factors were related to prior programming abilities, programming language familiarity, and future exam performance. These associations provided validity evidence for the factor model. 
    more » « less
  3. What knowledge does learning programming require? Prior work has focused on theorizing program writing and problem solving skills. We examine program comprehension and propose a formal theory of program tracing knowledge based on control flow paths through an interpreter program's source code. Because novices cannot understand the interpreter's programming language notation, we transform it into causal relationships from code tokens to instructions to machine state changes. To teach this knowledge, we propose a comprehension-first pedagogy based on causal inference, by showing, explaining, and assessing each path by stepping through concrete examples within many example programs. To assess this pedagogy, we built PLTutor, a tutorial system with a fixed curriculum of example programs. We evaluate learning gains among self-selected CS1 students using a block randomized lab study comparing PLTutor with Codecademy, a writing tutorial. In our small study, we find some evidence of improved learning gains on the SCS1, with average learning gains of PLTutor 60% higher than Codecademy (gain of 3.89 vs. 2.42 out of 27 questions). These gains strongly predicted midterms (R2=.64) only for PLTutor participants, whose grades showed less variation and no failures. 
    more » « less
  4. Adebisi, John (Ed.)
    Non-expert users can now program robots using various end-user robot programming methods, which have widened the use of robots and lowered barriers preventing robot use by laypeople. Kinesthetic teaching is a common form of end-user robot programming, allowing users to forgo writing code by physically guiding the robot to demonstrate behaviors. Although it can be more accessible than writing code, kinesthetic teaching is difficult in practice because of users’ unfamiliarity with kinematics or limitations of robots and programming interfaces. Developing good kinesthetic demonstrations requires physical and cognitive skills, such as the ability to plan effective grasps for different task objects and constraints, to overcome programming difficulties. How to help users learn these skills remains a largely unexplored question, with users conventionally learning through self-guided practice. Our study compares how self-guided practice compares with curriculum-based training in building users’ programming proficiency. While we found no significant differences between study participants who learned through practice compared to participants who learned through our curriculum, our study reveals insights into factors contributing to end-user robot programmers’ confidence and success during programming and how learning interventions may contribute to such factors. Our work paves the way for further research on how to best structure training interventions for end-user robot programmers. 
    more » « less
  5. Abstract The Next Generation Science Standards (NGSS) require science teachers to integrate engineering design into science lessons. However, many science teachers need support to create such lessons because they lack preparation in engineering. Similarly, most pre‐service teachers enter teacher preparation programs without preparation in engineering. Furthermore, the NGSS do not provide templates for creating engineering design integrated science (EDIS) lessons and activities. To address this problem in our science teacher education program, we have created templates for creating EDIS units and lessons. In this paper, we describe the EDIS templates, outcomes, and suggestions for using the templates in science teacher education. The templates were first introduced into our science methods course in 2015. Our research shows that pre‐service teachers developed skills for creating EDIS units using these templates. Some EDIS units created by our pre‐service teachers using these templates have been published for other teachers to use. Students who received EDIS instruction from our pre‐service teachers in schools improved their understanding of science concepts and engineering design process. Therefore, these templates can be used in other teacher education programs to prepare teachers in creating EDIS units, lessons and activities. 
    more » « less