Designing programming languages for the analyzability of pointer data structures

1993 ◽  
Vol 19 (2) ◽  
pp. 119-134 ◽  
Author(s):  
Laurie J Hendren ◽  
Guang R Gao
1985 ◽  
Vol 29 (5) ◽  
pp. 485-488
Author(s):  
Susan C. Hoffman

undergraduate university curriculums in computer technology are structured to provide students with a maximum exposure to programming languages, data structures, and elements of system design. Current textbooks fail to provide adequate discussions and examples of programs which demonstrate good human factors. The purpose of this study was to determine if concepts and techniques for designing human computer interfaces can be integrated within the existing courses in the undergraduate curriculum in computer technology. A class in applications programming using Pascal was given a long-term assignment to design an interactive program for an untrained user. This assignment was then repeated following exposure to human factors guidelines. The class showed significant improvements in the design of the user interface.


Author(s):  
Kamil Gut ◽  
Maria Skublewska-Paszkowska ◽  
Edyta Łukasik ◽  
Jakub Smołka

In 2014, Apple unveiled a completely new programming language for the iOS and OS X platforms. Swift was presented as a modern programming language, such as: safe, easy to learn and easy to use. This article presents the performance comparison between the Swift and Objective-C languages. For the purpose of the research, two applications were developed, one in each language, implementing sorting algorithms and data structures such as arrays, dictionaries and sets.


2021 ◽  
Author(s):  
◽  
David Friggens

<p>The abstract mathematical structures known as coalgebras are of increasing interest in computer science for their use in modelling certain types of data structures and programs. Traditional algebraic methods describe objects in terms of their construction, whilst coalgebraic methods describe objects in terms of their decomposition, or observational behaviour. The latter techniques are particularly useful for modelling infinite data structures and providing semantics for object-oriented programming languages, such as Java. There have been many different logics developed for reasoning about coalgebras of particular functors, most involving modal logic. We define a modal logic for coalgebras of polynomial functors, extending Rößiger’s logic [33], whose proof theory was limited to using finite constant sets, by adding an operator from Goldblatt [11]. From the semantics we define a canonical coalgebra that provides a natural construction of a final coalgebra for the relevant functor. We then give an infinitary axiomatization and syntactic proof relation that is sound and complete for functors constructed from countable constant sets.</p>


2021 ◽  
Vol 10 (34) ◽  
Author(s):  
I.V ABRAMOVA ◽  
◽  
T.V RICHTER ◽  

The presented article is devoted to the formation of professional competencies in future programmers. The relevance of the research is based on the fact that information technologies are used in all spheres of life of modern society, therefore, specialists who can develop and code algorithms for working with information are in great demand. Algorithms form the basis of any information protection process, labor efficiency calculations, therefore it becomes important to form competencies in future IT specialists related to the ability to program using various programming languages and methods, using the main types and data structures from the everyday practice of programmers. As indicators of the effectiveness of methods for the formation of professional competencies, there are competencies: knowledge of modern trends in the development of tools and software; the presence of theoretical knowledge and practical skills that allow you to build an algorithm, analyze its work with different input data and implement it using modern programming languages; the ability to use high-level PL and professional programming systems, tools for solving professional-applied problems in the information sphere of the enterprise. The article deals with traditional and developed by the author methods of teaching programming


1997 ◽  
Vol 7 (5) ◽  
pp. 487-513 ◽  
Author(s):  
MELISSA E. O'NEILL ◽  
F. WARREN BURTON

Arrays are probably the most widely used data structure in imperative programming languages, yet functional languages typically only support arrays in a limited manner, or prohibit them entirely. This is not too surprising, since most other mutable data structures, such as trees, have elegant immutable analogues in the functional world, whereas arrays do not. Previous attempts at addressing the problem have suffered from one of three weaknesses, either that they don't support arrays as a persistent data structure (unlike the functional analogues of other imperative data structures), or that the range of operations is too restrictive to support some common array algorithms efficiently, or that they have performance problems. Our technique provides arrays as a true functional analogue of imperative arrays with the properties that functional programmers have come to expect from their data structures. To efficiently support array algorithms from the imperative world, we provide O(1) operations for single-threaded array use. Fully persistent array use can also be provided at O(1) amortized cost, provided that the algorithm satisfies a simple requirement as to uniformity of access. For those algorithms which do not access the array uniformly or single-threadedly, array reads or updates take at most O(log n) amortized time, where n is the size of the array. Experimental results indicate that the overheads of our technique are acceptable in practice for many applications.


2016 ◽  
Vol 26 (5) ◽  
pp. 588-591 ◽  
Author(s):  
Alexander Q. Susko ◽  
Zachary T. Brym

We present the format for a workshop on introductory computer programming, which was held at the 2015 American Society for Horticultural Science (ASHS) Annual Conference in New Orleans, LA. The main workshop objective was to familiarize attendees with basic computer programming, including data structures, data management, and data analysis. The workshop used the general programming language R, though the concepts and principles presented are transferable across programming languages. Given the increased importance of statistical analysis in the agricultural sciences, the workshop was well attended. Participants appreciated the opportunity to improve their computational literacy and supported follow-up workshops like this at future ASHS events. We have released the presentation and the companion R script online.


2012 ◽  
Vol 433-440 ◽  
pp. 3297-3301
Author(s):  
V. Manjula

This paper presents a topic on Graph theory and its application to data Structures which I consider basic and useful to students in APPLIED MATHEMATICS and ENGINEERING.This paper gives an elementary introduction of Graph theory and its application to data structures. Elements of Graph theory are indispensable in almost all computer Science areas .It can be used in Some areas such as syntactic analysis, fault detection, diagnosis in computers and minimal path problems. The computer representation and manipulation of graph are also discussed so that certain algorithms can be included .A major theme of this paper is to study Graph theory and its Application to data structures Furthermore I hope the students not only learn the course but also develop their analogy perceive, formulate and to solve mathematical programs Thus Graphs especially trees, binary trees are used widely in the representation of data structures this course one can develop mathematical maturity, ability to understand and create mathematical argumentsMethod of derivation is procedure given in the text books with necessary formulae and their application . Concepts and notations from discrete mathematics are useful in studying and describing objects and problems in branches of computer science, such as computer algorithms, programming languages.


1996 ◽  
Vol 3 (56) ◽  
Author(s):  
Zine-El-Abidine Benaissa ◽  
Pierre Lescanne ◽  
Kristoffer H. Rose

<p>We present the lambda sigma^a_w calculus, a formal synthesis of the concepts of<br />sharing and explicit substitution for weak reduction. We show how<br />lambda sigma^a_w can be used as a foundation of implementations of functional<br />programming languages by modelling the essential ingredients of such<br />implementations, namely weak reduction strategies, recursion, space<br />leaks, recursive data structures, and parallel evaluation, in a uniform way.<br />First, we give a precise account of the major reduction strategies<br />used in functional programming and the consequences of choosing <br /> lambda-graph-reduction vs. environment-based evaluation. Second, we show<br />how to add constructors and explicit recursion to give a precise account<br />of recursive functions and data structures even with respect to<br />space complexity. Third, we formalize the notion of space leaks in lambda sigma^a_w<br />and use this to define a space leak free calculus; this suggests optimisations<br />for call-by-need reduction that prevent space leaking and enables<br />us to prove that the "trimming" performed by the STG machine does<br />not leak space.<br />In summary we give a formal account of several implementation<br />techniques used by state of the art implementations of functional programming<br />languages.</p><p>Keywords. Implementation of functional programming, lambda<br />calculus, weak reduction, explicit substitution, sharing, recursion, space<br />leaks.</p>


2021 ◽  
Author(s):  
◽  
David Friggens

<p>The abstract mathematical structures known as coalgebras are of increasing interest in computer science for their use in modelling certain types of data structures and programs. Traditional algebraic methods describe objects in terms of their construction, whilst coalgebraic methods describe objects in terms of their decomposition, or observational behaviour. The latter techniques are particularly useful for modelling infinite data structures and providing semantics for object-oriented programming languages, such as Java. There have been many different logics developed for reasoning about coalgebras of particular functors, most involving modal logic. We define a modal logic for coalgebras of polynomial functors, extending Rößiger’s logic [33], whose proof theory was limited to using finite constant sets, by adding an operator from Goldblatt [11]. From the semantics we define a canonical coalgebra that provides a natural construction of a final coalgebra for the relevant functor. We then give an infinitary axiomatization and syntactic proof relation that is sound and complete for functors constructed from countable constant sets.</p>


Sign in / Sign up

Export Citation Format

Share Document