scholarly journals On some innovations in teaching the formal semantics using software tools

2020 ◽  
Vol 11 (1) ◽  
pp. 2-11
Author(s):  
William Steingartner

AbstractIn this work we discuss the motivation for innovations and need of a teaching tool for the visualization of the natural semantics method of imperative programming languages. We present the rôle of the teaching software, its design, development and use in the teaching process. Our software module is able to visualize the natural semantics evaluation of programs. It serves as a compiler with environment that can visually interpret simple programming language Jane statements and to depict them into a derivation tree that represents the semantic method of natural semantics. A formal definition of programming language Jane used in the teaching of formal semantics and production rules in natural semantics for that language are shown as well. We present, how the presented teaching tool can provide particular visual steps in the process of finding the meaning of well-structured input program and to depict complete natural-semantic representation of an input program.

Author(s):  
Muhammad Shumail Naveed ◽  
Muhammad Sarim ◽  
Kamran Ahsan

Programming is the core of computer science and due to this momentousness a special care is taken in designing the curriculum of programming courses. A substantial work has been conducted on the definition of programming courses, yet the introductory programming courses are still facing high attrition, low retention and lack of motivation. This paper introduced a tiny pre-programming language called LPL (Learners Programming Language) as a ZPL (Zeroth Programming Language) to illuminate novice students about elementary concepts of introductory programming before introducing the first imperative programming course. The overall objective and design philosophy of LPL is based on a hypothesis that the soft introduction of a simple and paradigm specific textual programming can increase the motivation level of novice students and reduce the congenital complexities and hardness of the first programming course and eventually improve the retention rate and may be fruitful in reducing the dropout/failure level. LPL also generates the equivalent high level programs from user source program and eventually very fruitful in understanding the syntax of introductory programming languages. To overcome the inherent complexities of unusual and rigid syntax of introductory programming languages, the LPL provide elementary programming concepts in the form of algorithmic and plain natural language based computational statements. The initial results obtained after the introduction of LPL are very encouraging in motivating novice students and improving the retention rate.


1980 ◽  
Vol 9 (126) ◽  
Author(s):  
Brian H. Mayoh

The semantics of a programming language are given by a function M from Programs to Meanings. In this paper we bring some uniformity into the definition of logical programming languages like LUCID and PROLOG by specifying M in Logic -> (Control -> Meanings). We describe how a context-free grammar can be assigned to each logical program and we identify Control with the language generated by the grammar. After this reduction there is no difference between the semantics of logical and conventional programming languages.


Author(s):  
Péter Bereczky ◽  
István Donkó ◽  
Dániel Horpácsi ◽  
Ambrus Kaposi ◽  
Dávid János Németh

Teaching of programming language theory has a long track record at ELTE Faculty of Informatics. Traditionally, formal semantics and type systems of programming languages, similarly to other theory-oriented subjects, were taught with the pen and paper method. However, modern proof assistants call for replacing this old-fashioned way of teaching with novel and interactive methods that bring deeper understanding, provide better learning experience and build technical skills in applying formal methods. The authors have launched practice classes for two programming language theory subjects and carefully developed course material based on executable and verifiable definitions formalised in the Coq proof assistant. In this paper, we share our experiences regarding the design and implementation of the new material, we outline the pros and cons of using a proof assistant in the courses, and we describe how the presented method may be adapted to other courses.


1984 ◽  
Vol 13 (173) ◽  
Author(s):  
Brian H. Mayoh

<p>The flood of new programming and specification languages shows no sign of abating, but very few of these languages have a formal definition. The advantages of knowing precisely what is specified in a specification and exactly how a program can behave are obvious, but none of the existing formal definition methods are completely satisfactory.</p><p>Theoreticians have not been idle, but they have concentrated on problems that are not immediately relevant to language designers (algebraic and categoric structuring of definitions, refined notions of concurrency and the like).</p><p>In the belief that the answer to some of the language designers' problems is ''use different formalisms to define fragments of the languages precisely'', we advocate the study of comparative semantics. This paper is a contribution to this study, prompted by the fact that the parallel aspects of ADA seem to require a quite different kind of formal semantics from that used for sequential ADA in ''Formal Definition of ADA'', CII Honeywell Bull, 1981, Paris.</p>


2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-28
Author(s):  
Yizhou Zhang ◽  
Nada Amin

Metareasoning can be achieved in probabilistic programming languages (PPLs) using agent models that recursively nest inference queries inside inference queries. However, the semantics of this powerful, reflection-like language feature has defied an operational treatment, much less reasoning principles for contextual equivalence. We give formal semantics to a core PPL with continuous distributions, scoring, general recursion, and nested queries. Unlike prior work, the presence of nested queries and general recursion makes it impossible to stratify the definition of a sampling-based operational semantics and that of a measure-theoretic semantics—the two semantics must be defined mutually recursively. A key yet challenging property we establish is that probabilistic programs have well-defined meanings: limits exist for the step-indexed measures they induce. Beyond a semantics, we offer relational reasoning principles for probabilistic programs making nested queries. We construct a step-indexed, biorthogonal logical-relations model. A soundness theorem establishes that logical relatedness implies contextual equivalence. We demonstrate the usefulness of the reasoning principles by proving novel equivalences of practical relevance—in particular, game-playing and decisionmaking agents. We mechanize our technical developments leading to the soundness proof using the Coq proof assistant. Nested queries are an important yet theoretically underdeveloped linguistic feature in PPLs; we are first to give them semantics in the presence of general recursion and to provide them with sound reasoning principles for contextual equivalence.


2020 ◽  
Author(s):  
Cut Nabilah Damni

AbstrakSoftware komputer atau perangkat lunak komputer merupakan kumpulan instruksi (program atau prosedur) untuk dapat melaksanakan pekerjaan secara otomatis dengan cara mengolah atau memproses kumpulan intruksi (data) yang diberikan. (Yahfizham, 2019 : 19) Sebagian besar dari software komputer dibuat oleh (programmer) dengan menggunakan bahasa pemprograman. Orang yang membuat bahasa pemprograman menuliskan perintah dalam bahasa pemprograman seperti layaknya bahasa yang digunakan oleh orang pada umumnya dalam melakukan perbincangan. Perintah-perintah tersebut dinamakan (source code). Program komputer lainnya dinamakan (compiler) yang digunakan pada (source code) dan kemudian mengubah perintah tersebut kedalam bahasa yang dimengerti oleh komputer lalu hasilnya dinamakan program executable (EXE). Pada dasarnya, komputer selalu memiliki perangkat lunak komputer atau software yang terdiri dari sistem operasi, sistem aplikasi dan bahasa pemograman.AbstractComputer software or computer software is a collection of instructions (programs or procedures) to be able to carry out work automatically by processing or processing the collection of instructions (data) provided. (Yahfizham, 2019: 19) Most of the computer software is made by (programmers) using the programming language. People who make programming languages write commands in the programming language like the language used by people in general in conducting conversation. The commands are called (source code). Other computer programs called (compilers) are used in (source code) and then change the command into a language understood by the computer and the results are called executable programs (EXE). Basically, computers always have computer software or software consisting of operating systems, application systems and programming languages.


2021 ◽  
Vol 13 (5) ◽  
pp. 2565 ◽  
Author(s):  
José Parra-Martínez ◽  
María-Elia Gutiérrez-Mozo ◽  
Ana Gilsanz-Díaz

As one of the Sustainable Development Goals of the United Nations’ 2030 Agenda, gender equality is a necessary foundation for a peaceful and sustainable world. The integration of the frameworks of analysis and action provided by gender perspective into the design, development and assessment of any program related to university education, research and management is essential to the fulfillment of both quality higher education and an effective transfer of knowledge and values to society. Starting from a standpoint of commitment to this progressive outlook, this essay focuses on the specific case of the University of Alicante, Spain, and on its Architecture studies. It seeks to underline the achievements of this institution in the fostering of a critical spirit and the empathy of its students by way of the implementation of gender perspective as a tool for the conception of complex, diverse and integrating projects, aligned to the objective of mutual care between people and the environment. This is crucial for the co-education of future generations of architects, who will play a central role in the definition of new practices and policies related to space and materials, which favor a more sustainable, inclusive and caring scenario for both humans and non-humans.


Sign in / Sign up

Export Citation Format

Share Document