31 research outputs found
Exploring the prevalence of SQL misconceptions: a study design
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 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.Algorithms and the Foundations of Software technolog
Identifying SQL misconceptions of novices: findings from a think-aloud study
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 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.Algorithms and the Foundations of Software technolog
Children’s implicit and explicit stereotypes on the gender, social skills, and interests of a computer scientist
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, 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.Algorithms and the Foundations of Software technolog
What does this Python code do?: An exploratory analysis of novice students’ code explanations
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 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.Computer Systems, Imagery and Medi
Do Code Smells Hamper Novice Programming?
Recently, block-based programming languages like Alice, Scratch and Blockly have become popular tools for programming education. There is substantial research showing that block-based languages are suitable for early programming education. But can block-based programs be smelly too? And does that matter to learners? In this paper we explore the code smells metaphor in the context of block-based programming language Scratch. We conduct a controlled experiment with 61 novice Scratch programmers, in which we divided the novices into three groups. One third receive a non-smelly program, while the other groups receive a program suffering from the Duplication or the Long Method smell respectively. All subjects then perform the same comprehension tasks on their program, after which we measure their time and correctness. The results of the experiment show that code smell indeed influence performance: subjects working on the program exhibiting code smells perform significantly worse, but the smells did not affect the time subjects needed. Investigating different types of tasks in more detail, we find that Long Method mainly decreases system understanding, while Duplication decreases the ease with which subjects modify Scratch programs.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc
Parsing Excel formulas: A grammar and its application on 4 large datasets
FWN – Publicaties zonder aanstelling Universiteit Leide
To Be or Not to Be a Teacher?:Exploring CS Students’ Perceptions of a Teaching Career
Algorithms and the Foundations of Software technolog
An Empirical Study of Students’ Perceptions on the Setup and Grading of Group Programming Assignments
Courses in computer science curricula often involve group programming assignments. Instructors are required to take several decisions on assignment setup and monitoring, team formation policies, and grading systems. Group programming projects provide unique monitoring opportunities due to the availability of both product and process data, as well as challenges in team composition, with students of varying levels of prior programming experience. To gain insights into the experiences and perceptions of students about the assignment setup and grading policies in group programming projects, we interviewed 20 computer science students from four universities. The thematic analysis highlighted factors in group composition that are considered important, as well as advantages and disadvantages of the self-selection of the teams. It also indicated three grading strategies experienced by the students, namely, being assigned the same group grade, individual grades distributed by the instructor, and grade distribution determined by the team, with perceptions about them varying greatly. Several practices for monitoring team contributions were identified. Checking the source code repositories was considered useful in recognizing slacking members, but automated metrics are not always representative of the work distribution. The analysis also uncovered student perceptions on the grading factors for programming assignments, including coding efficiency and skill.Algorithms and the Foundations of Software technolog
(How) should variables and their naming be taught in novice programming education?
Computer Systems, Imagery and Medi