There have been many calls recently for computing for all across the nation. While there are many opportunities to study and use computing to advance the fields of computer science, software development, and information technology, computing is also needed in a wide range of other disciplines, including engineering. Most engineering programs require students take a course that teaches them introductory programming, which covers many of the same topics as an introductory course for computing majors (and at times may be the same course). However, statistics about the success of a course that is an introductory programming course are sobering; approximately half the students will fail, forcing them to either repeat the course or leave their chosen field of study if passing the course is required. This NSF IUSE project incorporates instructional techniques identified through educational psychology research as effective ways to improve student learning and retention in introductory programming. The research team has developed worked examples of problems that incorporate subgoal labels, which are explanations that describe the function of steps in the problem solution to the learner and highlight the problem-solving process. Using subgoal labels within worked examples, which has been effective in other STEM fields, students are able to see an expert's problem solving process, which helps students learn to solving problems before they can solve problem themselves. Experts, including instructors, teaching introductory level courses are often unable to explain the process they use in problem solving at a level that learners can grasp because they have automated much of the problem-solving processes after many years of practice. This submission will present the results of the first part of development of subgoals and will explain how to integrate them into classroom lessons in introductory computing classes.
more »
« less
A Randomized Controlled Trial on the Wild Wild West of Scientific Computing with Student Learners
Scientific computing has become an area of growing importance. Across fields such as biology, education, physics, or others, people are increasingly using scientific computing to model and understand the world around them. Despite the clear need, almost no systematic analysis has been conducted on how students in fields outside of computer science learn to program in the context of scientific computing. Given that many fields do not explicitly teach much programming to their students, they may have to learn this important skill on their own. To help, using rigorous quantitative and qualitative methods, we looked at the process 154 students followed in the context of a randomized controlled trial on alternative styles of programming that can be used in R. Our results suggest that the barriers students face in scientific computing are non-trivial and this work has two core implications: 1) students learning scientific computing on their own struggle significantly in many different ways, even if they have had prior programming training, and 2) the design of the current generation of scientific computing feels like the wild-wild west and the designs can be improved in ways we will enumerate.
more »
« less
- Award ID(s):
- 1738259
- PAR ID:
- 10110805
- Date Published:
- Journal Name:
- Proceedings Article published 2019 in Proceedings of the 2019 ACM Conference on International Computing Education Research - ICER '19
- Page Range / eLocation ID:
- 239 to 247
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Today’s STEM classrooms have expanded the domain of computer science education from a basic two-toned terminal screen to now include helpful Integrated Development Environments(IDE) (BlueJ, Eclipse), block-based programming (MIT Scratch, Greenfoot), and even physical computing with embedded systems (Arduino, LEGO Mindstorm). But no matter which environment a student starts programming in, all students will eventually need help in finding and fixing bugs in their code. While the helpful IDE’s have debugger tools built in (breakpoints for pausing your program, ways to view/modify variable values, and "stepping" through code execution), in many of the other programming environments, students are limited to using print statements to try and "see" what is happening inside their program. Most students who learn to write code for Arduino microcontrollers will start within the Arduino IDE, but the official Arduino IDE does not currently provide any debugging tools. Instead, a student would have to move on to a professional IDE such as Atmel Studio or acquire a hardware debugger in order to add breakpoints or view their program’s variables. But each of these options has a steep learning curve, additional costs, and can require complex configurations. Based on research of student debugging practices[3, 7] and our own classroom observations, we have developed an Arduino software library, called Arduino Debugger, which provides some of these debugging tools (ex. breakpoints) while staying within the official Arduino IDE. This work continues a previous library, (redacted), which focused on features specific to e-textiles development boards. The Arduino Debugger library has been modified to support not only e-textile boards (Lilypad, Adafruit Circuit Playground) but most AVR and ARM based Arduino boards.We are also in the process of testing a set of Debugging Code Templates to see how they might increase student adoption of debugging tools.more » « less
-
In the University of California system, community college transfer students comprise of 48% of graduates with STEM bachelor’s degrees. This demonstrates that two-year colleges help pave the career pathways of community college students, many of which are students from underrepresented backgrounds in STEM fields. To cultivate the potential of women of color in pursuing STEM fields in the community college, focusing on their standpoint will empower them in centering their own perspectives in their own retention and success. Learning more about their standpoint also highlights their knowledge production as future producers of knowledge in the STEM fields. To obtain the influences to their scientific thinking development, 35 women of color STEM majors answered a social network questionnaire by nominating these influences. Social network analysis was used to analyze their influential social networks. Results demonstrate that family members have the highest frequency of influence to scientific thinking, regardless of educational attainment at the high school or lower levels. These relatives also heavily consist of matriarchal figures, such as mothers and grandmothers, especially as influences to scientific observation and scientific justification. These findings signify the importance of family in cultivating intellect, whether or not the relatives obtained college degrees or higher. Significance also supports emphasis on the students’ standpoint in self-determining their own success, and creates a campus culture that celebrates family-inclusiveness. Creating campus programming that caters to students’ strong relationships with their families may promote even more persistence in their STEM career trajectories.more » « less
-
This paper shares the design principles of one Advanced Placement Computer Science Principles (AP CSP) course, Beauty and Joy of Computing (BJC), both for schools considering curriculum, and for developers in this still-new field. BJC students not only learn about CS, but do some and analyze its social implications; we feel that the job of enticing students into the field isn’t complete until students find programming, itself, something they enjoy and know they can do, and its key ideas accessible. Students must feel invited to use their own creativity and logic, and enjoy the power of their logic and the beauty and elegance of the code by which they express it. All kids need genuine challenge and sensible supports so all can have the joy of making—seeing themselves as creators, not just consumers, and seeing that it is their own intellect, not just our instructions, that is the source of that making. Framework standards are woven into a consistent social and intellectual storyline to give the curriculum integrity. Principles guide even our choice of programming language. Learners should focus on the logic and structure of their thinking, not on misplaced semicolons; attention to such syntactic detail is antithetical to broadening participation. We feature recursion and higher order functions because they beautifully exemplify abstraction, a key idea in CS and the CSP framework. BJC also places significant emphasis on the social implications of computing, balancing fundamental optimism about computing technology with a critical view of specific uses of technology.more » « less
-
This innovative practice full paper examines mindset understandings of three cohorts of first-year student scholars in a College of Computing at a private technical Carnegie-classified Doctoral University in the northeastern United States. Grounded in theories of intelligence, a growth mindset posits that intelligence and skills can be developed through continued practice and learning, while a fixed mindset situates one with the skills they have at birth, never to evolve or grow. Thirty-two undergraduate students across three years (10 students in year one, cohort one; 10 students in year two, cohort two; and 12 students in year three, cohort three) participated in a holistic growth mindset program that included three pillars: (a) faculty-student mentoring infused with growth mindset, (b) growth-mindset augmentations to the introductory programming course and (c) a growth mindset-scholar seminar - a series of meetings where each cohort met as a group to discuss and practice activating a growth mindset. Previous work with students has focused on more limited growth mindset interventions rather than a holistic approach. Prior to the scholars arriving on campus, the faculty involved in each of the pillars were part of a Community of Practice to learn about and activate their own growth mindset. At the end of their first semester in the project, each of the student cohorts participated in a focus group to learn about their understanding and application of growth and fixed mindset. We report findings from the student scholar data after one semester of participating in the three programmatic pillars in the context of growth mindset: mentoring, programming instruction, and the scholar seminar. Summary findings from the student perspectives are described including the use of illustrative quotes, in the students' own words, serving as a powerful reminder of the importance of growth mindset and relationship building. This has implications for addressing mindset in the future by considering how the innovative practice of embedding a growth mindset holistically into mentoring, instruction and a student seminar can provide support for students that standalone interventions cannot.more » « less
An official website of the United States government

