Gabbay and Ciancia (2011) presented a nominal extension of Kleene algebra as a framework for trace semantics with statically scoped allocation of resources, along with a semantics consisting of nominal languages. They...
详细信息
Gabbay and Ciancia (2011) presented a nominal extension of Kleene algebra as a framework for trace semantics with statically scoped allocation of resources, along with a semantics consisting of nominal languages. They also provided an axiomatization that captures the behavior of the scoping operator and its interaction with the Kleene algebra operators and proved soundness over nominal languages. In this paper, we show that the axioms proposed by Gabbay and Ciancia are not complete over the semantic interpretation they propose. We then identify a slightly wider class of language models over which they are sound and complete. (C) 2017 Elsevier Inc. All rights reserved.
programming logic is often hard to understand for novice, but in the other side, programming is one of the most important subjects in computer science program. Analogy Mapping is a media which converts source code to ...
详细信息
ISBN:
(纸本)9781509058662
programming logic is often hard to understand for novice, but in the other side, programming is one of the most important subjects in computer science program. Analogy Mapping is a media which converts source code to analogies images using state machine in order to help students understanding programming logic easily. Therefore this paper reports our work about the effectivity of Analogy Mapping in learning process for basic programming subject students with different learning style.
A flowchart can be a graphic diagram representation of a programming logic. There are shapes and connectors that represent the different types of actions or steps in a process. A flowchart is a very important tool in ...
详细信息
ISBN:
(纸本)9781538604977
A flowchart can be a graphic diagram representation of a programming logic. There are shapes and connectors that represent the different types of actions or steps in a process. A flowchart is a very important tool in the planning phase in a program development cycle. Programmers can use it to design and develop an algorithm of a program. Moreover, a flowchart is also very effective for visual learners to write and comprehend algorithms in computer programming courses. This paper aims to provide a tool which serves as an automatic code generator using a structured flowchart. The tool is composed of basic flowchart shapes to be combined into a structured flowchart that can be converted into source codes. In addition, the system's performance has been evaluated by two groups: 5 experts and 93 general users. The results showed the average values of the satisfaction levels were 4.48 and 4.27 with standard deviations at 0.59 and 0.64 for the experts and the general users respectively. It was found that the system performance of the tool reached an agree level. It was revealed that the developed system can be used precisely as intended in an effective manner.
This study develops a situated 3D computational problem-solving and programming game-based learning (GBL) approach to engage students in learning and practicing their programming skills. programming and computational ...
详细信息
ISBN:
(纸本)9781538606216
This study develops a situated 3D computational problem-solving and programming game-based learning (GBL) approach to engage students in learning and practicing their programming skills. programming and computational problem solving have received a great emphasis from educators in recent years. Besides, game-based learning not only provides a learning method different from conventional one-directional classes for learners to absorb knowledge but also engages learners in learning activities. Therefore, a situated 3D computational problem-solving and programming game-based learning model was developed to cultivate learners in a department of computers science and information management to use programming logic to solve problems. A quasi-experimental design was adopted. The control group used a conventional programming course while the experimental group adopted the situated 3D programming game-based learning model to investigate the effects of program-logic problem solving ability, degree of satisfaction with the learning approach and cognitive loads. It was found that although the proposed mode did not promote learners' program-logic problem solving ability immediately in a short-term, students showed a better satisfaction in solving program-logic problems and devoted more time in the games. Almost all students completed all program-logic missions. Furthermore, it was also found that the learners in the experimental group showed better degree of satisfaction with the learning approach and had lower mental efforts, implying that using the situated 3D programming game-based learning mode can effectively lower students' cognitive load and engage them in the situated game to complete the program-logic learning in the course.
This paper presents a qualitative study about programming logic teaching in high school, based on the Discourse of Collective Subject. The project where this study is embedded aims to encourage a greater number of stu...
详细信息
ISBN:
(纸本)9781479984541
This paper presents a qualitative study about programming logic teaching in high school, based on the Discourse of Collective Subject. The project where this study is embedded aims to encourage a greater number of students in the areas of engineering and natural sciences, primarily girls. The main goal is to present how the high school students participating in this project understand issues related to computing learning and women inclusion in this area.
A year-long trial has seen a large lightweight verification problem treated by an ad hoc distributed network of identical solvers. The trialled problem is the semantic analysis of the C code in the Linux kernel to exc...
详细信息
A year-long trial has seen a large lightweight verification problem treated by an ad hoc distributed network of identical solvers. The trialled problem is the semantic analysis of the C code in the Linux kernel to exclude a common deadlock possibility. The aim of the programme behind the experiment is to develop a viable loosely coupled distributed formal method which a community of interested part-time helpers on the net can lend their computing cycles to as they will, or send their own verification problems to for solving.
This article details advances in a lightweight technology we have evolved to handle post hoc verification in the very large, uncontrolled and rapidly evolving code-bases exemplified by C language open source projects ...
详细信息
This article details advances in a lightweight technology we have evolved to handle post hoc verification in the very large, uncontrolled and rapidly evolving code-bases exemplified by C language open source projects such as the Linux kernel. Successful operation in this context means timeliness, and we are currently treating millions of lines of unrestricted mixed C and assembler source code in a few hours on very modest platforms. The technology is soundly based, in that it delivers false alarms (in a ratio of about 8 to 1 in practice), rather than misses true alarms. Speed of operation is traded off against accuracy via configuration of a program logic tailored to each analysis. The program logic specification language and the theory behind it will be described here.
VisualRDK is a high-level programming language for prototyping pervasive applications. Context is tightly integrated into the language itself, so developers can attach functionality to locations, persons, or situation...
详细信息
VisualRDK is a high-level programming language for prototyping pervasive applications. Context is tightly integrated into the language itself, so developers can attach functionality to locations, persons, or situations instead of the device.
Haskell employs a melange of strict and non-strict evaluation semantics, hence a Haskell verifier should be capable of checking assumptions that program variables may or may not denote well-defined values. The paper i...
详细信息
Haskell employs a melange of strict and non-strict evaluation semantics, hence a Haskell verifier should be capable of checking assumptions that program variables may or may not denote well-defined values. The paper introduces a new strategy, called strength induction, that supports automatic checking of definedness assumptions. Strength induction has been implemented in Plover, an automated property-verifier for Haskell programs that has been under development for the past three years as a component of the Programatica project. In Programatica, predicate definitions and property assertions written in P-logic, a programming logic for Haskell, can be embedded in the text of a Haskell program module. Properties refine the type system of Haskell but cannot be verified by type-checking alone;a more powerful logical verifier is required. Plover codes the proof rules of P-logic, and additionally, embeds strategies and decision procedures for their application and discharge. It integrates a reduction system that implements a rewriting semantics for Haskell terms with a congruence-closure algorithm that supports reasoning with equality.
We describe a monadic interface to low-level hardware features that is a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory management hardware, user-mod...
详细信息
We describe a monadic interface to low-level hardware features that is a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory management hardware, user-mode process execution, and low-level device I/O. The interface enforces memory safety in nearly all circumstances. Its behavior is specified in part by formal assertions written in a programming logic called P-logic. The interface has been implemented on bare IA32 hardware using the Glasgow Haskell Compiler (GHC) runtime system. We show how a variety of simple O/S kernels can be constructed on top of the interface, including a simple separation kernel and a demonstration system in which the kernel, window system, and all device drivers are written in Haskell.
暂无评论