NotesFAQContact Us
Collection
Advanced
Search Tips
Back to results
ERIC Number: ED648888
Record Type: Non-Journal
Publication Date: 2022
Pages: 167
Abstractor: As Provided
ISBN: 979-8-3526-5345-6
ISSN: N/A
EISSN: N/A
Available Date: N/A
Supporting Computer Science Education through Automation and Surveys
Kai Presler-Marshall
ProQuest LLC, Ph.D. Dissertation, North Carolina State University
Software engineering is a growing field, with ever-increasing demand for capable engineers who can design, implement, and test the software that is needed for the modern world. With this increasing demand for software engineers, there is a corresponding increase in the demand placed on computer science programs that graduate these engineers. However, the increase in undergraduate enrollment in computer science programs has generally outpaced the increase in instructors. Unfortunately, this can have negative educational impacts by reducing the support that instructors can offer each student. Automation has resulted in significant benefits, allowing developers to work more efficiently and deliver higher-quality software, but automation is not as prevalent within computer science education as it is within industry. To help promote better educational outcomes, particularly by improving the feedback that students receive on their work, I adopt software engineering automation techniques into computer science education and evaluate their efficacy. With ever more students enrolled in computer science programs comes a more widespread use of team-based learning (TBL) and larger teams. While TBL has numerous educational benefits, it is not an educational panacea. Larger teams increases the risk of team challenges, including ineffective communication and non-participation, which has the potential to hamper educational outcomes. To address this, I propose and evaluate using survey techniques to gain insights into how teams work and the challenges that students face in this environment, and enable just-in-time support for struggling teams. This approach can provide instructors with feedback on team challenges, and also encourages self-reflection on the part of students. Together, these approaches support my thesis: Using software engineering automation and survey techniques in computer science education results in improved student learning outcomes, early prediction of struggling teams, and more effective instructional materials. My first two research contributions focus on applying software engineering automation to support individual students. My "test flakiness study" investigates the impact that configuration options have upon the stability of Selenium tests. This supports improved educational outcomes by giving students more consistent feedback and greater confidence in the code and tests that they write. My "automated program repair study" investigates the mistakes that students make when learning SQL, and introduces an automated program repair tool for SQL queries. It demonstrates that automated repair can be applied to special-purpose languages such as SQL, and that students find automatically-repaired SQL queries to be understandable, suggesting that they may have promise as an instructional technique. My final three research contributions use survey techniques and software engineering automation to focus on supporting software engineering student teams. My "collaboration reflection study" investigates the use of a team collaboration reflection survey (TCRS) for identifying software engineering student teams that are struggling to collaborate effectively. It shows that most (89%) teams which later receive poor grades can be flagged through the TCRS, typically by the halfway mark of the project, and students appreciated that the TCRS encourages self-reflection. In my "team challenges study," to better understand team challenges that were uncovered through the TCRS, I interview students who had recently completed a team-based software engineering course about their teaming experiences. This provides novel insights into how teams work together, and the types of issues that students face and how they attempt to overcome them. It demonstrates that the issues student teams face are largely in-line with educational theory, and informs improvements to instructional materials to help students work together more effectively. Finally, in my "contributions analysis study" I develop an algorithm and a tool to summarise individual students' code contributions to team-based projects. I then conduct a study to evaluate whether this information can help TAs grade projects more consistently and provide students with better feedback. My algorithm performs abstract syntax tree-based program analysis to offer more meaningful summaries of individual contributions than state-of-the-practise approaches. This study demonstrates that automated contributions summaries help TAs grade more consistently and provide more actionable feedback to students. Additionally, by helping instructors evaluate students more consistently, this can help identify teams that are struggling to work together effectively. Taken together, these studies demonstrate that software engineering automation and surveys can result in benefits in computer science education. In particular, I demonstrate that this can provide students with feedback that is more consistent, and thus more actionable. Additionally, I demonstrate that surveys can provide insights into the challenges that teams face working together, thereby helping instructors provide guidance on how to work more effectively. [The dissertation citations contained here are published with the permission of ProQuest LLC. Further reproduction is prohibited without permission. Copies of dissertations may be obtained by Telephone (800) 1-800-521-0600. Web page: http://www.proquest.com.bibliotheek.ehb.be/en-US/products/dissertations/individuals.shtml.]
ProQuest LLC. 789 East Eisenhower Parkway, P.O. Box 1346, Ann Arbor, MI 48106. Tel: 800-521-0600; Web site: http://www.proquest.com.bibliotheek.ehb.be/en-US/products/dissertations/individuals.shtml
Publication Type: Dissertations/Theses - Doctoral Dissertations
Education Level: Higher Education; Postsecondary Education
Audience: N/A
Language: English
Sponsor: N/A
Authoring Institution: N/A
Grant or Contract Numbers: N/A
Author Affiliations: N/A