{"title":"Developing a Computing Identity Framework","authors":"Jonathan Mahadeo, Z. Hazari, G. Potvin","doi":"10.1145/3365571","DOIUrl":"https://doi.org/10.1145/3365571","url":null,"abstract":"This paper expands on knowledge of computing identity by building on what is known about prior identity models in science and mathematics education. The model theorizes three primary sub-constructs that contribute to the development of a computing identity: belief in one's performance/competence, interest, and recognition in computing. Drawing on data from a nationally representative survey of more than 1,700 college students at 22 colleges and universities, the study tested the alignment of the theorized model to the measures on the survey. Confirmatory Factor Analysis was used to validate whether the appropriate measures loaded on the three separate sub-constructs. Criterion-related validity was also established by testing whether the computing identity measures predicted the choice of a computer science career. The results reveal that a computing identity proxy based on the theorized measures was a highly significant predictor of students' computer science and information technology career choice (p < 0.0001). In addition, this work also established criterion-related validity by showing gender differences that had been found by prior work in computing. Finally, the theorized measures were found to be reliable and internally consistent. The educational understanding of computing identities may provide an important tool to help researchers and practitioners improve student persistence in computer science.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130391706","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching Abstraction in Computer Science to 7th Grade Students","authors":"D. Statter, M. Armoni","doi":"10.1145/3372143","DOIUrl":"https://doi.org/10.1145/3372143","url":null,"abstract":"Abstraction is one of the most fundamental ideas in computer science (CS), and as such, according to Bruner [23], it should be taught spirally, starting as early as possible and revisited at every level of education. However, teaching CS abstraction to novices is a very challenging task, and CS educational research has often demonstrated students' difficulties in learning this idea, in different contexts and at different age levels. The challenge in teaching CS abstraction is even greater when dealing with young students, since according to theories on children's cognitive development, their abstraction abilities may still be not fully developed. In 2013, Armoni [5] introduced a framework for teaching abstraction in the context of algorithmic problem solving, intended for novice students. We studied the effect of this framework in an introductory CS course for 7th graders, in which Scratch was used as the programming language for implementing algorithmic solutions. Our findings indicate that the framework was highly effective for developing CS abstraction skills as well as other related skills and aspects, such as the tendency to provide explanations for solutions, the use of initialization processes, and the perception of the nature of CS. It also significantly improved students’ general CS performance in this course.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124615928","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
David Weintrop, Merijke Coenraad, Jen Palmer, Diana Franklin
{"title":"The Teacher Accessibility, Equity, and Content (TEC) Rubric for Evaluating Computing Curricula","authors":"David Weintrop, Merijke Coenraad, Jen Palmer, Diana Franklin","doi":"10.1145/3371155","DOIUrl":"https://doi.org/10.1145/3371155","url":null,"abstract":"In response to the growing call to bring the powerful ideas of computer science to all learners, education decision makers, including teachers and administrators, are tasked with making consequential decisions on what curricula to use. Often, these decision makers have not been trained in computer science and are unfamiliar with the concepts taught and tools used. This is especially true in K–12 contexts where computer science expertise is less prevalent. To aid in the decision-making process around computing curricula, this article introduces the TEC Rubric. The TEC Rubric is composed of three main categories: Teacher Accessibility, Equity, and Content designed to support educational decision makers and designers when it comes to computing instruction. Along with presenting the full rubric and the process used in its creation, this article describes two examples of the rubric in action. First, the TEC Rubric is used to evaluate two widespread computer science curricula to demonstrate its evaluative capacity highlighting differences between the two curricula. Second, we show how the TEC Rubric can be used to help inform the design of new K–12 computing curricula. Overall, the TEC Rubric is designed to serve as a useful resource in the ongoing quest to bring effective, equitable, and engaging computing instruction into schools around the world.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124325444","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Plagiarism in Programming Assessments","authors":"Ibrahim Albluwi","doi":"10.1145/3371156","DOIUrl":"https://doi.org/10.1145/3371156","url":null,"abstract":"This article is a systematic review of work in the computing education literature on plagiarism. The goal of the review is to summarize the main results found in the literature and highlight areas that need further work. Despite the the large body of work on plagiarism, no systematic reviews have been published so far. The reviewed papers were categorized and analyzed using a theoretical framework from the field of Fraud Deterrence named the Fraud Triangle. According to this framework, fraudulent behavior occurs when the person is under pressure, perceives the availability of an opportunity to commit fraud, and rationalizes the fraudulent behavior in a way that makes it seem not unethical to him or her. The review found the largest amount of the reviewed papers to discuss ways for reducing the opportunity to plagiarize, as well as tools for detecting plagiarism. However, there is a clear lack of empirical work evaluating the deterrent efficacy of these strategies and tools. The reviewed papers also included mentions of a wide range of rationalizations used by computing students when justifying plagiarism, the most important of which are rationalizations that stem from confusion about what constitutes plagiarism. Finally, work on the relationship between pressure in computing courses and plagiarism was found to be very scarce and incommensurate with the significant contribution of this factor to plagiarism.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126915864","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Female Performance and Participation in Computer Science","authors":"Peter E. J. Kemp, B. Wong, Miles G. Berry","doi":"10.1145/3366016","DOIUrl":"https://doi.org/10.1145/3366016","url":null,"abstract":"The change in the English computing curriculum and the shift towards computer science (CS) has been closely observed by other countries. Female participation remains a concern in most jurisdictions, but female attainment in CS is relatively unstudied. Using the English national pupil database, we analyzed all exam results (n = 5,370,064) for students taking secondary school exams in 2016, focusing on those students taking GCSE CS (n = 60,736), contrasting this against ICT (n = 67,359). Combining gender with ethnicity and the IDACI poverty indicator, we find that females from the poorest areas were more likely to take CS than those from the richest areas and that CS was more popular among ethnic minority females than white females. ICT was far more equitable for females and poorer students than CS. CS females typically got better grades than their male peers. However, when controlling for average attainment in other subjects, males got 0.31 of a grade higher. Female relative underperformance in CS was most acute among large female cohorts and with girls studying in mixed-gender schools. Girls did significantly better than boys in English when controlling for CS scores, supporting theories around female relative strengths lying outside STEM subjects. The move to introduce CS into the English curriculum and the removal of the ICT qualifications look to be having a negative impact on female participation and attainment in computing. Using the theory of self-efficacy, we argue that the shift towards CS might decrease the number of girls choosing further computing qualifications or pursuing computing as a career. Computing curriculum designers and teachers need to carefully consider the inclusive nature of their computing courses.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115862843","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Ardimento, M. Bernardi, Marta Cimitile, G. D. Ruvo
{"title":"Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks","authors":"P. Ardimento, M. Bernardi, Marta Cimitile, G. D. Ruvo","doi":"10.1145/3355616","DOIUrl":"https://doi.org/10.1145/3355616","url":null,"abstract":"Novice programmers often encounter difficulties performing debugging tasks effectively. Even if modern development environments (IDEs) provide high-level support for navigating through code elements and for identifying the right conditions leading to the bug, debugging still requires considerable human effort. Programmers usually have to make hypotheses that are based on both program state evolution and their past debugging experiences. To mitigate this effort and allow novice programmers to gain debugging experience quickly, we propose an approach based on the reuse of existing bugs of open source systems to provide informed guidance from the failure site to the fault position. The goal is to help novices in reasoning on the most promising paths to follow and conditions to define. We implemented this approach as a tool that exploits the knowledge about fault and bug position in the system, as long as any bug of the system is known. The effectiveness of the proposed approach is validated through a quasi-experiment that qualitatively and quantitatively evaluates how the debugging performances of the students change when they are trained using the tool.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128987823","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Understanding the Knowledge Gaps of Software Engineers","authors":"V. Garousi, G. Giray, Eray Tüzün","doi":"10.1145/3360497","DOIUrl":"https://doi.org/10.1145/3360497","url":null,"abstract":"Context: Knowledge level and productivity of the software engineering (SE) workforce are the subject of regular discussions among practitioners, educators, and researchers. There have been many efforts to measure and improve the knowledge gap between SE education and industrial needs. Objective: Although the existing efforts for aligning SE education and industrial needs have provided valuable insights, there is a need for analyzing the SE topics in a more “fine-grained” manner; i.e., knowing that SE university graduates should know more about requirements engineering is important, but it is more valuable to know the exact topics of requirements engineering that are most important in the industry. Method: We achieve the above objective by assessing the knowledge gaps of software engineers by designing and executing an opinion survey on levels of knowledge learned in universities versus skills needed in industry. We designed the survey by using the SE knowledge areas (KAs) from the latest version of the Software Engineering Body of Knowledge (SWEBOK v3), which classifies the SE knowledge into 12 KAs, which are themselves broken down into 67 subareas (sub-KAs) in total. Our analysis is based on (opinion) data gathered from 129 practitioners, who are mostly based in Turkey. Results: Based on our findings, we recommend that educators should include more materials on software maintenance, software configuration management, and testing in their SE curriculum. Based on the literature as well as the current trends in industry, we provide actionable suggestions to improve SE curriculum to decrease the knowledge gap.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131213014","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Introduction to the Special Section","authors":"R. B. Shapiro, R. Fiebrink","doi":"10.1145/3354136","DOIUrl":"https://doi.org/10.1145/3354136","url":null,"abstract":"Machine Learning (ML) is exploding in popularity. What little more than a decade ago was the realm of specialists is now becoming a commonplace tool in the development of technology products. For example, as of January 2019, Amazon has sold more than 100 million devices running its Alexa software—whose speech synthesis, recognition, and dialogue systems are all built with ML [Bohn 2019]. Alongside this growth in the application of ML, universities are investing massive resources in hiring faculty who are experts in artificial intelligence, ML, or data science, with approximately 35% of recent faculty searches in top 100 Ph.D.-granting computing departments targeting such faculty [Wills 2019]. These faculty, in turn, are teaching an ever-larger number of ML courses, thereby preparing a wave of software engineers to use ML in their work. These in-person university courses are complemented by online ML education offerings from Coursera, Udacity, EdX, and others that tout enrollments in the millions. ML-focused industry job advertisements are also are rapidly growing in number. The number of industry job postings mentioning ML or artificial intelligence on Indeed rose about 30% between 2018 and 2019, after doubleand triple-digit growth in the preceding 2 years [Indeed Editorial Team 2019]. This rapid growth in ML-based products, ML faculty positions, and ML engineering jobs is propelled by one basic phenomenon: ML is capable of leveraging ever-increasing amounts of data to inform computational tasks such as decision making, reasoning, and even design and creation of new systems. This means that systems created with ML can be far better than those created with traditional programming approaches at capturing the nuances of many phenomena that matter to people: human bodies, human communication, human societies, and the natural and human-built physical world. Some examples illustrate this point:","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125046014","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Predicting Women's Persistence in Computer Science- and Technology-Related Majors from High School to College","authors":"T. Weston, W. Dubow, Alexis Kaminsky","doi":"10.1145/3343195","DOIUrl":"https://doi.org/10.1145/3343195","url":null,"abstract":"While demand for computer science and information technology skills grows, the proportion of women entering computer science (CS) fields has declined. One critical juncture is the transition from high school to college. In our study, we examined factors predicting college persistence in computer science- and technology-related majors from data collected from female high school students. We fielded a survey that asked about students’ interest and confidence in computing as well as their intentions to learn programming, game design, or invent new technology. The survey also asked about perceived social support from friends and family for pursuing computing as well as experiences with computing, including the CS Advanced Placement (AP) exam, out-of-school time activities such as clubs, and internships. Multinomial regression was used to predict persistence in computing and tech majors in college. Programming during high school, taking the CS Advanced Placement exam, and participation in the Aspirations awards program were the best predictors of persistence three years after the high school survey in both CS and other technology-related majors. Participation in tech-related work, internships, or after-school programs was negatively associated with persistence, and involvement with computing sub-domains of game design and inventing new applications were not associated with persistence. Our results suggest that efforts to broaden participation in computing should emphasize education in computer programming.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130236507","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Machine Learning Education for Artists, Musicians, and Other Creative Practitioners","authors":"R. Fiebrink","doi":"10.1145/3294008","DOIUrl":"https://doi.org/10.1145/3294008","url":null,"abstract":"This article aims to lay a foundation for the research and practice of machine learning education for creative practitioners. It begins by arguing that it is important to teach machine learning to creative practitioners and to conduct research about this teaching, drawing on related work in creative machine learning, creative computing education, and machine learning education. It then draws on research about design processes in engineering and creative practice to motivate a set of learning objectives for students who wish to design new creative artifacts with machine learning. The article then draws on education research and knowledge of creative computing practices to propose a set of teaching strategies that can be used to support creative computing students in achieving these objectives. Explanations of these strategies are accompanied by concrete descriptions of how they have been employed to develop new lectures and activities, and to design new experiential learning and scaffolding technologies, for teaching some of the first courses in the world focused on teaching machine learning to creative practitioners. The article subsequently draws on data collected from these courses—an online course as well as undergraduate and masters-level courses taught at a university—to begin to understand how this curriculum supported student learning, to understand learners’ challenges and mistakes, and to inform future teaching and research.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"273 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127714582","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}