English
Related papers

Related papers: Teaching Programming and Design-by-Contract

200 papers

Developing the final summative assessment of a course at the start of curriculum development is an implementation of "backward design," whereby learning objectives are identified first and the curriculum is engineered end-to-beginning to…

Physics Education · Physics 2022-10-06 Kathy L. Cooksey , Patrik Jonsson

The authors describe their approach to teaching a course on finite fields and combinatorial applications, including block designs and error-correcting codes, using a hybrid of lectures and active learning. Under the discussed classroom…

History and Overview · Mathematics 2020-02-07 Christopher O'Neill , Lily Silverstein

We describe an inductive logic programming (ILP) approach called learning from failures. In this approach, an ILP system (the learner) decomposes the learning problem into three separate stages: generate, test, and constrain. In the…

Artificial Intelligence · Computer Science 2020-11-26 Andrew Cropper , Rolf Morel

In many real-life optimisation problems, there are multiple interacting components in a solution. For example, different components might specify assignments to different kinds of resource. Often, each component is associated with different…

Data Structures and Algorithms · Computer Science 2014-04-10 Edmund K. Burke , Jakub Marecek , Andrew J. Parkes , Hana Rudova

Learning to code, and more broadly, learning about computer science is a growing field of activity and research. Under the label of computational thinking, computational concepts are increasingly used as cognitive tools in many subject…

Computers and Society · Computer Science 2020-05-11 Hannah M. Dee , Jordi Freixenet , Xavier Cufi , Eduard Muntaner Perich , Valentina Poggioni , Marius Marian , Alfredo Milani

Competitive programming (CP) has been increasingly integrated into computer science curricula worldwide due to its efficacy in enhancing students' algorithmic reasoning and problem-solving skills. However, existing CP curriculum designs…

Computers and Society · Computer Science 2025-04-02 Zhongtang Luo

Curriculum learning is a training method in which an agent is first trained on a curriculum of relatively simple tasks related to a target task in an effort to shorten the time required to train on the target task. Autonomous curriculum…

Machine Learning · Computer Science 2025-03-03 Muhammed Yusuf Satici , Jianxun Wang , David L. Roberts

Many aspects of human learning have been proposed as a process of constructing mental programs: from acquiring symbolic number representations to intuitive theories about the world. In parallel, there is a long-tradition of using…

Human-Computer Interaction · Computer Science 2024-05-12 Hanqi Zhou , David G. Nagy , Charley M. Wu

How can instructors facilitate spreading out the work in a software engineering or computer science capstone course across time and among team members? Currently teams often compromise the quality of their learning experience by frantically…

Software Engineering · Computer Science 2024-10-17 Spencer Smith , Christopher William Schankula , Lucas Dutton , Christopher Kumar Anand

This work is meant to be a step towards the formal definition of the notion of algorithm, in the sense of an equivalence class of programs working "in a similar way". But instead of defining equivalence transformations directly on programs,…

Logic in Computer Science · Computer Science 2017-09-26 Fritz Müller

Compositionality is a key property for dealing with complexity, which has been studied from many points of view in diverse fields. Particularly, the composition of individual computations (or programs) has been widely studied almost since…

Logic in Computer Science · Computer Science 2022-06-06 Damian Arellanes

To broaden participation, competitive programming contests may include beginner-level problems that do not require knowledge of advanced Computer Science concepts (e.g., algorithms and data structures). However, since most participants have…

Computers and Society · Computer Science 2024-05-27 Mrigank Pawagi , Viraj Kumar

Learning functional programming requires learning a substitution-based computational model. While substitution should be a familiar concept from high-school algebra, students often have difficulty applying it to new settings, such as…

Programming Languages · Computer Science 2025-08-06 Pedro Vasconcelos

We develop a first line of attack for solving programming competition-style problems from input-output examples using deep learning. The approach is to train a neural network to predict properties of the program that generated the outputs…

Machine Learning · Computer Science 2017-03-09 Matej Balog , Alexander L. Gaunt , Marc Brockschmidt , Sebastian Nowozin , Daniel Tarlow

Programs are a kind of communication to both computers and people, hence as students are trained to write programs they need to learn to write well-designed, readable code rather than code that simply functions correctly. The difficulty in…

Computers and Society · Computer Science 2022-11-08 J. Walker Orr

Seven years ago (2016), we began integrating Robotics into our Computer Science curriculum. This paper explores the mission, initial goals and objectives, specific choices we made along the way, and why and outcomes. Of course, we were not…

Robotics · Computer Science 2024-04-30 R. Pito Salas

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

This article introduces the concept of optimization learning, a methodology to design optimization proxies that learn the input/output mapping of parametric optimization problems. These optimization proxies are trustworthy by design: they…

Optimization and Control · Mathematics 2025-01-08 Pascal Van Hentenryck

If we want mathematics education to be valuable to everybody, including those who do not pursue mathematics-related careers, we need to use mathematics as a training ground for certain ways of thinking. This dissertation focuses on one…

History and Overview · Mathematics 2021-08-18 Madhav Kaushish

Undergraduate programs in science and engineering include at least one course in basic programming, but seldom presented in a contextualized format, where computing is a tool for thinking and learning in the discipline. We have created a…

Computers and Society · Computer Science 2020-06-26 Lorena A. Barba