The ultimate goal of a programming environment is to help simplify the software development process. For an object-oriented language, a visual (object-oriented) program ming environment (VOOPE) must at least satisfy f...
详细信息
The ultimate goal of a programming environment is to help simplify the software development process. For an object-oriented language, a visual (object-oriented) program ming environment (VOOPE) must at least satisfy four essential requirements to meet this goal: interactivity: integration, incrementality, and intelligence. In this study, object-oriented techniques were systematically applied to construct such a VOOPE. On the other hand, some characteristics of object-oriented languages, such as inheritance and polymorphism, may themselves be barriers to understanding, maintaining, and even constructing object-oriented programs. To solve, or at least alleviate, this problem, a language-based editing process has been designed and incorporated into our VOOPE. This process contains two key elements: syntax-directed editing facilities and an in-place editing assistant, which facilitate object-oriented program development by providing useful programming guidance and by reducing the number of potential programming errors. We have so far developed a window-based environment prototype using visual C++ and the Microsoft Foundation Classes library.
Over the last half century, the main application of Brain-Computer Interfaces (BCIs) has been controlling wheelchairs and neuroprostheses, or generating text or commands for people with restricted mobility. There has ...
详细信息
Over the last half century, the main application of Brain-Computer Interfaces (BCIs) has been controlling wheelchairs and neuroprostheses, or generating text or commands for people with restricted mobility. There has been very limited attention in the field to applications for computer-aided design (CAD), especially in the built environment, despite the potential of BCIs to provide a new form of environmental interaction. This paper introduces Neuron, a BCI tool that enables designers with little experience in neuroscience or computer programming to: (1) gain access to neurological data, along with established metrics relevant to design;(2) create BCI interaction prototypes, both with digital on-screen objects and physical devices;and (3) evaluate designs based on neurological information and record measurements for further analysis. After detailing the BCI tool's development, the article showcases its capabilities through two case studies within the architectural design and built environment, followed by an evaluation of the tool's performance and a discussion of its implications, limitations, and areas for future improvement.
It is widely accepted that visual programming techniques can offer increased productivity and reduced costs during the programming stage of real-time systems development, and to a lesser extent at other phases in the ...
详细信息
It is widely accepted that visual programming techniques can offer increased productivity and reduced costs during the programming stage of real-time systems development, and to a lesser extent at other phases in the system development life cycle. It is this author's belief, however, that while visual programming languages have much to recommend them, their current usage is erroneous. Current trends will prevent visual programming languages from being successfully applied to complex real-time systems, and in the development of correct systems. We present a case for visual methods of real-time system development, that recognize visual programming as a single component of a more complex development method; we conclude by briefly describing one such method.
visual block-based programming is useful for various users such as novice programmers because it provides easy operations and improves the readability of programs. Also, in programming education, it is known to be eff...
详细信息
visual block-based programming is useful for various users such as novice programmers because it provides easy operations and improves the readability of programs. Also, in programming education, it is known to be effective to initially present basic language features and then gradually make more advanced features available. However, the cost of implementing such visual block-based languages remains a challenge. In this paper, we present a programming environment for providing visual block-based domain- specific languages (visual DSLs) that are translatable into various programming languages. In our environment, programs are built by combining visual blocks expressed in a natural language. Blocks represent program elements such as operations and variables. Tips represent snippets, and macro blocks represent procedures. Using Tips and macros make code more abstract, and reduce the number of blocks in code. visual DSLs can be a front-end for various languages. It can be easily restricted and extended by adding and deleting blocks. We applied our programming environment to Processing, an educational programming language for media art. We show that the environment is useful for novice programmers who learn basic concepts of programming and the features of Processing.
The boring teaching process of programming courses is an important reason for students' lack of motivation and low participation in learning programming. By analyzing the current teaching status of Python language...
详细信息
The boring teaching process of programming courses is an important reason for students' lack of motivation and low participation in learning programming. By analyzing the current teaching status of Python language courses, this paper proposes to design a series of gamified cases in the visual App Inventor programming environment to learn the syntax and structured program design of Python language. The study aims to improve students' motivation and subjective initiative in learning programming courses through visual educational games, to provide a practical new idea to motivate novice engineering students to learn programming.
For decades, computing speeds seemingly doubled every 24 months by increasing the processor clock speed, thus giving software a "free ride" to better performance. This free ride, however, effectively ended b...
详细信息
For decades, computing speeds seemingly doubled every 24 months by increasing the processor clock speed, thus giving software a "free ride" to better performance. This free ride, however, effectively ended by the mid-2000s. With clock speeds having plateaued and computational horsepower instead increasing due to increasing the number of cores per processor, the vision for parallel computing, which started more than 40 years ago, is a revolution that has now (ubiquitously) arrived. In addition to traditional supercomputing clusters, parallel computing with multiple cores can be found in desktops, laptops, and even mobile smartphones. This ubiquitous parallelism in hardware presents a major challenge: the difficulty in easily extracting parallel performance via current software abstractions. Consequently, this paper presents an approach that reduces the learning curve to parallel programming by introducing such concepts into a visual (but currently sequential) programming language called Snap!, which was inspired by MIT's Scratch project. Furthermore, our proposed visual abstractions can automatically generate parallel code for the end user to run in parallel on a variety of platforms from personal computing devices to supercomputers. Ultimately, this work seeks to increase parallel programming literacy so that users, whether novice or experienced, may leverage a world of ubiquitous parallelism to enhance productivity in all walks of life, including the sciences, engineering, commerce, and liberal arts. (C) 2017 Elsevier Inc. All rights reserved.
Business applications are subject to changes with technology trends or market demands. However, quick response to these changes is still a challenging issue. Most of the existing architectures (e.g., CORBA, Web Servi...
详细信息
Business applications are subject to changes with technology trends or market demands. However, quick response to these changes is still a challenging issue. Most of the existing architectures (e.g., CORBA, Web Services) still expose the developers to excessive low-level details and force a tight coupling between program modules. For end users, developing, customizing, and reengineering applications remain difficult and time-consuming tasks. A high-level programming model is presented, together with a descriptive programming paradigm called BEAP, to facilitate end-user programming. In this approach, applications could be visually composed from well-defined software components called "funnels" in an event-driven fashion. Application examples have shown that, by raising the level of abstraction as well as simplifying the programming model, BEAP could empower end users to build business applications on demand with improved productivity.
visual programming Languages are a common vehicle to teach programming. Usually, these languages use two-dimensional blocks or diagrams to structure a program and some 3D versions have emerged as well. Often, the visu...
详细信息
ISBN:
(纸本)9781450397476
visual programming Languages are a common vehicle to teach programming. Usually, these languages use two-dimensional blocks or diagrams to structure a program and some 3D versions have emerged as well. Often, the visualization of creating programs with these tools is different from executing them. We present the design and prototype of a 3D visual Avatar-based programming Environment (VAPE-3D) in the form of a visual programming language with a syntonic Avatar as its central component, and a unified visualization to edit and execute a program.
A concurrent model of computation and a language based on the model for bit-level operation are useful for developing asynchronous and concurrent programs compositionally, which frequently use bit-level operations. So...
详细信息
A concurrent model of computation and a language based on the model for bit-level operation are useful for developing asynchronous and concurrent programs compositionally, which frequently use bit-level operations. Some examples are programs for video games, hardware emulation (including virtual machines), and signal processing. However, few models and languages are optimized and oriented to bit-level concurrent computation. We previously developed a visual programming language called A-BITS for bit-level concurrent programming. The language is based on a dataflow-like model that computes using processes that provide serial bit-level operations and FIFO buffers connected to them. It can express bit-level computation naturally and develop compositionally. We then devised a concurrent computation model called APEC (Asynchronous Program Elements Connection) for bit-level concurrent computation. This model enables precise and formal expression of the process of computation, and a notion of primitive program elements for controlling and operating can be expressed synthetically. Specifically, the model is based on a notion of uniform primitive processes, called primitives, that have three terminals and four ordered rules at most, as well as on bidirectional communication using vehicles called carriers. A new notion is that a carrier moving between two terminals can briefly express some kinds of computation such as synchronization and bidirectional communication. The model's properties make it most applicable to bit-level computation compositionally, since the uniform computation elements are enough to develop components that have practical functionality. Through future application of the model, our research may enable further research on a base model of fine-grain parallel computer architecture, since the model is suitable for expressing massive concurrency by a network of primitives.
暂无评论