English
Related papers

Related papers: Design of Classes I

200 papers

Object-oriented programming languages such as Java and Objective C have become popular for implementing agent-based and other object-based simulations since objects in those languages can {\em reflect} (i.e. make runtime queries of an…

Programming Languages · Computer Science 2007-05-23 Duraid Madina , Russell K. Standish

Object-oriented programming (OOP) is widely used in the software industry and university introductory courses today. Following the structure of most textbooks, such courses frequently are organised starting with the concepts of imperative…

Software Engineering · Computer Science 2017-11-15 Erica Janke , Philipp Brune , Stefan Wagner

Software testing is a prime factor in software industry. Besides knowing the importance of testing, only limited time is allocated for teaching it. It will be more efficient if testing is taught simultaneously with programming foundations.…

Artificial Intelligence · Computer Science 2013-02-22 A. Anandaraj , P. Kalaivani , V. Rameshkumar

Background: Software project management activities help to introduce software process models in Software Engineering courses. However, these activities should be adequately aligned with the learning outcomes and support student's…

Software Engineering · Computer Science 2021-01-21 Javier Gonzalez-Huerta , Jefferson Seide Molleri , Aivars Šablis , Ehsan Zabardast

This paper introduces and explores a new programming paradigm, Model-based Programming, designed to address the challenges inherent in applying deep learning models to real-world applications. Despite recent significant successes of deep…

Machine Learning · Computer Science 2023-05-15 Meng Zheng

A simple dynamically-typed, (purely) object-oriented language is defined. A structural operational semantics as well as a Hoare-style program logic for reasoning about programs in the language in multiple notions of correctness are given.…

Programming Languages · Computer Science 2016-01-12 Björn Engelmann , Ernst-Rüdiger Olderog

This paper presents a study aiming to analyse the design strategies of experts in object-oriented programming. We report an experiment conducted with four experts. Each subject solved three problems. Our results show that three strategies…

Human-Computer Interaction · Computer Science 2016-08-14 Sophie Chatel , Françoise Détienne

Teachers face several challenges when presenting the fundamental concepts of programming in the classroom. Several tools are introduced to give a visual dimension to support the learning process. These tools rely on code blocks, easily…

Computers and Society · Computer Science 2019-11-22 Hussein Alrubaye , Stephanie Ludi , Mohamed Wiem Mkaouer

We show how to systematically implement an algorithm in any imperative or functional programming language. The method is based on the premise that it is easy to write down how an algorithm proceeds on a concrete input. This…

Software Engineering · Computer Science 2020-04-28 Maurice Chandoo

Learning to program could possibly be analogous to acquiring expertise in abstract mathematics, which may be boring or dull for a majority of students. Thus, among the countless options to approach learning coding [1-14], acquiring concepts…

Computers and Society · Computer Science 2019-03-14 Kailash Chandra , Shyamal Suhana Chandra

Most programming languages were designed before the age of web. This matters because the web changes many assumptions that typed functional language designers take for granted. For example, programs do not run in a closed world, but must…

Programming Languages · Computer Science 2015-12-08 Tomas Petricek , Don Syme , Zach Bray

Although object-orientation has been around for several decades, its key concept abstraction has not been exploited for proper application of object-orientation in other phases of software development than the implementation phase. We…

Software Engineering · Computer Science 2010-10-18 B. Diertens

Language transformations are algorithms that take a language specification in input, and return the language specification modified. Language transformations are useful for automatically adding features such as subtyping to programming…

Programming Languages · Computer Science 2021-08-25 Matteo Cimini , Benjamin Mourad

We present Choral, the first choreographic programming language based on mainstream abstractions. The key idea in Choral is a new notion of data type, which allows for expressing that data is distributed over different roles. We use this…

Programming Languages · Computer Science 2023-10-20 Saverio Giallorenzo , Fabrizio Montesi , Marco Peressotti

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

In this work, we show a methodology aimed to improve the quality of the assessment process for subjects related to basic programming. The method takes into account the relevance of the items and the students answers to follow different…

Computers and Society · Computer Science 2014-03-07 P. Molins-Ruano , C. González-Sacristán , F. Díez , P. Rodriguez , G. M. Sacha

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

In previous work we developed a framework of computational models for function and object execution. The models on an higher level of abstraction in this framework allow for concurrent execution of functions and objects. We show that the…

Software Engineering · Computer Science 2012-09-28 Bob Diertens

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

Due to their characteristics, millennials prefer learning-by-doing and social learning, such as project-based learning. However, software development projects require not only technical skills but also creativity; Design Thinking can serve…

Computers and Society · Computer Science 2018-03-29 Yen Dieu Pham , Davide Fucci , Walid Maalej