English
Related papers

Related papers: Teaching Programming to Novices: A Large-scale Ana…

200 papers

Providing feedback on programming assignments manually is a tedious, error prone, and time-consuming task. In this paper, we motivate and address the problem of generating feedback on performance aspects in introductory programming…

Programming Languages · Computer Science 2014-09-18 Sumit Gulwani , Ivan Radiček , Florian Zuleger

Software Engineering as an industry is highly diverse in terms of development methods and practices. Practitioners employ a myriad of methods and tend to further tailor them by e.g. omitting some practices or rules. This diversity in…

Software Engineering · Computer Science 2018-09-25 Kai-Kristian Kemell , Anh Nguyen-Duc , Xiaofeng Wang , Juhanki Risku , Pekka Abrahamsson

Artificial Intelligence (AI)-assisted coding environments operate within finite context windows of 128,000-1,000,000 tokens (as of early 2026), yet existing tools offer limited support for monitoring and optimizing token consumption. As…

Software Engineering · Computer Science 2026-04-10 Vahid Farajijobehdar , İlknur Köseoğlu Sarı , Nazım Kemal Üre , Engin Zeydan

The increasing prevalence of mobile apps has led to a proliferation of resource usage scenarios in which they are deployed. This motivates the need to specialize mobile apps based on diverse and varying preferences of users. We propose a…

Software Engineering · Computer Science 2019-02-27 Brian Heath , Neelay Velingker , Osbert Bastani , Mayur Naik

We have designed and developed a simple, visual, and narrative K-12 cybersecurity curriculum leveraging the Scratch programming platform to demonstrate and teach fundamental cybersecurity concepts such as confidentiality, integrity…

Cryptography and Security · Computer Science 2023-02-24 Pranathi Rayavaram , Sreekriti Sista , Ashwin Jagadeesha , Justin Marwad , Nathan Percival , Sashank Narain , Claire Seungeun Lee

Mobile software apps ("apps") are one of the prevailing digital technologies that our modern life heavily depends on. A key issue in the development of apps is how to design gender-inclusive apps. Apps that do not consider gender inclusion,…

Software Engineering · Computer Science 2023-03-20 Mojtaba Shahin , Mansooreh Zahedi , Hourieh Khalajzadeh , Ali Rezaei Nasab

Coding is a fundamental skill required in the engineering discipline, and much work exists exploring better ways of teaching coding in the higher education context. In particular, Code Snippets (CSs) are approved to be an effective way of…

Programming Languages · Computer Science 2025-06-03 Joshua Akingbade , Jianhua Yang , Mir Seyedebrahimi

Programmers often search for usage examples for API methods. A tool that could generate realistic, idiomatic, and contextual usage examples for one or more APIs would be immensely beneficial to developers. Such a tool would relieve the need…

Software Engineering · Computer Science 2023-12-27 Manish Shetty , Koushik Sen , Ion Stoica

Computational thinking in physics has many different forms, definitions, and implementations depending on the level of physics, or the institution it is presented in. In order to better integrate computational thinking in introductory…

Physics Education · Physics 2023-08-08 Justin Gambrell , Eric Brewe

Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To…

Artificial Intelligence · Computer Science 2023-03-30 Ahana Ghosh , Sebastian Tschiatschek , Sam Devlin , Adish Singla

Exploratory programming involves open-ended tasks. To evaluate their progress on these, programmers require frequent feedback and means to tell if the feedback they observe is bringing them in the right direction. Collecting, comparing, and…

Programming Languages · Computer Science 2025-03-03 Tom Beckmann , Joana Bergsiek , Eva Krebs , Toni Mattis , Stefan Ramson , Martin C. Rinard , Robert Hirschfeld

While many students now interact with web apps across a variety of smart devices, the vast majority of our Nifty Assignments still present traditional user interfaces such as console input/output and desktop GUI. In this tutorial session,…

Computers and Society · Computer Science 2020-11-16 Kevin Lin , Sumant Guha , Joe Spaniac , Andy Zheng

When teaching Programming and Software Engineering in Bachelor's Degree programs, the emphasis on creating functional software projects often overshadows the focus on software quality, a trend that aligns with ACM curricula recommendations.…

Instructors have limited time and resources to help struggling students, and these resources should be directed to the students who most need them. To address this, researchers have constructed models that can predict students' final course…

Machine Learning · Computer Science 2021-02-12 Ge Gao , Samiha Marwan , Thomas W. Price

Within PCB design, the reuse of circuit design blocks is a major preventing factor inhibiting beginners from reusing designs made by experts, a common practice in software but non-existent in circuit design at large. Despite efforts to…

Human-Computer Interaction · Computer Science 2025-09-19 Jorge Garza , Steven Swanson

Timely and high-quality feedback is essential for effective learning in programming courses; yet, providing such support at scale remains a challenge. While AI-based systems offer scalable and immediate help, their responses can…

Computers and Society · Computer Science 2026-01-27 Tung Phung , Heeryung Choi , Mengyan Wu , Christopher Brooks , Sumit Gulwani , Adish Singla

Given the importance of understanding the interaction between mobile devices and their users, app usage patterns have been studied in various contexts. However, prior work has not fully investigated longitudinal changes to app usage…

Human-Computer Interaction · Computer Science 2020-01-01 Dohyun Kim , Joshua Gluck , Malcolm Hall , Yuvraj Agarwal

The next generation of jobs will be characterized by an increased demand for people with computational and problem solving skills. In Austria, computer science topics are underrepresented in school curricula hence teaching time for these…

Computers and Society · Computer Science 2018-09-03 Bernadette Spieler , Christian Schindler , Wolfgang Slany , Olena Mashkina

Discovering causal regularities and applying them to build functional systems--the discovery-to-application loop--is a hallmark of general intelligence, yet evaluating this capacity has been hindered by the vast complexity gap between…

API suggestion is a critical task in modern software development, assisting programmers by predicting and recommending third-party APIs based on the current context. Recent advancements in large code models (LCMs) have shown promise in the…

Software Engineering · Computer Science 2024-09-23 Chaozheng Wang , Shuzheng Gao , Cuiyun Gao , Wenxuan Wang , Chun Yong Chong , Shan Gao , Michael R. Lyu