English
Related papers

Related papers: Teaching Programming and Design-by-Contract

200 papers

This article is about the author's experience with developing and teaching an introductory electrical engineering course for students of Faculty (department) of Information Technology of a Russian university. The curriculum of this…

Computers and Society · Computer Science 2011-07-20 Vladimir Vasilich Tregub

Introducing inner-city high school students to program design presents unique challenges. The typical assumptions of an introductory programming course, like students understand what variables and functions are, may not be safe. Therefore,…

Computers and Society · Computer Science 2020-08-28 Marco T. Morazán

Background: Programming skills are advantageous to navigate today's society, so it is important to teach them to students. However, failure rates for programming courses are high, and especially students who fall behind early in…

Computers and Society · Computer Science 2024-02-06 Belinda Schantong , Dominik Gorgosch , Janet Siegmund

Contract scheduling is a widely studied framework for designing real-time systems with interruptible capabilities. Previous work has showed that a prediction on the interruption time can help improve the performance of contract-based…

Data Structures and Algorithms · Computer Science 2024-04-22 Spyros Angelopoulos , Marcin Bienkowski , Christoph Dürr , Bertrand Simon

In systems engineering, accurately decomposing requirements is crucial for creating well-defined and manageable system components, particularly in safety-critical domains. Despite the critical need, rigorous, top-down methodologies for…

Systems and Control · Electrical Eng. & Systems 2025-05-15 Minghui Sun , Georgios Bakirtzis , Hassan Jafarzadeh , Cody Fleming

The integration of AI tools into programming education has become increasingly prevalent in recent years, transforming the way programming is taught and learned. This paper provides a review of the state-of-the-art AI tools available for…

Computers and Society · Computer Science 2025-08-19 Nikolaos Avouris , Kyriakos Sgarbas , George Caridakis , Christos Sintoris

Novice programmers frequently adopt a syntax-specific and test-case-driven approach, writing code first and adjusting until programs compile and test cases pass, rather than developing correct solutions through systematic reasoning. AI…

Software Engineering · Computer Science 2025-11-25 Vaani Goenka , Aalok Thakkar

Children learn though play. We introduce the analogous idea of learning programs through play. In this approach, a program induction system (the learner) is given a set of tasks and initial background knowledge. Before solving the tasks,…

Machine Learning · Computer Science 2019-05-21 Andrew Cropper

To improve the quality of programs we provide an approach to guidance in the process of program development. At the higher level the various activities and their dependencies to structure the process are identified. At the lower level,…

Software Engineering · Computer Science 2024-11-21 Harrie Passier , Lex Bijlsma , Ruurd Kuiper , Kees Huizing

We demonstrate that traits are a natural way to support correctness-by-construction (CbC) in an existing programming language in the presence of traditional post-hoc verification (PhV). With Correctness-by-Construction, programs are…

Programming Languages · Computer Science 2022-04-13 Tobias Runge , Alex Potanin , Thomas Thüm , Ina Schaefer

Machine learning has seen a vast increase of interest in recent years, along with an abundance of learning resources. While conventional lectures provide students with important information and knowledge, we also believe that additional…

Computers and Society · Computer Science 2021-07-30 Sebastian Raschka

Computer programming is undergoing a true transformation driven by powerful new tools for automatic source code generation based on large language models. This transformation is also manifesting in introductory programming courses at…

Computers and Society · Computer Science 2025-07-02 Clemente Rubio-Manzano , Jazna Meza , Rodolfo Fernandez-Santibanez , Christian Vidal-Castro

We introduce an inductive logic programming approach that combines classical divide-and-conquer search with modern constraint-driven search. Our anytime approach can learn optimal, recursive, and large programs and supports predicate…

Artificial Intelligence · Computer Science 2021-12-08 Andrew Cropper

Compiler design is a course that discusses ideas used in construction of programming language compilers. Students learn how a program written in high level programming language and designed for humans understanding is systematically…

Programming Languages · Computer Science 2016-11-02 Divya Kundra , Ashish Sureka

Correctness-by-Construction (CbC) is an incremental program construction process to construct functionally correct programs. The programs are constructed stepwise along with a specification that is inherently guaranteed to be satisfied. CbC…

Logic in Computer Science · Computer Science 2024-02-14 Tobias Runge , Tabea Bordis , Alex Potanin , Thomas Thüm , Ina Schaefer

This paper describes an approach to the methodology of answer set programming (ASP) that can facilitate the design of encodings that are easy to understand and provably correct. Under this approach, after appending a rule or a small group…

Artificial Intelligence · Computer Science 2019-08-08 Vladimir Lifschitz

Recently, user-centered methods have been proposed to improve the design of programming languages. In order to explore what benefits these methods might have for novice programming language designers, we taught a collection of user-centered…

Programming Languages · Computer Science 2020-11-17 Michael Coblenz , Ariel Davis , Megan Hofmann , Vivian Huang , Siyue Jin , Max Krieger , Kyle Liang , Brian Wei , Mengchen Sam Yong , Jonathan Aldrich

In computer programming languages, indentation formats program source code to improve readability. Programming languages make use of indentation to define program structure .Programmers use indentation to understand the structure of their…

Programming Languages · Computer Science 2013-11-14 Niranjan Kumar Parvatham

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

Prototypical Learning is based on the idea that there is a point (which we call prototype) around which the embeddings of a class are clustered. It has shown promising results in scenarios with little labeled data or to design explainable…

Machine Learning · Computer Science 2024-06-25 Antonio Almudévar , Théo Mariotte , Alfonso Ortega , Marie Tahon , Luis Vicente , Antonio Miguel , Eduardo Lleida
‹ Prev 1 2 3 10 Next ›