Computing students are not receiving enough education and practice in secure programming. A key part of being able to successfully implement secure programming practices is the development of secure programming self-efficacy. This paper examines the development of a scale to measure secure programming self-efficacy among students participating in a secure programming clinic (SPC). The results show that the secure programming self-efficacy scale is a reliable and useful measure that correlates satisfactorily with related measures of programming expertise. This measure can be used in secure programming courses and other learning environments to assess students’ secure programming efficacy.
more »
« less
Using Programming to Express Mathematical Ideas
Integrating programming activities into core mathematics instruction can increase children’s access to critical content. Programming gives children a language with which to express, refine, and extend their thinking.
more »
« less
- Award ID(s):
- 1934161
- PAR ID:
- 10462224
- Date Published:
- Journal Name:
- Mathematics Teacher: Learning and Teaching PK-12
- Volume:
- 116
- Issue:
- 5
- ISSN:
- 0025-5769
- Page Range / eLocation ID:
- 322 to 329
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Novice programming learners encounter programming errors on a regular basis. Resolving programming errors, which is also known as debugging, is not easy yet important to programming learning. Students with poor debugging ability hardly perform well on programming courses. A debugging learning trajectory which identifies learning goals, learning pathways, and instructional activities will benefit debugging learning activities development. This study aims to develop a debugging learning trajectory for text-based programming learners. This is accomplished through (1) analyzing programming errors in a logic programming learning environment and (2) examining existing literature on debugging analysis.more » « less
-
Learning programming in early introductory classes is challenging for first year university students, and introducing parallel programming (PDC) in early classes along with traditional sequential programming is even more challenging. Unplugged activities may help alleviate some of the difficulties for students. Unplugged activities have been shown to increase student interest, and to enhance student understanding of CS programming concepts. We have used unplugged activities to teach PDC concepts before introducing parallel programming. Our experiences show that using unplugged activities to introduce the PDC concepts reduce the barrier to learn parallel programming.more » « less
-
Novice programmers often struggle with code understanding and debugging. Live Programming environments visualize the runtime values of a program each time it is modified to provide immediate feedback, which help with tracing the program execution. This paper presents the use of a Live Programming tool in a CS1 course to better understand the impact of Live Programming on novices’ learning metrics and their perceptions of the tool. We conducted a within-subjects study at a large public university in a CS1 course in Python (N=237) where students completed tasks in a lab setting, in some cases with a Live Programming environment, and in some cases without. Through post-lab surveys and open-ended feedback, we measured how well students understood the material and how students perceived the programming environment. To understand the impact of Live Programming, we compared the collected data for students who used Live Programming with the data for students who did not. We found that while learning outcomes were the same regardless of whether Live Programming was used or not, students who used the Live Programming tool completed some code tracing tasks faster. Furthermore, students liked the Live Programming environment more, and rated it as more helpful for their learning.more » « less
-
JuMP is an algebraic modeling language embedded in the Julia programming language. JuMP allows users to model optimization problems of a variety of kinds, including linear programming, integer programming, conic optimization, semidefinite programming, and nonlinear programming, and handles the low-level details of communicating with solvers. After nearly 10 years in development, JuMP 1.0 was released in March, 2022. In this short communication, we highlight the improvements to JuMP from recent releases up to and including 1.0.more » « less
An official website of the United States government

