To sustain innovation and safeguard national security, the U.S. must strengthen domestic pathways to computing PhDs by engaging talented undergraduates early - before they are committed to industry - with research experiences, mentorship, and financial support for graduate studies.
To meet the demands of 21st-century societies and economies, faculty across disciplines must engage college and university students with course activities and assignments that foster the development of computational thinking (CT) skills. Toward this end, examining the ways in which CT can be infused into general education courses has been a topic of recent research. However, the question remains about how students in non-computer science courses can use CT skills in course assignments across disciplines. Guided by a rubric aimed to evaluate the development of CT skills including decomposition, algorithms, data, and abstraction, we examined 101 student-generated artifacts in undergraduate courses across four disciplines: mathematics, sociology, music, and English. In this work, we report on assignment prompts and overall CT skills exhibited by participating students. While some disciplines may not fully facilitate the development of all CT skills, a range of these skills was reflected in student artifacts. We present representative examples demonstrating CT skill development across various levels, including capstone level (score 4), milestone (score 3), benchmark (score 1), and no usage (score 0). The findings of this work provide insights into ways in which higher education faculty can design assignment prompts that support and scaffold students' development of CT skills, as well as how students across disciplines respond to CT prompts. Findings also have implications for the design of CT-related assessment instruments.
This paper explores leveraging conversational agents, specifically ChatGPT, to enhance the introduction of computing, focused on the Advanced Placement Computer Science Principles (CSP) course in secondary schools. Despite the potential benefits for diverse student audiences, little research has investigated their effectiveness and engagement in this context. We examine the customization of ChatGPT for secondary school CSP students, assessing its impact on exploratory searches for learning CSP concepts. Results from 20 high school students in grades 10-12 (ages 15-18) in a CSP course indicate that students preferred a customized ChatGPT, with its terminology more suitable to secondary school level, examples more understandable, and better connections to personal experiences compared to standard ChatGPT.
Conversations around teaching augmentation (TA) system designs that benefit teachers’ pedagogical capabilities while teaching using block-based programming environments (BBPEs) are up and coming. Despite the growing interest in this area, past findings and design recommendations still need to be validated in additional contexts beyond what is represented in the literature. In addition, there yet exist formal investigations that ground themselves in a theoretical model of student reflection and explore how a TA system design might support students’ reflective learning processes as they program using BBPEs. In this paper, we aim to address such gaps with a concept validation study, where we conducted design activities with a targeted audience of seven teachers who have used Scratch in their teaching for grades three to five. Grounded in dialogues with our teacher participants during the activities, we reveal themes of interest identified via thematic analysis that strengthen past findings on teachers’ preferences for a BBPE TA system and reveal additional factors for future researchers to consider as they explore design opportunities.
Background and Context: A key challenge in advancing computer science education in K-12 schools is teacher preparation and support. School-university partnerships and service-learning programs where undergraduates assist teachers represent one promising approach to supporting K-12 computer science teaching. Objectives: In this work, we examine the computer science content and pedagogical practices that undergraduates knowledgeable in computing reported implementing in order to support K-12 teachers in their classrooms as part of a university service-learning course. Method: Data were collected from 60 undergraduates enrolled in the course over nine semesters. Data included weekly reflective entries, course observations, observations in K-12 classrooms, and collection of artifacts. Data were analyzed using qualitative techniques and descriptive statistics to identify dimensions of high-quality computer science content and pedagogy reported by undergraduates. Findings: Findings indicated that undergraduates were able to connect knowledge of computing to pedagogy and technology to assist teachers in the implementation of computer science instruction. Specifically, undergraduates worked with partner teachers to employ high quality content and practices that made computer science accessible to students.
Broadening participation in computer science has been widely studied, creating many different techniques to attract, motivate, and engage students. A common meta-strategy is to use an outside domain as a hook, using the concepts in that domain to teach computer science. These domains are selected to interest the student, but students often lack a strong background in these domains. Therefore, a strategy designed to increase students' interest, motivation, and engagement could actually create more barriers for students, who now are faced with learning two new topics. To reduce this potential barrier in the domain of music, this paper presents the use of automated, immediate feedback during programming activities at a summer camp that uses music to teach foundational programming concepts. The feedback guides students musically, correcting notes that are out-of-key or rhythmic phrases that are too long or short, allowing students to focus their learning on the computer science concepts. This paper compares the correctness of students that received automated feedback with students that did not, which shows the effectiveness of the feedback. Follow up focus groups with students confirmed this quantitative data, with students claiming that the feedback was not only useful but that the activities would be much more challenging without the feedback.
With society's increasing dependence on computing innovations---especially technologies that impact decision-making in fields such as healthcare, financial services, child welfare, hiring, safety, and policing---it is increasingly important for the future creators of these innovations to learn how technologies can potentially negatively impact people of different identities and backgrounds. Unfortunately, few universities offer courses designed specifically for Computer Science and Engineering students to explore the issues of diversity, equity and inclusion of computing innovations. In this paper, we describe a one-semester, 3-credit course that we developed and piloted to address this gap at our institution. We describe the learning objectives, course schedule, in-class activities, and assignments, including pre-class preparation work, reflective journaling, and a capstone project. After significant discussion and activities on unpacking identity, the course covers nine different categories of computing innovations and the potential impacts on different identities. We summarize the resulting student artifacts and reflections, along with the instructors' reflections and steps toward further institutionalizing this kind of learning and reflection in a computer science program.
Multiple disciplines have taken interest in investigating and using teaching augmentation (TA) tools that are designed to support teachers’ pedagogical capabilities during classroom activities. TA systems can take various forms (e.g., dashboards, ambient displays). However, research on TA systems that complement K-8 teachers’ in-class when their students are learning to program in block-based programming environments (BBPEs) is nascent. For a TA system to positively impact teaching practices, the system’s design should be informed by a strong understanding of its stakeholders’ preferences. Through 10 semi-structured interviews with and 37 anonymous survey responses from K-8 teachers, we identify respondents’ preferences for potential BBPE TA systems. To put their preferences into context, we also describe how respondents typically teach programming using a BBPE and monitor students’ progress. Our mixed-methods approach reveals how TA systems could best target teachers’ attention level when teaching using BBPEs and assist in interpreting students’ behaviors while learning to code. Using these findings, we identify directions for future TA systems to best assist teachers in making data-driven instructional decisions and meeting students’ learning needs.
Large language models such as CodeBERT 001 (Feng et al., 2020) perform very well on tasks 002 such as natural language code search. We show 003 that this is most likely due to the high token 004 overlap and similarity between the queries and 005 the code in datasets obtained from large code-006 bases, rather than any deeper understanding of 007 the syntax or semantics of the query or code. 008
Researchers and practitioners have demonstrated various benefits of introducing computational thinking (CT) through music composition coding. While researchers have studied the impacts on participant attitudes towards CT and their learning of CT concepts, more case studies are needed on both learning CT concepts as well as CT practices, i.e., the processes of constructing music coding projects. This paper presents a case study of middle schoolers in an informal learning environment focused on integrating music composition with coding in TunePad. Specifically, we collected and analyzed logs of coding events, final code products, and surveys to explore both CT concept use and CT practices exhibited by the participants as they completed open-ended music coding activities to create their own melodies with specific music and CT requirements and recommendations.
Conversational agents that respond to user information requests through a natural conversation have the potential to revolutionize how we acquire new information on the Web (i.e., perform exploratory Web searches). Recent advances to conversational search agents use popular Web search engines as a back-end and sophisticated AI algorithms to maintain context, automatically generate search queries, and summarize results into utterances. While showing impressive results on general topics, the potential of this technology for software engineering is unclear. In this paper, we study the potential of conversational search agents to aid software developers as they acquire new knowledge. We also obtain user perceptions of how far the most recent generation of such systems (e.g., Facebook’s BlenderBot2) has come in its ability to serve software developers. Our study indicates that users find conversational agents helpful in gaining useful information for software-related exploratory search; however, their perceptions also indicate a large gap between expectations and current state of the art tools, especially in providing high-quality information. Participant responses provide directions for future work. CCS CONCEPTS• General and reference $\rightarrow$Empirical studies.
The need to expand computer science learning for all students has led to an increase in professional development (PD) opportunities for teachers. The Covid-19 pandemic, however, necessitated changes in well-established PD programs and a shift to virtual delivery. In this work, we describe our transition to a virtual PD institute, including the topics and design principles guiding the institute. We also examine how participation in the virtual PD institute influenced teacher outcomes. Data were collected from two cohorts of teachers. Data sources included surveys (N=30), lesson plans (N=22), and interviews (N=17) from a purposeful sample of participants. Findings gleaned from quantitative and qualitative analysis suggest an increase in teachers’ knowledge and self-efficacy while highlighting the affordances of virtual PD most valued by teachers. Findings have implications for research and practice.
As the field of computer science (CS) is gaining increased attention, the need for qualified teachers is rapidly growing. Yet little is still known about the design features, implementation, and outcomes of professional development programs in computing. The purpose of this study is threefold: (a) examine a CS professional development program built around high-quality design features reported in the research literature, (b) investigate the impact of the program on participating teachers' learning and classroom practice, and (c) identify specific design features that facilitated changes in teacher learning and practice. The study employed a mixed-methods design. Data were collected from multiple sources including, pre and post survey data on teacher knowledge of CS content, pedagogy, and technology (N = 94), as well as interviews and classroom implementation data from eight case study participants. Findings from this work indicated that participants reported improvements in their knowledge of CS content, pedagogy, and technology. They also applied new learning into their practice, though implementation varied among participants. Responding on the value of the professional development design features, teachers noted the importance of focusing on CS content knowledge as well as opportunities to engage with pedagogical practices for teaching computing. Findings also indicated the important role of contextualized follow-up classroom support in the implementation of new learning into practice. These findings have implications for the design of professional development programs grounded in best practices with the potential to support broad efforts intended to prepare teachers with the knowledge and skills needed to deliver CS education.
Virtual conversational assistants designed specifically for software engineers could have a huge impact on the time it takes for software engineers to get help. Research efforts are focusing on virtual assistants that support specific software development tasks such as bug repair and pair programming. In this paper, we study the use of online chat platforms as a resource towards collecting developer opinions that could potentially help in building opinion Q&A systems, as a specialized instance of virtual assistants and chatbots for software engineers. Opinion Q&A has a stronger presence in chats than in other developer communications, thus mining them can provide a valuable resource for developers in quickly getting insight about a specific development topic (e.g., What is the best Java library for parsing JSON?). We address the problem of opinion Q&A extraction by developing automatic identification of opinion-asking questions and extraction of participants' answers from public online developer chats. We evaluate our automatic approaches on chats spanning six programming communities and two platforms. Our results show that a heuristic approach to opinion-asking questions works well (.87 precision), and a deep learning approach customized to the software domain outperforms heuristics-based, machine-learning-based and deep learning for answer extraction in community question answering.
In spite of the efforts to provide computer science education for all, the percentage of Black and Latino Americans entering the computer science (CS) field has been stagnant for years. In an effort to attract and engage students many summer camps and after-school clubs use robotics, video-games, and even IoT devices, but these approaches seem to only attract those already considering STEM careers, a population low in Black and Latino students. To attract Black and Latino students to computer science a promising approach is to engage with their culture, making CS relevant to them personally. To this end, we present an approach that teaches middle school students to program using hip hop beats, intentionally leveraging a genre of music that appeals to a wide array of urban youth of color. This approach, called Code Beats, uses extensive scaffolding to support beginning students, authentic-sounding beats to engage students, and a expressive programming environment to support creative freedom. We present the results of our pilot camp, where students clearly showed an increase in computing enjoyment, confidence, belonging, and persistence. By the end of this course, all students were able to create their own, original beat from scratch, suggesting their progression to the Create phase of the Use-Modify-Create framework.
Software engineers are crowdsourcing answers to their everyday challenges on Q&A forums (e.g., Stack Overflow) and more recently in public chat communities such as Slack, IRC, and Gitter. Many software-related chat conversations contain valuable expert knowledge that is useful for both mining to improve programming support tools and for readers who did not participate in the original chat conversations. However, most chat platforms and communities do not contain built-in quality indicators (e.g., accepted answers, vote counts). Therefore, it is difficult to identify conversations that contain useful information for mining or reading, i.e., conversations of post hoc quality. In this article, we investigate automatically detecting developer conversations of post hoc quality from public chat channels. We first describe an analysis of 400 developer conversations that indicate potential characteristics of post hoc quality, followed by a machine learning-based approach for automatically identifying conversations of post hoc quality. Our evaluation of 2,000 annotated Slack conversations in four programming communities (python, clojure, elm, and racket) indicates that our approach can achieve precision of 0.82, recall of 0.90, F-measure of 0.86, and MCC of 0.57. To our knowledge, this is the first automated technique for detecting developer conversations of post hoc quality.
In this work we examine youth learning in an informal computing program implemented through a library-university partnership. In particular, we introduce and illustrate a culturally responsive computing framework which served as a foundation for the design of the program. Subsequently, we examine youth collaboration as well as affective and cognitive learning outcomes. Data were collected from university program facilitators and 30 youth over one semester. Data were collected through observations, lesson plans, computational artifacts and interviews with two case study youth. Results indicated that youth formed a variety of learning communities during the collaborative development of computing artifacts. Frequent participants were found to work with a greater number of peers compared to less frequent participants. Results from case study participants also indicated improvements in their computational competencies. Findings from this work have implications for the design of informal learning environments that help broaden participation in computing.
To meet the demands of 21st century societies, it is essential that faculty across disciplines engage students with course activities and assignments that foster the development of computational thinking (CT). In this study, we address two pertinent questions: (1) What types of artifacts do students develop across different disciplines in response to CT-driven problem prompts' and (2) What types of CT skills do these artifacts demonstrate? To answer the questions, we examined 273 artifacts developed by undergraduate students across seven course assignments from four disciplines: mathematics, sociology, music, and English using a rubric developed to evaluate the following CT skills: abstraction, decomposition, data analysis, and algorithmic thinking. We found that a range of skills were reflected across student artifacts.
Researchers have shown that sentiment analysis of software artifacts can potentially improve various software engineering tools, including API and library recommendation systems, code suggestion tools, and tools for improving communication among software developers. However, sentiment analysis techniques applied to software artifacts still have not yet yielded very high accuracy. Recent adaptations of sentiment analysis tools to the software domain have reported some improvements, but the f-measures for the positive and negative sentences still remain in the 0.4-0.64 range, which deters their practical usefulness for software engineering tools.In this paper, we explore the potential effectiveness of customizing BERT, a language representation model, which has recently achieved very good results on various Natural Language Processing tasks on English texts, for the task of sentiment analysis of software artifacts. We describe our application of BERT to analyzing sentiments of sentences in Stack Overflow posts and compare the impact of a BERT sentiment classifier to state-of-the-art sentiment analysis techniques when used on a domain-specific data set created from Stack Overflow posts. We also investigate how the performance of sentiment analysis changes when using a much (3 times) larger data set than previous studies. Our results show that the BERT classifier achieves reliable performance for sentiment analysis of software engineering texts. BERT combined with the larger data set achieves an overall f-measure of 0.87, with the f-measures for the negative and positive sentences reaching 0.91 and 0.78 respectively, a significant improvement over the state-of-the-art.
Sara Sprenkle合作论文数University of Delaware
Department of Computer and Information Sciences21