English
Related papers

Related papers: Teaching Program Decomposition in CS1: A Conceptua…

200 papers

Problem decomposition--the ability to break down a large task into smaller, well-defined components--is a critical skill for effectively designing and creating large programs, but it is often not included in introductory computer science…

Computers and Society · Computer Science 2025-11-11 Samvrit Srinath , Annapurna Vadaparty , David H. Smith , Leo Porter , Daniel Zingaro

Decomposition, statically dividing a program into multiple units, is a common programming technique for realizing parallelism and refining programs. The decomposition of a sequential program into components is tedious, due to the…

Software Engineering · Computer Science 2020-09-09 Sabah Al-Fedaghi

Design skills are increasingly recognized as a core competency for software professionals. Unfortunately, these skills are difficult to teach because design requires freedom and open-ended thinking, but new designers require a structured…

Computers and Society · Computer Science 2024-10-17 Christopher William Schankula , Habib Ghaffari Hadigheh , Spencer Smith , Christopher Kumar Anand

Decomposition and abstraction is an essential component of computational thinking, yet it is not always emphasized in introductory programming courses. In addition, as generative AI further reduces the focus on syntax and increases the…

Software Engineering · Computer Science 2025-12-09 Georgiana Haldeman , Peter Ohmann , Paul Denny

Curriculum learning is a class of training strategies that organizes the data being exposed to a model by difficulty, gradually from simpler to more complex examples. This research explores a reverse curriculum generation approach that…

Machine Learning · Computer Science 2026-02-25 Wanru Zhao , Lucas Caccia , Zhengyan Shi , Minseon Kim , Weijia Xu , Alessandro Sordoni

Decomposition is a fundamental skill in algorithmic programming, requiring learners to break down complex problems into smaller, manageable parts. However, current self-study methods, such as browsing reference solutions or using LLM…

Human-Computer Interaction · Computer Science 2025-02-27 Shuai Ma , Junling Wang , Yuanhao Zhang , Xiaojuan Ma , April Yi Wang

This paper addresses the incorporation of problem decomposition skills as an important component of computational thinking (CT) in K-12 computer science (CS) education. Despite the growing integration of CS in schools, there is a lack of…

Human-Computer Interaction · Computer Science 2024-11-25 Dorit Assaf , Giorgia Adorni , Elia Lutz , Lucio Negrini , Alberto Piatti , Francesco Mondada , Francesca Mangili , Luca Maria Gambardella

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

Code language models have emerged as useful tools for various programming tasks, yet they often struggle when it comes to complex ones. In this paper, we explore the potential of curriculum learning in enhancing the performance of these…

Machine Learning · Computer Science 2024-07-16 Marwa Naïr , Kamel Yamani , Lynda Said Lhadj , Riyadh Baghdadi

Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative studies hinted at how decomposing change sets into multiple yet internally coherent ones would improve the reviewing process. So far,…

Software Engineering · Computer Science 2020-01-22 Marco di Biase , Magiel Bruntink , Arie van Deursen , Alberto Bacchelli

Students introduced to programming using a design-based approach and a functional programming language become familiar with first-class functions. They rarely, however, connect first-class functions to objects and object-oriented program…

Computers and Society · Computer Science 2022-08-15 Marco T. Morazán

Best practices in programming need to be emphasized in a CS1 course as bad student habits persist if not reinforced well. The C++ programming language, although a relatively old language, has been regularly updated with new versions since…

Computers and Society · Computer Science 2023-11-15 Ryan E. Dougherty

Recent advances in visual generative models have enabled high-fidelity image editing guided by human instructions. However, these models often struggle with complex instructions involving combinatorial editing operations or inter-step…

Computer Vision and Pattern Recognition · Computer Science 2026-05-12 Zilai Zeng , Mingdeng Cao , Zijie Li , Xiaochen Lian , Yichun Shi , Peihao Zhu , Chen Sun , Peng Wang

When writing programs, people have the ability to tackle a new complex task by decomposing it into smaller and more familiar subtasks. While it is difficult to measure whether neural program synthesis methods have similar capabilities, what…

Machine Learning · Computer Science 2023-10-31 Kensen Shi , Joey Hong , Manzil Zaheer , Pengcheng Yin , Charles Sutton

Computer science's increased recognition as a prominent field of study has attracted students with diverse academic backgrounds. This has significantly increased the already high failure rates in introductory courses. To address this…

Computers and Society · Computer Science 2025-10-28 Eric Hics , Vinhthuy Phan , Kriangsiri Malasri

The ability to read, use and develop code efficiently and successfully is a key ingredient in modern particle physics. We report the experience of a training program, identified as "Advanced Programming Concepts", that introduces software…

Physics Education · Physics 2016-01-20 Stefan Kluth , Maria Grazia Pia , Thomas Schoerner-Sadenius , Peter Steinbach

The concept of decomposition in computer science and engineering is considered a fundamental component of computational thinking and is prevalent in design of algorithms, software construction, hardware design, and more. We propose a simple…

Logic in Computer Science · Computer Science 2023-06-22 Dror Fried , Axel Legay , Joël Ouaknine , Moshe Y. Vardi

Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption, and more generally to optimize a given program. Essentially, it consists of a sequence of syntactic program manipulations which…

Programming Languages · Computer Science 2020-02-19 Maurizio Gabbrielli , Maria Chiara Meo , Paolo Tacchella , Herbert Wiklicky

Successful programs are written to be maintained. One aspect to this is that programmers order the components in the code files in a particular way. This is part of programming style. While the conventions for ordering are sometimes given…

Software Engineering · Computer Science 2017-07-24 Steven P. Reiss , Qi Xin

We present an efficient task and motion replanning approach for sequential multi-object manipulation in dynamic environments. Conventional Task And Motion Planning (TAMP) solvers experience an exponential increase in planning time as the…

Robotics · Computer Science 2026-05-20 Yan Zhang , Teng Xue , Amirreza Razmjoo , Sylvain Calinon
‹ Prev 1 2 3 10 Next ›