This study implemented DFT method into the C++ programming language with object-orientedprogramming rules (expressive software). The use of expressive software results in getting a simple programming structure, which...
详细信息
This study implemented DFT method into the C++ programming language with object-orientedprogramming rules (expressive software). The use of expressive software results in getting a simple programming structure, which is similar to mathematical formula. This will facilitate the scientific community to develop the software. We validate our software by calculating the energy band structure of Silica, Carbon, and Germanium with FCC structure using the Projector Augmented Wave (PAW) method then compare the results to Quantum Espresso calculation's results. This study shows that the accuracy of the software is 85% compared to Quantum Espresso.
Our project COMMOOP aims to develop a competency structure model and appropriate measurement instruments for the field of object-orientedprogramming (OOP). We started by reviewing existing literature on competency mo...
详细信息
ISBN:
(纸本)9781509025046
Our project COMMOOP aims to develop a competency structure model and appropriate measurement instruments for the field of object-orientedprogramming (OOP). We started by reviewing existing literature on competency modelling in other subject areas regarding the development methodology as well as the model structures, identified common structural elements, verified, expanded and refined these based on an extensive literature analysis on theoretical and empirical studies on teaching and learning as well as on psychological aspects in the field of OOP. As theoretically derived candidates for potential competency dimensions we identified (1) OOP content knowledge and skills, (2) mastering representation, (3) cognitive processes and (4) metacognitive processes. This theoretically derived model framework was validated based on various competency descriptions in terms of applicability and completeness. For this purpose, we identified competency descriptions related to OOP in 44 computer science curricula and standards from several countries and compared these with our model. Further, we applied it to a list of competency definitions that was extracted by a working group at the ITiCSE 2015 from 14 case studies on K12 in 12 different countries. Finally, the structure model was aligned with the results of a survey among 59 computer science teachers and teacher students on learning difficulties. At the end, it turned out that our proposed model was quite complete already.
A method for constructing large distributed software systems in an object-oriented way is presented. The authors define a group which is an object in the sense of programming in the large. A group may be distributed o...
详细信息
If your application source code is overly verbose, it can be a nightmare to maintain. Write concise and expressive, type-safe code in an environment that lets you build for the JVM, browser, and more.Key Features• Exp...
详细信息
ISBN:
(数字)9781789534702
ISBN:
(纸本)9781789533835
If your application source code is overly verbose, it can be a nightmare to maintain. Write concise and expressive, type-safe code in an environment that lets you build for the JVM, browser, and more.
Key Features
• Expert guidance that shows you to efficiently use both object-oriented and functional programming techniques
• Understand functional programming libraries, such as Cats and Scalaz, and use them to augment your Scala development
• Perfectly balances theory and hands-on exercises, assessments, and activities
Book Description
This book teaches you how to build and contribute to Scala programs, recognizing common patterns and techniques used with the language. You’ll learn how to write concise, functional code with Scala. After an introduction to core concepts, syntax, and writing example applications with scalac, you’ll learn about the Scala Collections API and how the language handles type safety via static types out-of-the-box. You’ll then learn about advanced functional programming patterns, and how you can write your own Domain Specific Languages (DSLs). By the end of the book, you’ll be equipped with the skills you need to successfully build smart, efficient applications in Scala that can be compiled to the JVM.
What you will learn
• Understand the key language syntax and core concepts for application development
• Master the type system to create scalable type-safe applications while cutting down your time spent debugging
• Understand how you can work with advanced data structures via built-in features such as the Collections library
• Use classes, objects, and traits to transform a trivial chatbot program into a useful assistant
• Understand what are pure functions, immutability, and higher-order functions
• Recognize and implement popular functional programming design patterns
Who this book is for
This is an ideal book for developers who are looking to learn Scala, and is particularly well suited for Java developers looking to migrate across
Difficulties in reasoning about functional correctness and relational properties of object-oriented programs are reviewed. An approach using auxiliary state is briefly described, with emphasis on the author's work...
详细信息
ISBN:
(纸本)9783540691471
Difficulties in reasoning about functional correctness and relational properties of object-oriented programs are reviewed. An approach using auxiliary state is briefly described, with emphasis on the author's work. Some near term challenges are sketched.
The power of objects lies in the flexibility of their interconnection structure. But this flexibility conies at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand,...
详细信息
ISBN:
(纸本)9783642020469
The power of objects lies in the flexibility of their interconnection structure. But this flexibility conies at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, maintain, and analyze. Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, making it, difficult to reason about and optimize programs, obscuring the flow of information between objects, and introducing security problems. Aliasing is a fundamental difficulty, but, we accept its presence. Instead we seek techniques for describing, reasoning about, restricting, analyzing, and preventing the connections between objects and/or the flow of information between them. Promising approaches to these problems are based on ownership, confinement, information flow, sharing control, escape analysis, argument independence, read-only references, effects systems. and access control mechanisms.
This paper presents a framework to define a semantics for a real-time object-orientation programming language and to verify programs written in the language. The semantics is defined as the collection of translation r...
详细信息
ISBN:
(纸本)081865640X
This paper presents a framework to define a semantics for a real-time object-orientation programming language and to verify programs written in the language. The semantics is defined as the collection of translation rules that map the syntactic constructions of the language into expressions in a process calculus extended with the notion of time. By using the expressive capabilities of the calculus, the semantics can appropriately capture temporal features of the language such as timeout exception and execution time, and concurrent object-oriented features such as concurrency, class, and object creation. Particularly, since it can restrict the number of concurrent activities which take place simultaneously, it allows to analyze and predict temporal and behavioral properties of programs executed even with a number of processors smaller than the number of active objects. Through an example, we illustrate a method of analyzing real-time programs.
Although generics became quite popular in mainstream object-oriented languages and several specification languages exist that support the description of generic components, conformance relations between object-oriente...
详细信息
ISBN:
(数字)9783642046940
ISBN:
(纸本)9783642046933
Although generics became quite popular in mainstream object-oriented languages and several specification languages exist that support the description of generic components, conformance relations between object-oriented programs and formal specifications that have been established so far do not address genericity. In this paper we propose a notion of refinement mapping that allows to define correspondences between parameterized specifications and generic Java classes. Based on Such mappings, we put forward a conformance notion useful for the extension of CONGU, a tool-based approach we have been developing to Support runtime conformance checking of Java programs against algebraic specifications, so that it becomes applicable to a more comprehensive range of situations, namely those that appear in the context of a typical Algorithms and Data Structures Course.
Recent works by Sowa and by Rayside & Campbell demonstrate that there is a strong connection between object oriented programming and the logical formalism of the syllogism, first set down by Aristotle in the Prior...
详细信息
ISBN:
(纸本)0769510507
Recent works by Sowa and by Rayside & Campbell demonstrate that there is a strong connection between object oriented programming and the logical formalism of the syllogism, first set down by Aristotle in the Prior Analytics. In this paper, we develop an understanding of polymorphic method invocations in terms of the syllogism, and apply this understanding to the design of a novel editor for object-oriented programs. This editor is able to display a polymorphic call graph, which is a substantially more difficult problem than displaying a non-polymorphic call graph. We also explore the design space of program analyses related to the syllogism, and find that this space includes Unique Name, Class Hierarchy Analysis, Class Hierarchy Slicing, Class Hierarchy Specialization, and Rapid Type Analysis.
This paper describes the evolution of recursive functions within an object-oriented Genetic programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We...
详细信息
ISBN:
(纸本)3540331433
This paper describes the evolution of recursive functions within an object-oriented Genetic programming (OOGP) system. We evolved general solutions to factorial, Fibonacci, exponentiation, even-n-Parity, and nth-3. We report the computational effort required to evolve these methods and provide a comparison between crossover and mutation variation operators, and also undirected random search. We found that the evolutionary algorithms performed much better than undirected random search, and thats mutation outperformed crossover on most problems.
暂无评论