Global Software Engineering Education Practice Continuum Special Issue of the ACM Transactions on Computing Education
The current efforts to expand computer science (CS) education in K-12 schools, such as the CS for All initiative, highlight the need for all students to get an opportunity to study computing. However, as recent research has shown, diversity in computing at the K-12 level remains problematic, and little has been done to look at how computer science learning environments can impact minority student interest and retention in CS. In this paper, we report results from an in-depth qualitative study of high school computer science teachers perspective on barriers to increasing diversity in their classes. Based on teachers experiences, we provide practical recommendations on how to encourage equitable learning environments in K-12 computer science courses.
As enrollments and class sizes in postsecondary institutions have increased, instructors have sought automated and lightweight means to identify students who are at risk of failing a course. This identification must be performed early enough in the term to allow instructors to assist those students before they fall irreparably behind. This study describes a modeling methodology that predicts student final exam scores in the third week of the term by using the clicker data that is automatically collected for instructors when they employ the Peer Instruction pedagogy. The modeling technique uses a support vector machine binary classifier, trained on one term of a course, to predict outcomes in subsequent terms. We applied this modeling technique to five different courses across the computer science curriculum, taught by three different instructors at two different institutions. Our modeling approach includes a set of strengths not seen wholesale in prior work, while maintaining competitive levels of accuracy with that work. These strengths include being lightweight, affording early detection of struggling students, and predicting outcomes across terms in a natural setting (different final exams, minor changes to course content), across multiple courses in a curriculum, and across multiple institutions.
Literature on employability signifies "enabling" learning environments where students encounter ill-formed and open-ended problems and are required to adapt and be creative. Varying forms of "projects" have populated computing curricula for decades and are generally deemed an answer to this call. We performed a qualitative study to describe if and how project course students are able to capitalize on the promise of enabling learning environments. This critical perspective was motivated by the circumstance of the present-day education systems being heavily regulated for the precipitated production of human capital. The students involved in our study described education system-imposed and group-imposed narratives of lost opportunities, as well as many self-related challenges. On the other hand, students welcomed autonomy as an enjoyable condition and linked it with motivation. Self-related attitudinal attributes such as taking care of one's own learning and whole-group commitment appeared as important conditions. The results highlight targets for interventions that can counteract unfruitful behaviors and continue the march of projects as a means to foster professionalism in global software engineering.
With ever-greater reliance of the developed world on information and communication technologies, constructing secure software has become a top priority. In order to produce secure software, security activities need to be integrated throughout the software development lifecycle. One such activity is security design analysis (SDA), which identifies security requirements as early as the software design phase. While considered an important step in software development, the general opinion of information security subject matter experts and researchers is that SDA is challenging to learn and teach. Experimental evidence provided in literature confirms this claim. To help solve this, we have developed a framework for teaching SDA, by utilizing case study analysis and the hybrid flipped classroom approach. We evaluate our framework by performing a comparative analysis between a group of students which attended labs generated using our framework and a group that participated in traditional labs. Our results show that labs created using our framework achieve better learning outcomes for SDA, as opposed to the traditional labs. Secondary contributions of our paper include teaching materials, such as lab descriptions and a case study of a hospital information system to be used for SDA. We outline instructions for using our framework in different contexts, including university courses and corporate training programs. By using our proposed teaching framework, with our or any other case study, we believe that both students and employees can learn the craft of SDA more effectively.
It is widely believed that there are educational benefits to making computer games, but there is no systematic review of research on this topic. This paper describes a meta-synthesis of research on children designing and programming computer games to determine the extent to which there is evidence of benefits for learning and motivation. Over four hundred articles were identified, and eighty-four articles met the inclusion criteria. A systematic analysis and synthesis across studies showed some evidence that computer game design and programming can lead to changes in programming knowledge, problem solving, computer science attitudes and confidence, and other academic knowledge. However, most of the evidence described engagement in computing-related practices and did not measure learning. The findings were similar across different pedagogical approaches. In addition, the synthesis resulted in a list of design elements for studying computer game design and programming activities; these can be used to increase the availability of evidence about learning. The article concludes with the identification of gaps in the research and suggestions for additional research.
This paper proposes and explores the kinds of computational thinking, creative practices, design activities and equitable opportunities provided to diverse high school youth when designing simultaneously physically and digitally responsive wearable games. Previous work in this area coined the term bidirectionally responsive design, or the design of dual-feedback systems using multiple interfaces, which are both digital and physical, utilizing simplified digital and physical toolkits common in makerspaces. While some initial studies have explored the computational concepts, practices and perspectives involved in coding and circuitry, particularly with Scratch and e-textiles, this study extends this work by providing detailed analysis of one case study of a bidirectionally responsive project produced during one of the workshops. This study provides a framework to analyze computational concepts, practices and perspectives in the bidirectionally responsive project adding to, building upon and integrating previous analytical approaches to looking at Scratch coding, physical computing and e-textiles. Utilizing a detailed case study of one such youth team and project, we conduct a multimodal analysis of bidirectionally responsive making activities to discuss the ways they present novel understanding of integrating diverse interests, and fostering collaborative and distributed computational thinking.
This article aims to lay a foundation for the research and practice of ML education for creative practitioners. We begin by motivating the usefulness of ML for creative practice, and briefly describing the long history of ML's use in art, music, dance, and related fields. We propose a set of learning objectives for creative practitioners learning about ML, and we describe where these objectives likely differ from non-creative contexts. We describe a curriculum---including lecture topics and assignments, as well as underpinning abstractions and illustrative examples---developed to support these learning objectives in an introductory supervised learning class aimed at musicians, artists, and other creative practitioners. We also describe a set of scaffolding technologies to support constructivist experimentation and creative project development. These resources are aimed at students who may not be programmers, who may lack strong mathematics backgrounds, and who have an interest in creative work with technology (e.g., in music, art, game design). We describe our use of this curriculum and toolset an undergraduate course, a masters-level course, and an online MOOC. We use data collected from these classes to explore the following questions: (1) How successful were this curriculum and toolset in enabling students to meet the proposed learning objectives? (2) How did the proposed abstractions, examples, and tools function in student experimentation and reasoning? (3) What motivated students in these courses to study machine learning? And what types of creative work were enabled by successful attainment of the learning objectives? (4) What were significant challenges and misconceptions for these students? To answer these questions, we employ methods including quantitative analysis of software log data and assignment submissions, qualitative coding of student written work and forum posts, and examination of students' final creative projects. This work informs further practical work and research around ML education for creative practitioners. It also has broader implications for ML education for other populations, including contributing to development of pedagogical content knowledge for ML, illustrating how ML may be integrated earlier into CS curricula, and providing approaches and tools that can be adopted in education of the broader public.
Community colleges play a large role in educating students that are historically underrepresented in computer science (CS) including women, Latino men, and African American men as well as post-traditional (older or working) students. In spite of this, there is a dearth of research on the institutional factors that influence whether or not community college students who are enrolled in CS classes and who express an interest in transferring and completing a bachelors degree in the field persist. The overused pipeline metaphor, which indicates a supply-side lack, has been replaced by many with that of a pathway. However, the pathway image suggests a general forward-moving trend that can be misleading. In this work, we draw from qualitative interviews with 14 CS students from groups traditionally underrepresented in the field who have studied introductory computer programming at a community college to investigate the following question: What are the institutional barriers along a CS bachelors degree track that includes community college? Our findings indicate that there are three categories of institutional barriers along the transfer pathway: setbacks that hinder student progression forward, discontinuities in which students leave and re-enter the pathway, and departures in which students leave computer science and/or leave college altogether. We describe specific examples of each, and introduce the idea of student movement as a game of chutes and ladders, a convoluted trail where students can slide backwards or off the path (chutes), necessitating the implementation of targeted institutional supports that can boost student progress forward (ladders). We suggest institutional interventions that can help students facing each type of barrier to continue on course through community college and transfer to a four-year university.
Game-based learning has received significant attention in educational pedagogy as an effective way of increasing student motivation and engagement. The majority of the work in this area has been focused on digital games or games involving technology. We focus on the use of traditional game design in improving student engagement and perception of learning in teaching computer science concepts in higher education. In addition, as part of an interdisciplinary effort, we discuss the interplay between game-based learning in higher education and disciplinary cultures, addressing the lack of empirical evidence on the impact of game design on learning outcomes, engagement, and students' perception of learning.
This study evaluates the impact of a new review-exercises module that has been incorporated into an online tool in a software engineering degree with the goal of avoiding plagiarism by enhancing study commitment. Two groups of students were quantitatively compared: the former used the tool exclusively during lab sessions, whereas the latter had the possibility of employing the tool for enhancing their study. The tool allows us to collect interesting data related to the focus of this study: supplementary work completed voluntarily by students and the percentage of students copying others work during lab sessions. In the obtained results, we have observed that the students in the enhanced study group plagiarized less and achieved better academic results. Moreover, in the enhanced study group the students that copied less and put in more effort, got better results; and, interestingly, the effort invested in completing review exercises did not seem to compensate for the learning effort avoided by copying others exercises during lab sessions. The results show the advantages of a tool used with a dual orientation: compulsory and voluntary. Mandatory usage in lab sessions establishes some milestones that, eventually, act as an incentive fostering learning, while voluntary use reinforces students perception of the tool usefulness to achieve learning.
Computer science education efforts are expanding across the globe to equip students with the necessary computing skills for today's digital world. However, preparing students to become literate in computing activities requires the training of tens of thousands of teachers in computer science. The discrepancy between student needs and teacher preparation in computer science has raised questions of quality teachers, particularly for teachers who do not possess adequate content or pedagogical knowledge to teach computer science efficiently. To address this issue, we designed an instrument to measure knowledge needed to teach computer science (i.e., computer science pedagogical content knowledge). Results exhibited that our instrument measured aspects of teachers' computer science pedagogical content knowledge; however, teachers' prior background in teaching did not influence their performance. We discuss implications for future research and practice.
Programming skills are an increasingly desirable asset for higher education students across disciplines; however, learning to program continues to be difficult to master for many students. The heterogeneity of student cohorts in most computer science courses makes it challenging to isolate the concepts within programming that are particularly hard for all students to understand (i.e., 'threshold concepts'). As a result, there is a lack of consensus over the threshold concepts that are relevant to those learning programming. This paper draws on a qualitative study using focus groups with undergraduates and professional software developers to identify potential threshold concepts in programming. Data from the focus groups were thematically coded and analyzed using a theoretical framework based on established criteria for threshold concepts. In particular, we focused on concepts that were both troublesome and transformative and included other characteristics such as participants' partiality of understanding. Six potential threshold concepts were identified in the majority of the focus groups, including abstract classes, data structures and designing objects. Further analysis of the data identified additional concepts that may hinder rather than help the learning of these threshold concepts, which we have called 'accidental complexities'.
Various Software Engineering curricula in Higher Education started including courses on Global Software Engineering, carried out as international distributed project-based courses. These courses, known for their closeness to real world work experience, emphasize the importance of involving industry partners as customers and focus on soft skills important for employment, often neglected in engineering education. However, not many such courses are long-lived or of a consistent form throughout the years, making their impact and relevance hard to assess. The Distributed Software Development course (DSD), currently run among three universities from Croatia, Italy and Sweden, is now carried out for 14 years consecutively, providing a rich source of in-course and post-graduation data. In order to evaluate the students experiences of the course after they graduate and start working, a survey among former DSD students from University of Zagreb, Croatia has been carried out, to understand how useful this course was in students careers, both in first and current employment, depending on several factors during the course (such as project role), as well as factors at the workplace (such as the level of global teamwork). The survey results show the relevance of such distributed course experiences for future employment, as well as importance of building up on soft skills as part of the engineering curricula. Higher Education institutions are invited to consider including such courses in the Software Engineering curriculum, to the benefit of their students and, indirectly, their future employers.
Short-term outreach interventions are often conducted to raise young students awareness of the field of computer science (CS). Typically these interventions are targeted towards K-12 students, attempting to engage them in academic studies of CS later. The current study is based on a series of extra-curricular outreach events that introduced students to the discipline of computing, nurturing creative computational thinking through problem solving and game programming. To assess the long-term impact of this campaign, the participants were contacted and interviewed three or four years after they had attended an outreach event. We studied, in particular, how participating in the outreach program affected the students views of CS as a field, and more importantly, how it affected their educational choices. We found that in general the outreach program had an impact on the educational choices. The most prominent finding was that students who already possessed a maintained situational interest in CS found the event to strengthen their choices of further studies. On the other hand, there were many students whose plans were not affected by attending the program, but their image of the discipline of CS did change. Our results emphasize the need to provide continuing possibilities for interested students to experiment with computing-related activities, to maintain their emerging individual interests.