The authors describe a programming paradigm they call attribute-grammar-based programming, its realization language AG, and the programming environment for AG, called SAGE (Support for AG Environment). AG is designed ...
详细信息
The authors describe a programming paradigm they call attribute-grammar-based programming, its realization language AG, and the programming environment for AG, called SAGE (Support for AG Environment). AG is designed so that it can be used as a general-purpose programming language, as well as for the kernel language of various software production systems based on attribute grammars. AG is strongly typed; programs in AG are composed from data types and module definitions. The subsystems of SAGE, namely, the editor, the interpreter, the debugger, the compiler, the verifier, system browser, and other miscellaneous support modules are described, and the interactions among them are examined.< >
We show how several novel tools in logic programming for AI (namely, continuation based linear and timeless assumptions, and datalog grammars) can assist us in producing terse treatments of difficult language processi...
详细信息
We show how several novel tools in logic programming for AI (namely, continuation based linear and timeless assumptions, and datalog grammars) can assist us in producing terse treatments of difficult language processing phenomena. As a proof of concept, we present a concise parser for datalog grammars (logic grammars where strings are represented with numbered word boundaries rather than as lists of words), that uses assumptions and a combination of left-corner parsing and charting. We then study two test cases of this parser's application: complete constituent coordination, and error diagnosis and correction.
The focus on assessment and measurement represents the main distinction between programming course and software engineering courses in computer curricula. We introduced testing as an essential asset of a programming c...
详细信息
The focus on assessment and measurement represents the main distinction between programming course and software engineering courses in computer curricula. We introduced testing as an essential asset of a programming course. It allows precise measurement of the achievements of the students and allows an objective assessment of the teaching itself. We measured the size and evolution of the programs developed by the students and correlated these metrics with the grades. We plan to collect progressively a large baseline. We compared the productivity and defect density of the program developed by the students during the exam to industrial data and similar academic experiences. We found that the productivity of our students is very high even compared to industrial settings. Our defect density (before rework) is higher than the industrial, which includes rework.
We describe a Web-based programming environment that serves for the teaching of the basic principles of programming. The environment is accessible via the Internet through a Web browser and uses a specially featured c...
详细信息
We describe a Web-based programming environment that serves for the teaching of the basic principles of programming. The environment is accessible via the Internet through a Web browser and uses a specially featured compiler to translate the source code of the programming language into a pseudo assembly code. Supplementary programming tools accompany the compiler and a database is used for storing the intermediate remits (i.e., the code students develop while trying to solve an exercise). In addition, there is a complete user, file and group management environment and a tool to automate the testing of the student solutions to programming exercises.
The standard techniques for the obstacles to software reuse are reviewed, and some emerging techniques that may makes a larger fraction of system software reusable are discussed. The main characteristics of five categ...
详细信息
The standard techniques for the obstacles to software reuse are reviewed, and some emerging techniques that may makes a larger fraction of system software reusable are discussed. The main characteristics of five categories of programming environments are briefly examined. The categories are: structure-oriented environments, language environments, toolkit environments, software development methodologies, and system development assistants. The requirements for further development of reusability are examined, and speculations are offered as to which type of environment will be best suited to support it.< >
Extreme programming (XP) has attracted attention because of its fierce denial of many well-accepted software engineering practices considered as a sound approach to the development of intensive software systems. XP ha...
详细信息
ISBN:
(纸本)9539676916
Extreme programming (XP) has attracted attention because of its fierce denial of many well-accepted software engineering practices considered as a sound approach to the development of intensive software systems. XP has been declared to be a new way of software development: a lightweight methodology, which is efficient, low-risk, flexible, predictable, scientific, and distinguishable from any other methodology. In the core of XP practices are programming activities, with strong emphasis on oral communications, automated tests, pair programming, storytelling culture and collective code-ownership at any time in the XP project. The paper gives an overview of XP practices and raises some serious concerns regarding their role in conceptual modelling and code generation; which directly affects software architecture solutions. The paper also tackles similarities between rational unified process (RUP) and XP, which have often been juxtaposed by software developers.
In this paper, a programming system for text-editing task that uses both natural language text and direct manipulation is proposed. The system is based on the idea of programming by paraphrasing, which enables users w...
详细信息
In this paper, a programming system for text-editing task that uses both natural language text and direct manipulation is proposed. The system is based on the idea of programming by paraphrasing, which enables users with little knowledge of computer programming to make computer program by linguistic expressions because paraphrasing is usually used as human everyday language communication. The case-based reasoning (CBR) method is used for paraphrasing so that the system can acquire the meanings of unknown linguistic expressions from users. This paper also shows a running example using the system and the result of a subject experiment.
programming for end users is difficult due to lack of incentive and accessible low barrier tools. We propose to address both of these issues through a community-oriented approach to programming. With millions of users...
详细信息
programming for end users is difficult due to lack of incentive and accessible low barrier tools. We propose to address both of these issues through a community-oriented approach to programming. With millions of users already using instant messaging, it is natural to build a programming environment that leverages the existing community amongst users. Thus we provide an automated agent that users can interact with to learn programming concepts. Through this approach a diverse population will have incentive and no extra required tools to experiment with programming concepts in a communal environment
The business program at the University of Washington, Bothell has recently established a new management information systems concentration. As an integral part of the technology foundation, students are required to tak...
详细信息
The business program at the University of Washington, Bothell has recently established a new management information systems concentration. As an integral part of the technology foundation, students are required to take the typical software engineering course from the computer science department. This paper describes the motivations behind this decision, and the results of collaborative efforts between the business and computing faculty in creating a custom programming course to prepare MIS students for the software engineering course. This newly created programming course is designed to challenge students to apply and refine their basic programming and problem solving skills, and in doing so, to experience the often tedious software application development process. The implementation of the new course is based on programming the automation of popular commercial software systems. The results of our initial offering indicate success in building on the modest technical background of typical business students in designing and implementing programming solutions to moderately complex practical problems
This paper addresses some of the problems inherent in the development of Test Program Sets (TPS) re guired to apply automatic test equipment in support of Navy avionics. It then outlines a 3- to 5-year R&D Program...
详细信息
This paper addresses some of the problems inherent in the development of Test Program Sets (TPS) re guired to apply automatic test equipment in support of Navy avionics. It then outlines a 3- to 5-year R&D Program to develop a Computer-Aided programming (CAP) System which would imp-rove quality and reduce costs over the current manual processes for produc ing TPS for avionics containing analog circuitry. Since the R&D effort is just beginning, only the initial tasks are described.
暂无评论