The rise of "tech stacks" for modern application development has produced a quandry for software engineering educators. On the one hand, competency with a tech stack makes it possible for students to develop and deploy modern, "professional" applications in a relatively short period of time, which in turn makes it more possible than ever before for students to experience "real world" software engineering issues in the classroom. On the other hand, developing tech stack competency is a non-trival undertaking, and it is increasingly difficult for students to avoid becoming mired in low-level tech stack issues that prevent them from focusing on higher level software engineering concepts and ideas. In this research, we present a new pedagogy called Athletic Software Engineering, which is designed to enable students to efficiently acquire tech stack competency in order to improve their experience of software engineering education, and present results from four years of use across six semesters and 286 students. We gathered data regarding the pedagogy from four sources including: a custom mid-semester questionnaire; the "WOD cards" that record the results of weekly assessments; self-reported student data on the number of times they repeated a "practice WOD", as well as the standard end-of-semester institutional course evaluation survey. We used this data to investigate four research questions: (1) is Athletic Software Engineering an effective pedagogy for learning software engineering; (2) Do students comply with the basic components of Athletic Software Engineering; (3) Does Athletic Software Engineering have side effects, such as creating competition, improving confidence, managing pressure, and improving focus, and (4) How can Athletic Software Engineering be improved? Our results provide strong evidence that Athletic Software Engineering is an effective pedagogy: on average, over four years, 88\% of students preferred it to a more traditional approach to software engineering education. The results also indicate that students repeat practice WODs, that they find the in-class WOD with its all-or-nothing grading scheme to be helpful for learning, that the approach creates competitive feelings, that it increases confidence, and that it helps students feel more comfortable programming under pressure.
Based on a systematic literature review, the key ethical considerations and questions students should explore when using machine learning algorithms are outlined and mapped to phases within a data science project. To test student perceptions when trying to apply these questions, we then report on the findings of a case study where students in an introduction to data science class were asked to use these questions to identify the top ethical considerations within a machine learning project. The case study found that students were able to easily understand the questions and that, collectively, the students leveraged all the proposed questions to identify the potential ethical conundrums. Thus, this paper helps to provide some structure for students to explore the possible ethical situations that can arise when using machine learning. This research contributes towards the goal of creating an environment where data science students are able to internalize an ethical thinking mindset as well as providing those students with the knowledge of the types of ethical situations that they might need to contemplate throughout the life of a machine learning project.
Contemporary research has introduced robots in the classroom, but there is a limited number of studies about the effects of alternative embodied interactions with them on learning and attitudes. Apart from the goal of the robot and how the robot will interact with its environment another important aspect that should be taken into consideration is whether and how the user will physically interact with the robot. In this work, we explored the synergy between embodied learning and educational robotics through a series of programming activities in an attempt to expand students? learning in computational thinking. Thirty-six middle school students were asked to develop interfaces for controlling a robot using diverse interaction modalities, such as touch, speech, hand and full-body gestures. We measured students? perception of computing and assessed the development of their computational thinking skills by analyzing the sophistication of the projects they created during a problem-solving task. We also examined their computational practices to gain a more comprehensive view of their understandings. We found that students who programmed combinations of low embodiment interfaces or interfaces with no embodiment produced more sophisticated projects and adopted more sophisticated computational practices compared to those who programmed full-body interfaces. These findings suggest that there might be a trade-off between the appeal and the cognitive benefit of rich embodied interaction. In further work, educational robotics research and competitions might be complemented with a hybrid approach that blends the traditional autonomous robot movement with student enactment.
Given its societal impacts and applications to numerous fields, machine learning (ML) is an important topic to understand for many students outside of computer science and statistics. However, machine learning education research is nascent, and research on this subject for non-majors thus far has only focused on curricula and courseware. We interviewed ten instructors of ML courses for non-majors, inquiring as to what their students find both easy and difficult about machine learning. While ML has a reputation for having algorithms that are difficult to understand, in practice our participating instructors reported that it was not the algorithms that were difficult to teach, but the higher-level design decisions. We found that the learning goals that participants described as hard to teach were consistent with higher levels of the Structure of Observed Learning Outcomes (SOLO) taxonomy, such as making design decisions and comparing/contrasting models. We also found that the learning goals that were described as easy to teach, such as following the steps of particular algorithms, were consistent with the lower levels of the SOLO taxonomy. Realizing that higher-SOLO learning goals are more difficult to teach is useful for informing course design, public outreach, and the design of educational tools for teaching ML.
High school computing education reform efforts have been ongoing across the United States, particularly in the past decade. Although national computer science (CS) for All initiatives are promising, states retain control over education policies. Recent computing education reform efforts in Maryland focused on providing every public high school student with access to high quality high school computing courses. Such access provides exposure to computing careers and better prepares a diverse pool of students for computing majors in college. This comprehensive embedded multi-level case study examines the computing education reform efforts from 2010 through 2016. The expansion of computing education indicates that while there was positive growth, the growth is not the same for all public high school students. Despite successes, barriers at the state, Local Education Agencies (LEA), school, and classroom levels persist and are discussed. The findings in this study are applicable to other states with similar policy structures.
The CS for All movement has taken hold of the US and CS education is rapidly expanding across nations throughout the world. Yet as curricula and professional development opportunities are developed, key questions remain about what ?works? for engaging youth in CS education when they do not necessarily look like the majority of computer scientists nor feel like they belong in the field. In response, this study answers the questions: What teaching practices do students?who are underrepresented in CS?believe are most effective for engaging their interest in CS learning? What pedagogical actions do CS teachers identify as most effective for engaging students? And what does this effective teaching look like in introductory CS classes enrolling majority students underrepresented in the field? Through a qualitative study following three different urban high school Exploring Computer Science classrooms over an entire school year (n = 70 students, 3 teachers; >105 hours of observation data; >50 interviews with students and teachers), key pedagogical practices that had greatest impact on youth?s interest and engagement learning CS included: 1) demystifying CS by showing its connections to everyday life; 2) addressing social issues impacting both CS and students? communities; and 3) valuing students? voices and perspectives in the CS classroom. This paper shares testimonies from students and teachers, as well as examples of these teaching practices in the classroom.
Our work is situated in research on Computer Science (CS) learning in informal learning environments and literature on the factors that influence girls to enter CS. In this paper, we outline design choices around the creation of a summer programming camp for middle school youth. In addition, we describe a near-peer mentoring model we used that was influenced by Bandura?s self-efficacy theory. The purpose of this paper, apart from promoting transparency of program design, was to evaluate the effectiveness of our camp design in terms of increasing youths? interest, self-efficacy beliefs, and perceptions of parental support. We found significant gains for all three of these concepts. Additionally, we make connections between our design choices (e.g. videos, peer support, mentor support) and the affective gains by thematically analyzing interview data concerning the outcomes found in our camps.
While demand for computer science and information technology jobs grows, the proportion of women entering computer science fields (CS) has declined. A critical barrier to women entering computing is the transition from high school to college. We examined factors predicting college persistence from data collected while women were in high school. Two competing models representing survey items as constructs were compared using Confirmatory Factor Analysis (CFA): the first model used Social Cognitive Career Theory which posits factors for interest, self-efficacy, perceived social supports and other affective and social constructs, the second organized by content sub-domains such as programming, inventing new applications and game design. The CFA analysis found the domain model to be a superior fit to the survey data. Using composite variables drawn from domain factors in Multinomial Regression models, we found that involvement in programming during high school was the best predictor of persistence in (both) CS and non-CS technology related majors three years later. Involvement with other sub-domains such as game design did not predict persistence, and perceived social supports also did not correlate with persistence.
As the societal demands for computer science professionals increase, computer science student enrollment keeps growing rapidly around the world. Computing education research plays a vital role in addressing both educational and societal challenges that emerge from the growth of computer science. As the result, the reliability of computing education research is of great importance. Reliability of a field can hardly be substantiated without replications. This study investigated the complete publication history of three major computing education conferences in the last decade (2009 - 2018), and found only 2.42% articles were replication studies. The results demonstrated the needs for more replication studies in computing education to improve its ability to shape both policy and practices.
In this paper, we inquire into how a teacher and students in a classroom write code together. In doing so, we treat the classroom situation not as an interaction of individual cognitive agents, but a phenomenon that is irreducibly social. We take as a theoretical basis of analysis Vygotskys genetic law of cultural development, which states that all higher-level individual mental functioning is historically preceded by and reproduces social relations between people. Using this principle, we reveal the social relations that develop in the classroom that regulate the way in which ideas are shared and code is produced for a particular coding problem. This offers a rule-regulated and dialogical model for writing code that is significantly different from the schema-based models posited in cognitive accounts of learning to program.
Brain-Computer Interface (BCI) hardware is becoming more affordable and accessible. However, there is limited work investigating ways to design software that broadens participation with BCI technology. In this article, we present a block-based programming environment designed to assist novice programmers with creating BCI applications. We also discuss learning barriers encountered by novice programmers developing neurofeedback applications. Our findings suggest that visual programming assists novice programmers with building basic BCI applications; however, students may experience understanding and learning barriers initially.