Most large research universities include a software design or software development course as a required or elective component of an undergraduate computer science major. For vario...
The object-oriented approach to software development facilitates and encourages programming practices that increase reusability, correctness and maintainability in code. This is a...
The emergence of grid and a new class of data-driven applications is making a new form of parallelism desirable, which we refer to as coarse-grained pipelined parallelism. This pa...
UML diagrams have become increasingly important in the engineering and reengineering processes for software systems. Of particular interest are UML class diagrams whose purpose is...
Embodied agents or humanoid avatars may effectively be used to communicate with human users. Currently there is a wide range of specification formalisms and scripting languages f...