- Software Engineering Research
- Software Engineering Techniques and Practices
- Teaching and Learning Programming
- Open Source Software Innovations
- Gender and Technology in Education
- Digital Economy and Work Transformation
- Advanced Malware Detection Techniques
- Educational Games and Gamification
- Software Testing and Debugging Techniques
- Machine Learning and Data Classification
- Computational Physics and Python Applications
- Scientific Computing and Data Management
- Parallel Computing and Optimization Techniques
- Online Learning and Analytics
University of California, Berkeley
2020-2024
Berkeley College
2021
New York University
2012
Learning to recognize and apply programming patterns — reusable abstractions of code is critical becoming a proficient computer scientist. However, many introductory Computer Science courses do not teach patterns, in part because teaching these concepts requires significant curriculum changes. As an alternative, we explore how novel user interface for practicing coding Faded Parsons Problems can support students learning patterns. We ran classroom-based study with 237 which found that...
Computational notebooks, which seamlessly interleave code with results, have become a popular tool for data scientists due to the iterative nature of exploratory tasks. However, notebooks provide single execution state users manipulate through creating and manipulating variables. When exploring alternatives, must carefully create many-step manipulations in visually distant cells.
High level productivity languages such as Python or Matlab enable the use of computational resources by nonexpert programmers. However, these often sacrifice program speed for ease use.This paper proposes Parakeet, a library which provides just-in-time (JIT) parallel accelerator Python. Parakeet bridges gap between usability and code written in efficiency C++ CUDA. accelerates data-parallel sections that standard NumPy scientific computing library. JIT compiles efficient versions functions...
Introductory programming classes teach students to program using worked examples, code tracing, and writing exercises. Parsons Problems are an educational innovation in which unscramble provided lines of code, as a step towards bridging the gap between reading code. Though have been found effective, there is some evidence that can use syntactic heuristics help them solve these problems without fully understanding solution.. To address this limitation, we introduce Faded Problems, variation...
Abstract Context Women have historically been underrepresented in Software Engineering, due part to the stereotyped assumption that women are less technically competent than men. Pair programming is both widely used industry and has shown increase student interest particularly among women; but if those same gender biases also present pair programming, its potential for attracting field could be thwarted. Objective We aim explore effects of bias programming. Specifically, a remote setting...
We propose a new exercise format for an upper-division software engineering course. The exercises scaffold the gap between "box and arrows" representation of complex architecture nuts-and-bolts realization that in code. A qualitative study with 12 computer science students explored effectiveness these as teaching tool opportunities to improve them. All participants desire be incorporated into their course, self-rating educational confidence-boosting, suggesting types will pave way more...
poster Share on Exploring the Impact of Gender Bias Pair Programming Authors: Aslihan Akalin UC Berkeley, USA USAView Profile , Nathaniel Weinman Katherine Stasaski Armando Fox Authors Info & Claims ICER 2021: Proceedings 17th ACM Conference International Computing Education ResearchAugust 2021 Pages 435–437https://doi.org/10.1145/3446871.3469790Online:17 August 2021Publication History 0citation80DownloadsMetricsTotal Citations0Total Downloads80Last 12 Months80Last 6 weeks16 Get Citation...
Context. Pair programming (PP) has been found to increase student interest in Computer Science, particularly so for women, and would therefore appear be a way help remedy their under-representation, which could partially motivated by gender stereotypes applied software engineers, assuming that men perform better than women peers. If this same bias is present pair programming, it work against the goal of improving balance. Objective. In remote setting students cannot directly observe peers,...
Context. Software Engineering (SE) has low female representation due to gender bias that men are better at programming. Pair programming (PP) is common in industry and can increase student interest SE, especially women; but if affects PP, it may discourage women from joining the field. Objective. We explore PP. In a remote setting where students cannot see their peers' gender, we study how perceived productivity, technical competency collaboration/interaction behaviors of SE vary by partner....
Parsons Problems, in which students unscramble provided lines of code, are an exciting innovation for teaching introductory Computer Science. Prior work has shown that can learn more efficiently by solving Problems compared to writing code and effectively worked examples. Though have been found effective, there is some evidence use syntactic heuristics help them solve these problems without full understanding, confirmed be mature CS1 our pilot study. To address this limitation, we propose...