This work presents an object-oriented framework for the implementation of language interpreters in an educational context. We use this framework to implement different programming language paradigms, including interpr...
详细信息
ISBN:
(纸本)1581137516
This work presents an object-oriented framework for the implementation of language interpreters in an educational context. We use this framework to implement different programming language paradigms, including interpreters for the Functional, object-oriented and Logic paradigms. This framework focuses its structure on aiding the comprehension of the similarities and differences between the implementation of different paradigms.
This paper presents doctoral research on a key problem for ubiquitous computing: implementation of representatives for physical objects, particularly people. This poster outlines an approach to implementing dynamic pe...
详细信息
ISBN:
(纸本)1581137516
This paper presents doctoral research on a key problem for ubiquitous computing: implementation of representatives for physical objects, particularly people. This poster outlines an approach to implementing dynamic personal roles suitable for a ubiquitous computing environment.
Relational database management systems are an essential component of many data intensive applications. At USC, a course entitled "File and Database Management" introduces students to fundamental concepts in ...
详细信息
ISBN:
(纸本)1581137516
Relational database management systems are an essential component of many data intensive applications. At USC, a course entitled "File and Database Management" introduces students to fundamental concepts in relational databases. Students are introduced to conceptual, logical and physical organization of data, use of both formal and commercial query languages, e.g., SQL, indexing techniques for efficient retrieval of data, the concept of a transaction, concurrency control and crash recovery techniques. This paper summarizes our experiences with this course and the challenges of educating students on use of object-oriented concepts and their mapping to tables.
Model Refinement is a relationship that relates two elements representing the same concept at different levels of abstraction. In UML, Refinement is described in an informal way. To avoid wrong model interpretations, ...
详细信息
ISBN:
(纸本)1581137516
Model Refinement is a relationship that relates two elements representing the same concept at different levels of abstraction. In UML, Refinement is described in an informal way. To avoid wrong model interpretations, we study a formalization of the refinement relation. This work provides an enhancement to the UML metamodel specification.
C++ is a very successful object-oriented language. It is a required language for more and more students. It takes great effort and practice for these students to learn how to program in C++ and how to make object-orie...
详细信息
ISBN:
(纸本)1581137516
C++ is a very successful object-oriented language. It is a required language for more and more students. It takes great effort and practice for these students to learn how to program in C++ and how to make object-oriented programs. One potential failure is that they have learned programming in C++ but do not know how to program in an object-oriented (OO) style. To avoid such failures, this paper proposes that first an object-oriented methodology is taught, and then the language itself. A six-step approach to teach the OO methodology is presented, followed by some innovative ways to teach different mechanisms in C++. In this way, students can master both object-orientedprogramming and C++ programming. The proposed teaching method is applicable to teaching other languages like Java and C#.
Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of "high-level" programming paradigms and object-orientedlanguages hel...
详细信息
ISBN:
(纸本)1581137516
Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of "high-level" programming paradigms and object-orientedlanguages helps, but fundamentally remains far from solving the problem. Most programminglanguages and systems have fallen prey to the assumption that they are supposed to capture idealized models of computation inspired by deceptively simple metaphors such as objects and mathematical functions. Aspect-orientedprogramminglanguages have made a significant breakthrough by noticing that, in many situations, humans think and describe in crosscutting terms. In this paper we suggest that the next breakthrough would require looking even closer to the way humans have been thinking and describing complex systems for thousand of years using natural languages. While natural languages themselves are not appropriate for programming, they contain a number of elements that make descriptions concise, effective and understandable. In particular, natural languages referentiality is a key factor in supporting powerful program organizations that can be easier understood by humans.
When developing large software systems, it is often difficult to foresee exactly which trade-offs are important, and which quality parameters will be of importance down the road. This paper reports experiences from a ...
详细信息
ISBN:
(纸本)1581137516
When developing large software systems, it is often difficult to foresee exactly which trade-offs are important, and which quality parameters will be of importance down the road. This paper reports experiences from a project in which a large application framework for B2B integration has been continuously developed and used over a five-year period. The framework has been the foundation for a variety of different concrete applications. Here we will report on our experiences from this endeavor.
A new approach to teaching software testing is proposed: students use test-driven development on programming assignments, and an automated grading tool assesses their testing performance and provides feedback. The bas...
详细信息
ISBN:
(纸本)1581137516
A new approach to teaching software testing is proposed: students use test-driven development on programming assignments, and an automated grading tool assesses their testing performance and provides feedback. The basics of the approach, screenshots of the sytem, and a discussion of industrial tool use for grading Java programs are discussed.
暂无评论