Theses that I have supervised, written by my awesome advisees. Click on items to see their abstracts. If you're a Cal Poly student interested in working together, get in touch!
Examining Introductory Computer Science Student Cognition When Testing Software Under Different Test Adequacy Criteria
Abstract: The ability to test software is invaluable in all areas of computer science, but it is often neglected in computer science curricula. Test adequacy criteria (TAC), tools that measure the effectiveness of a test suite, have been used as aids to improve software testing teaching practices, but little is known about how students respond to them. Studies have examined the cognitive processes of students programming and professional developers writing tests, but none have investigated how student testers test with TAC. If we are to improve how they are used in the classroom, we must start by understanding the different ways that they affect students' thought processes as they write tests. In this thesis, we take a grounded theory approach to reveal the underlying cognitive processes that students utilize as they test under no feedback, condition coverage, and mutation analysis. We recorded 12 students as they thought aloud while creating test suites under these feedback mechanisms, and then we analyzed these recordings to identify the thought processes they used. We present our findings in the form of the phenomena we identified, which can be further investigated to shed more light on how different TAC affect students as they write tests.
Evaluating and Improving Domain-Specific Programming Education: A Case Study with Cal Poly Chemistry Courses
Abstract: Programming is a key skill in many domains outside computer science. When used judiciously, programming can empower people to accomplish what might be impossible or difficult with traditional methods. Unfortunately, students, especially non-CS majors, frequently have trouble while learning to program. This work reports on the challenges and opportunities faced by Physical Chemistry (PChem) students at Cal Poly, SLO as they learn to program in MATLAB. We assessed the PChem students through a multiple-choice concept inventory, as well as through “think-aloud” interviews. Additionally, we examined the students' perceptions of and attitudes towards programming. We found that PChem students are adept at applying programming to a subset of problems, but their knowledge is fragile; like many intro CS students, they struggle to transfer their knowledge to different contexts and often express misconceptions about programming. However, they differ in that the PChem students are first and foremost Chemistry students, and so struggle to recognize appropriate applications of programming without scaffolding. Further, many students do not perceive themselves as competent general- purpose programmers. These factors combine to discourage students from applying programming to novel problems, even though it may be greatly beneficial to them. We leveraged this data to create a workshop with the goal of helping PChem students recognize their programming knowledge as a tool that they can apply to various contexts. This thesis presents a framework for addressing challenges and providing opportunities in domain-specific CS education.
Abstract: Knowing when and how to seek academic help is crucial to the success of undergraduate computing students. While individual help-seeking resources have been studied, little is understood about the factors influencing students to use or avoid certain resources. Understanding students' patterns of help-seeking can help identify factors contributing to utilization or avoidance of help resources by different groups, an important step toward improving the quality and accessibility of resources. We present a mixed-methods study investigating the help-seeking behavior of undergraduate computing students. We collected survey data (n=138) about students' frequency of using several resources followed by one-on-one student interviews (n=15) to better understand why they use those resources. Several notable patterns were found. Women sought help in office hours more frequently than men did and computing majors sought help from their peers more often than non-computing majors. Additionally, interview data revealed a common progression in which students started from easily accessible but low utility resources (online sources and peers) before moving on to less easily accessible, high utility resources (like instructor office hours). Finally, while no differences between racial groups was observed, the lack of diversity in our sample limits these findings.
A Study of Non-computing Majors' Growth Mindset, Self-efficacy and Perceived CS Relevance in CS1
Abstract: As the demand for programming skills in today's job market is rapidly increasing for disciplines outside of computing, CS courses have experienced spikes in enrollment for non-majors. Students in disciplines including art, design and biological sciences are now often required to take introductory CS courses. Previous research has shown the role of growth mindset, self-efficacy and relevance in student success within CS but such metrics are largely unknown for non-majors. In this thesis, we surveyed non-majors in CS1 at Cal Poly, San Luis Obispo during the early and late weeks of the quarter to gain insights on their growth mindset, their self-efficacy and the perceived relevance of the course to their lives. In our analysis, we discovered that non-majors' levels of growth mindset and of self-efficacy decreased throughout the duration of CS1 with additional differences by gender. However, non-majors largely found that the material covered in CS1 was highly relevant to their academic and professional careers despite being challenged by it. These findings provide important insights into the experiences of non-majors learning to code and can help better serve a more diverse population of students.