The pair programming approach is used to overcome the difficulties of the programming process in education environments. In this study, the interaction sequences during the paired programming of preservice teachers wa...
详细信息
The pair programming approach is used to overcome the difficulties of the programming process in education environments. In this study, the interaction sequences during the paired programming of preservice teachers was investigated. Lag sequential analysis were used to explore students' behavioral patterns in pair programming. The participants of the study consist of 14 students, seven pairs enrolled in a programming Languages course. The findings indicate that there are significant behavioral learning sequences. During the program development process, students hesitated to create an algorithm and to improve an existing one while proposing the next step. In addition, they constantly waited for approval. Collaborative behaviors such as giving and receiving feedback and helping other partners were less observed in females. In addition, significant sequential driver and navigator behaviors were presented. The findings of the study have important implications for instructors and designers when using a pair programming approach in teaching programming. In the future, programming instruction environments can be designed by considering the learner behaviors that are presented in this study.
Contribution: programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation c...
详细信息
Contribution: programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation competency, this study proposed a live-coding-based instruction. Experts' live coding with think-aloud was recorded. Students then learn algorithmic planning and coding skills by observing experts' thinking and coding processes from the videos. To deploy this pedagogical strategy, a learning platform was developed to present the videos to students who could also annotate their reflection about the videos in the system to deepen their understanding of syntax and concepts of computer programming. Background: Traditional lecture-based programming instruction focuses more on the explanation of syntax and concepts but lacks revealing the dynamic and nonlinear thinking and coding process. Research Questions: This study is to explore the effects of live-coding-based instruction on students' programming knowledge, including declarative program knowledge (program comprehension) and procedural program knowledge (coding skills), and whether the instruction changes their attitude toward programming learning or not. Methodology: An empirical study was conducted with 33 high-school students who were novice programmers in one semester to explore the effectiveness of the live-coding-based instruction and the use of the learning platform. Findings: The experiment results show that watching flowcharting (r=0.369, p <0.05) or coding processes (r=0.409, p <0.05) of experts improves coding skills. This implies that explicit depiction of algorithmic planning and coding processes are essential for building procedural programming knowledge. In addition, reflection on syntactic content of experts' programming plays an important role in programming (r=0.511,p <0.01). The research findings suggest that programming instruction could focus more on developing students' problem-solvin
programming ability is the core ability of this era and can be obtained and improved through practice. In this paper, an Automated programming Assessment system based on Mastery learning and Peer competition (APAMP) w...
详细信息
This study designs and implements interdisciplinary STEM instruction by adopting modelling-based physics programming, and explores its effectiveness on learning. A quasi-experimental study was conducted. The experimen...
详细信息
This study designs and implements interdisciplinary STEM instruction by adopting modelling-based physics programming, and explores its effectiveness on learning. A quasi-experimental study was conducted. The experimental group wrote programs to solve physics problems by following the modelling process, while the control group solved general problems without specific guidance. The findings show that the STEM group performed better on both programming and physics achievements, and had higher self-efficacy on modelling. The STEM group benefited from the modelling-based instruction and could formulate the problems to a more effective representation for problem solving (abstraction), and also could transfer the solution to more accurate code (coding), both of which contributed to programming ability. Through the modelling process for physics simulation, physics programming also improved students' understanding of difficult physics concepts.
This work describes the incorporation of practice logs, a teaching tool more traditionally used in music education, into computer science classrooms. The means by which this practice supports efforts surrounding equit...
详细信息
ISBN:
(纸本)9781450390705
This work describes the incorporation of practice logs, a teaching tool more traditionally used in music education, into computer science classrooms. The means by which this practice supports efforts surrounding equity and inclusion are discussed. Future work seeks to measure benefits of the approach, particularly among underrepresented groups.
This study reports the design and implementation of modelling-based programming instruction for science majors and its effectiveness on programming and science learning. A modelling approach was proposed to provide gu...
详细信息
This study reports the design and implementation of modelling-based programming instruction for science majors and its effectiveness on programming and science learning. A modelling approach was proposed to provide guidance to students in implementing solutions for scientific problems in computer programming. This modelling approach includes five stages: (a) phenomenon description, (b) data modelling, (c) algorithmic modelling, (d) coding and (e) verification and debugging. Authentic scenarios for science learning were adopted in teaching materials and problems to inspire students to learning both the scientific and programming aspects underneath the phenomena. An empirical experiment to examine the effectiveness of the proposed instruction was conducted in a general education course at a university, and the results showed that students who engaged more in the modelling approach performed better in both the program implementation test and their final projecbenefits of the modelling-based instructionts. In addition, students' feedback agreed with what we had expected, the modelling approach would benefit students: they could connect abstract, real-world phenomena to programming variables and logic by visualizing the phenomena in simulation and animation. Data modelling and algorithmic modelling also helped them analyse the variables in problem space and propose a solution before coding. As the proposed instruction provided opportunities to experience the capability of programming in solving scientific problems, high-programming-performance students also showed a greater interest in exploring science after the class.
When students are first learning to program, they not only have to learn to write programs, but also how to trace them. Code tracing involves stepping through a program step-by-step, which helps to predict the output ...
详细信息
When students are first learning to program, they not only have to learn to write programs, but also how to trace them. Code tracing involves stepping through a program step-by-step, which helps to predict the output of the program and identify bugs. Students routinely struggle with this activity, as evidenced by prior work and our own experiences in the classroom. To address this, we designed a Code Tracing (CT)-Tutor. We varied the level of assistance provided in the tutor, based on (1) the interface scaffolding available during code tracing, and (2) instructional order, operationalized by when examples were provided, either before or after the corresponding problem was solved. We collected data by having participants use the tutor to solve code tracing problems (N = 97) and analyzed both learning outcomes and process data obtained by extracting features of interest from the log files. We used a multi-layered approach for the analysis, including standard inferential statistics and unsupervised learning to cluster students by their behaviors in the tutor. The results show that the optimal level of assistance for code tracing falls in the middle of the assistance spectrum included in the tutor, but also that there are individual differences in terms of optimal assistance for subgroups of individuals. Based on these results, we outline opportunities for future work around personalizing instruction for code tracing.
programming is increasingly being taught in statistics modules across various departments, where the focus is on wrangling data in languages like Python and R. Graphical aids as applied to this domain is an empiricall...
详细信息
ISBN:
(纸本)9781450370929
programming is increasingly being taught in statistics modules across various departments, where the focus is on wrangling data in languages like Python and R. Graphical aids as applied to this domain is an empirically untried approach. My research investigates their utility in relation to several subject characteristics and outcome variables.
Studies have found that many CS students perform poorly on basic programming tasks, and interviewers in industry complain that CS graduates cannot write code. Learning gains have been shown from active learning techni...
详细信息
ISBN:
(纸本)9781450367936
Studies have found that many CS students perform poorly on basic programming tasks, and interviewers in industry complain that CS graduates cannot write code. Learning gains have been shown from active learning techniques such as Peer instruction, but only for multiple-choice questions, not for writing code. Studies of multiple choice questions such as code tracing have shown weak correlations to code writing, and extremely small improvements in syntax in only one third of students. These results are consistent with a century of research showing limited transfer of knowledge, and skill acquisition literature showing that skill is developed only with many hours of practice. We developed an active learning activity called LiveQuiz for large university courses, enabling every student to write specific small functions during lecture, using an online community tool on their own devices. Anonymous responses can be seen on the lecture hall screen in a single conversation thread, which the instructor scrolls. Both students and the instructor analyze and discuss the correctness of different solutions. LiveQuiz was effective in helping students to write correct code: e.g, the percentage of correct sequential search functions rose from 36% to 96%. LiveQuiz is a promising active learning technique using existing tools, giving students practice and prompt feedback in a high-level skill. It is fast and easy to implement, and it provides the instructor first drafts of students' problem solving, which can yield insights for future teaching.
programming is playing an increasingly important role in various fields, including science. However, traditional programming instruction tends to use small-scale and general examples to explain syntax and semantic mea...
详细信息
ISBN:
(纸本)9781450367936
programming is playing an increasingly important role in various fields, including science. However, traditional programming instruction tends to use small-scale and general examples to explain syntax and semantic meaning of the code, which cannot foster students' programming ability of solving real-world problems. This research was intended to develop a modelling-based instruction for scientific programming to guide students to solve programming problems based on the modelling process (phenomenon description, data modelling, algorithmic modelling, coding, and verification and debugging). A learning platform based on the proposed modelling process was also developed to assist science-major students to learn how to solve real-world scientific problems by programming. An empirical study was conducted on thirty-two science-major college students to prove the effectiveness of the modelling-based scientific programming. The experiment results show that students who engaged more in modelling had higher programming performance. The modelling-based instruction actually helps students to write programs for solving scientific problem by using both of data and algorithmic models.
暂无评论