Motivation. Many people interested in learning a programming language choose online courses to develop their skills. The concept of variables is one of the most foundational ones to learn, but can... Show moreMotivation. Many people interested in learning a programming language choose online courses to develop their skills. The concept of variables is one of the most foundational ones to learn, but can be hard to grasp for novices. Variables are researched, but to our knowledge, few empirical observations on how the concept is taught in practice exist. Objective. We investigate how the concept of variables, and the respective naming practices, are taught in introductory Massive Open Online Courses (MOOCs) teaching programming languages. Methods. We gathered qualitative data related to variables and their naming from 17 MOOCs. Collected data include connections to other programming concepts, formal definitions, used analogies, and presented names. Results. We found that variables are often taught in close connection to data types, expressions, and program execution and are often explained using the 'variable as a box' analogy. The latter finding represents a stronger focus on 'storing values', than on naming, memory, and flexibility. Furthermore, MOOCs are inconsistent when teaching naming practices. Conclusions. We recommend teachers and researchers to pay deliberate attention to the definitions and analogies used to explain the concept of variables as well as to naming practices, and in particular to variable name meaning. Show less
Werf, V. van der.; Aivaloglou, E.; Hermans, F.F.J.; Specht, M.M. 2022
Motivation. Code reading skills are important for comprehension. Explain-in-plain-English tasks (EiPE) are one type of reading exercises that show promising results on the ability of such exercises... Show moreMotivation. Code reading skills are important for comprehension. Explain-in-plain-English tasks (EiPE) are one type of reading exercises that show promising results on the ability of such exercises to differentiate between particular levels of code comprehension. Code reading/explaining skills also correlate with code writing skills. Objective. This paper aims to provide insight in what novice students express in their explanations after reading a piece of code, and what these insights can tell us about how the students comprehend code. Method. We performed an exploratory analysis on four reading assignments extracted from a university-level beginners course in Python programming. We paid specific attention to 1) the core focus of student answers, 2) elements of the code that are often included or omitted, and 3) errors and misconceptions students may present. Results. We found that students prioritize the output that is generated by print-statements in a program. This is indication that these statements may have the ability to aid students make sense of code. Furthermore, students appear to be selective about which elements they find important in their explanation. Assigning variables and asking input was less often included, whereas control-flow elements, print statements and function definitions were more often included. Finally, students were easily confused or distracted by lines of code that seemed to interfere with the newly learned programming constructs. Also domain knowledge (outside of programming) both positively and negatively interfered with reading and interpreting the code. Discussion. Our results pave the way towards a better understanding of how students understand code by reading and of how an exercise containing self-explanations after reading, as a teaching instrument, may be useful to both teachers and students in programming education. Show less
SQL is the most commonly taught database query language. While previous research has investigated the errors made by novices during SQL query formulation, the underlying causes for these errors... Show moreSQL is the most commonly taught database query language. While previous research has investigated the errors made by novices during SQL query formulation, the underlying causes for these errors have remained unexplored. Understanding the basic misconceptions held by novices which lead to these errors would help improve how we teach query languages to our students. In this paper we aim to identify the misconceptions that might be the causes of documented SQL errors that novices make. To this end, we conducted a qualitative think-aloud study to gather information on the thinking process of university students while solving query formulation problems. With the queries in hand, we analyzed the underlying causes for the errors made by our participants. In this paper we present the identified SQL misconceptions organized into four top-level categories: misconceptions based in previous course knowledge, generalization-based misconceptions, language-based misconceptions, and misconceptions due to an incomplete or incorrect mental model. A deep exploration of misconceptions can uncover gaps in instruction. By drawing attention to these, we aim to improve SQL education. Show less
Motivation Only 27% of computer and mathematical scientists in the United States and 18% of IT specialists in Europe are women. The under-representation of women in the field of Computer Science is... Show moreMotivation Only 27% of computer and mathematical scientists in the United States and 18% of IT specialists in Europe are women. The under-representation of women in the field of Computer Science is, among other things, influenced by stereotypes of computer scientists. These stereotypes include being male, asocial and having an (obsessive) interest in computers. Even though stereotypical beliefs can develop at an early age, research on children’s stereotypes of computer scientists is sparse and inconclusive. Objectives Stereotypes we hold can be implicit or unconscious beliefs, or explicit or conscious beliefs. In this study, we focus on children’s implicit and explicit stereotypes regarding computer scientists’ gender, social skills and interests. We also study whether explaining what a computer scientist does affects these stereotypes. Method We study the implicit stereotypes through the reduced-length Child Implicit Association Test and the explicit stereotypes through self-reported absolute and relative Likert scale questions. We gathered data on 564 children between the age of 7 and 18 who were visiting a science museum. The participants in the experiment group (n=352) watch a video of either a man or woman explaining what a computer scientist does at the start of the study. Results We found weak implicit stereotypical beliefs on computer scientists’ social skills and moderate implicit stereotypical beliefs on computer scientists’ interests. We also found explicit stereotypes on computer scientists’ gender, social skills and interests. Measuring the effects of the intervention, we found significant differences between the control and experiment group in their explicit stereotypes on computer scientists’ social skills. Discussion The amount of scientific work on children’s stereotypes regarding computer scientists is still limited. Applying the reduced-length Child Implicit Association Test to measure children’s stereotypes on computer scientists has, to our knowledge, not been done before. Understanding children’s stereotypes and how to tackle them contributes to closing the gender gap in Computer Science. Show less
The Structured Query Language (SQL) is an established language for data manipulation in relational databases. It is widely used in industry, and therefore part of the typical Computer Science... Show moreThe Structured Query Language (SQL) is an established language for data manipulation in relational databases. It is widely used in industry, and therefore part of the typical Computer Science curriculum. From the large amounts of mistakes higher education students make while learning and using SQL, we know that this language is not easy to learn. Various researchers have examined the types of mistakes SQL novices make, and recently, the first step towards understanding the underlying reasons for these mistakes has been made. In this poster abstract, we propose a study to examine the prevalence of these origins, also called misconceptions. We hope the Computer Science Education community will help us reflect on and strengthen our methodology, and ultimately, our findings. Show less