Adaptive programming models are increasingly important as context-dependent software conquers more domains. One such a model is role-orientedprogramming where behavioral changes are implemented by objects playing and...
详细信息
Current healthcare industries are more focusing on quality, efficiency, and safety. Nursing information systems are among the key components of healthcare information systems;they can help nurses to use data more effe...
详细信息
作者:
Sim, Tze YingLau, Sian LunSunway University
Center for American Education School of Interdisciplinary Studies Bandar Sunway Malaysia Sunway University
School of Engineering and Technology Department of Engineering Bandar Sunway Malaysia
Novice programming subject refers to the first programming subject taken by a student. This is also commonly known as Computer Science 1 (CS1) subject. It is concluded that the average failure rate of a novice program...
详细信息
Despite its longstanding history, object-orientedprogramming (OOP) remains a cornerstone of modern software development. While everyone seems to have an idea of what OOP means, it is surprisingly challenging to opera...
详细信息
Early programming methodologies proved inadequate for the reliable implementation of the large programs enabled by rapidly growing computer memories, resulting in prohibitively long times for software development. Att...
详细信息
Early programming methodologies proved inadequate for the reliable implementation of the large programs enabled by rapidly growing computer memories, resulting in prohibitively long times for software development. Attempts to solve this problem by limiting control structure primitives within programming languages or by imposing external design methodologies to enforce ill-defined notions of modularity proved unsuccessful. Barbara Liskov's definition of abstract data types in 1973 and her embodiment of this notion in the programming language CLU provided a major step toward solving this problem. The key idea was to define the fundamental building blocks of programs as a set of abstractions, each of which resulted from the combination of a data type with all the operations that needed to be performed on the data type. Data abstraction is now fundamental to all modern programming languages. A second key innovation of Liskov's was what she called "behavioral subtyping" for object-orientedprogramming, now known as the Liskov Substitution Principle (LSP). The LSP formally defines when objects of subclasses can be safely substituted for the parent class, a crucial requirement of bug-free programming within this programming paradigm. In addition, Liskov has made several key contributions to distributed computer systems, including the first use of atomic actions for successful concurrency and providing a practical solution to the problem of Byzantine faults.
The International Smalltalk Technologies Workshop (IWST) is a forum around advances or experience in Smalltalk, bringing together Smalltalk practitioners since 2009. The IWST aims to stimulate discussion and exchange ...
详细信息
Metaobject Protocols enable programmers to extend programming languages without the need to understand the lower level details of their implementation. However, designing these protocols comes with two challenges: all...
详细信息
The System Dependence Graph is a data structure often used in software analysis, and in particular in program slicing. Multiple optimizations and extensions have been created to give support to common language feature...
详细信息
Although the software engineering community knows well the deficiencies of natural language documentation, it remains the predominant way of software requirements specification. The desired properties of software requ...
详细信息
The importance of teaching a solid design methodology is well-recognized and is the goal of many software development courses. There is an ongoing debate concerning how to approach the learning and teaching of this sk...
详细信息
ISBN:
(纸本)9781479931927
The importance of teaching a solid design methodology is well-recognized and is the goal of many software development courses. There is an ongoing debate concerning how to approach the learning and teaching of this skill, i.e., by focusing on "design first" by means of the UML formalism or by "00 programming first", deferring the development of UML specifications. This work presents a teaching experience and curriculum content where a "design-first" approach was used to teach objectoriented Design, incrementally interleaved with object oriented programming aimed at implementing the modeled software through laboratory activities. Working in groups allowed the students to improve communication and collaboration skills, and the use of web 2.0 technologies, such as a wiki, allowed for better course management and for the deployment of a project involving all the students. This approach was used in two year-long courses with students who had slightly different backgrounds and dispositions. Also presented are a preliminary analysis of the written examinations and laboratory exercises;an analysis of common errors and student misconceptions and a preliminary quantitative measure of the results.
暂无评论