An introductory CS1 course at universities has to meet different requirements. In addition to computational thinking, students have to learn a programming language and its underlying concepts. Furthermore, they should...
详细信息
ISBN:
(纸本)9781450399562
An introductory CS1 course at universities has to meet different requirements. In addition to computational thinking, students have to learn a programming language and its underlying concepts. Furthermore, they should be educated in different paradigms such as procedural, object-oriented, and functional programming. Industrial-strength languages are optimized towards the requirements of professional software developers and tend to offer an overwhelming and complex set of language constructs. Using such a language in a CS1 course, students find themselves mainly struggling with learning the language, being primarily exposed to simple programs for demonstrating its constructs. In contrast, MuLE is an educational language that supports multiple paradigms with a small set of carefully designed constructs. Using MuLE, beginners may develop programming skills more easily, while they still learn underlying concepts systematically that may be transferred to other languages in their further education.
The growing diversity and complexity of existing robotic devices like humanoids, animal-like robots or wheeled robots, lead to the development or several incompatible software interfaces to control these robots. We be...
详细信息
ISBN:
(纸本)0780389123
The growing diversity and complexity of existing robotic devices like humanoids, animal-like robots or wheeled robots, lead to the development or several incompatible software interfaces to control these robots. We believe that there is a need for a standard which could be universal, powerful and easy to use. The open source project URBI, a Universal Robotic Body Interface, aims at providing the ground for such a standard. It is based on a client/server architecture where the server is running on the robot and accessed by the client, on the robot or remotely via TCP/IP. The URBI language is a scripted language used by the client and capable of controlling the joints of the robot or access its sensors, camera, speakers or any accessible part of the machine. We present in this article an introduction to URBI and we describe how URBI differs from currently existing solutions. As an example making use of URBI-specific features, we present a simple perturbative approach to walk pattern generation, with URBI running on a ERS7 Aibo robot.
This work presents GoDonnie a programming language to command a robot to improve orientation and mobility (O&M) skills in people who are visually impaired (PVI). The GoDonnie programming language is based on the L...
详细信息
ISBN:
(纸本)9781450366762
This work presents GoDonnie a programming language to command a robot to improve orientation and mobility (O&M) skills in people who are visually impaired (PVI). The GoDonnie programming language is based on the Logo language. GoDonnie runs in a programming environment called Donnie. This environment has a 2D graphic simulator with a virtual robot, in which one can visualise and receive sound feedback from the execution of the language commands for moving the virtual robot in the environment. GoDonnie has been evaluated with PVI to verify its usability and support to O&M. The results indicate that GoDonnie has good usability, supports the development of O&M in PVI and meets the expectations regarding the programming environment. A video of GoDonnie execution is available in https://***/HE__sAgfNBo
Thousands of programming languages have been designed to meet different demands of application. Among the languages, many have been proposed merely for research exploration, while others have been developed for indust...
详细信息
ISBN:
(纸本)9781479957279
Thousands of programming languages have been designed to meet different demands of application. Among the languages, many have been proposed merely for research exploration, while others have been developed for industrial software productions. Whatever the languages are targeted for, they are vehicles for implementing solutions in software engineering. Therefore, it is vital criteria to evaluate a language by principles of software engineering. But to our best knowledge, modern languages, especially the newly designed ones, are mostly designed to address domain-specific requirements, instead of focusing on the basic principles of software engineering. Thus, we develop a general-purpose language, SIMPLE, which supports the concise concepts adhering to the fundamental software engineering principles. To this end, simplicity, readability, reliability, security, scalability, and efficiency are established as goals of the language and various modular language features are provided. In this paper, we introduce the design of SIMPLE and discuss how its language features comply with the software engineering principles.
In recent years, there has been significant interest in general theories of software engineering. In this article, we explore the utility of a theory of cognition, ACT-R, as a component of such a general theory. The A...
详细信息
ISBN:
(纸本)9781467370523
In recent years, there has been significant interest in general theories of software engineering. In this article, we explore the utility of a theory of cognition, ACT-R, as a component of such a general theory. The ACT-R theory was instantiated to predict the effort of programming language comprehension for two cases: (i) a C program, and (ii) the corresponding Assembly program. An experiment was then conducted to generate empirical data on the two comprehension tasks. The theoretical predictions were compared to the empirical results. The theoretical model predicted that the effort of understanding the considered program in C is 37% of the effort of understanding a comparable program written in Assembly. The experiment generated 33% as the corresponding percentage number. The concordance between theoretical model and experimental data was surprisingly high, encouraging further investigations into the utility of cognitive theories in software engineering.
We have implemented a "Functional + Logic" programming language which is mainly used in knowledge-based programming. By making use of LISP's rich environment, it naturally integrates LISP and PROLOG thro...
详细信息
language models are applied to the programming language. However, the existing language models may be confused with different tokens with the same name in different scopes and can generate the syntax error code. In th...
详细信息
ISBN:
(纸本)9781728119854
language models are applied to the programming language. However, the existing language models may be confused with different tokens with the same name in different scopes and can generate the syntax error code. In this paper, we proposed a grammar language model to solve these two problems. The model is an improved recurrent neural network language model. The improved recurrent neural network language model has the scope-awared input feature and the grammar output mask. We evaluated our model and existing language models on a C99 code dataset. Our model gets a perplexity value of 2.91 and a top-1 accuracy rate of 74.23 % which is much better than other models.
The shell language is widely used for various system administration tasks on UNIX machines, as for instance as part of the installation process of software packages in FOSS distributions. Our mid-term goal is to analy...
详细信息
ISBN:
(数字)9783319723082
ISBN:
(纸本)9783319723082;9783319723075
The shell language is widely used for various system administration tasks on UNIX machines, as for instance as part of the installation process of software packages in FOSS distributions. Our mid-term goal is to analyze these scripts as part of an ongoing effort to use formal methods for the quality assurance of software distributions, to prove their correctness, or to pinpoint bugs. However, the syntax and semantics of POSIX shell are particularly treacherous. We propose a new language called CoLiS which, on the one hand, has well-defined static semantics and avoids some of the pitfalls of the shell, and, on the other hand, is close enough to the shell to be the target of an automated translation of the scripts in our corpus. The language has been designed so that it will be possible to compile automatically a large number of shell scripts into the CoLiS language. We formally define its syntax and semantics in Why3, define an interpreter for the language in the WhyML programming language, and present an automated proof in the Why3 proof environment of soundness and completeness of our interpreter with respect to the formal semantics.
To support the development of applications in a novel decentralized computing structure, i.e., Insect Intelligent Building ((IB)-B-2) platform, the key enabler is to design a proper programming language for specific d...
详细信息
ISBN:
(纸本)9789881563903
To support the development of applications in a novel decentralized computing structure, i.e., Insect Intelligent Building ((IB)-B-2) platform, the key enabler is to design a proper programming language for specific domains. Existing researches are either unwieldy or unfriendly for developing the domain-oriented applications. This paper aims to facilitate the development of such applications and reduces the programming difficulty of programmers. We propose Touch, a textual programming language for (IB)-B-2 APPs(applications), which provides a high-level abstraction of (IB)-B-2 elements. Specifically, we establish the programming conceptual architecture (i.e., Individual, Neighborhood, and Domain) and programming mechanism of (IB)-B-2 APP. Moreover, the specific language elements and formal syntax of Touch are designed. Evaluation results show that Touch can effectively support the development of (IB)-B-2 APP and greatly reduce the size of the program.
language designers and early adopters make different claims about their languages to differentiate them from others in order to attract users. Unfortunately, some of such claims are not supported by strong evidence. M...
详细信息
ISBN:
(纸本)9781450369923
language designers and early adopters make different claims about their languages to differentiate them from others in order to attract users. Unfortunately, some of such claims are not supported by strong evidence. Moreover, the nature of languages as a special software tool makes it difficult to find objective measures to quantify and compare them per se. One approach to provide objective information about languages is empirical comparison. Hence, this research studies the usage and practice of programming languages based on mining modern, popular, existing software repositories in order to understand and characterize their effect on developing open source software. That is, to compare open source projects written in different languages to understand similarities and examine differences among them.
暂无评论