There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.
A three-volume theory text designed to be used with or without the correlated software diskettes. Perfect for classroom use. Students learn new concepts in class with the workbook, then may review and reinforce those concepts in a computer lab. A combination text and workbook in three volumes. All areas of music theory are covered in a concise and practical manner and each level contains 28 lessons.
A guitar player's guide to music theory. This book is a complete theory course with recorded examples that put everything in an applicable, musical context. The recording includes all the musical examples and play-along tracks.
This text details the practical applications of Bourdieu's theories in a series of specific pedagogic research studies, showing how his ideas can be put into practice. Language, gender, career decision-making and the experience of higher education students are all covered. Questions are also raised concerning research methodology. The authors examine Bourdieu's interest in the position of the researcher within the research process. Bourdieu's influence is traced in aspects both of theory and practice. Finally, principles, approaches, methods and techniques that may be derived from Bourdieu are suggested, and assessed, for practical use in research.
A man may imagine he understands something, but still not understand anything in the way that he ought to. (Paul of Tarsus, 1 Corinthians 8:2) Calling this a ‘practical theory’ may require some explanation. Theory and practice are often thought of as two di?erent worlds, governed bydi?erentideals,principles, andlaws.DavidLorgeParnas, forinstance,who hascontributedmuchtoourtheoreticalunderstandingofsoftwareengineering and also to sound use of theory in the practice of it, likes to point out that ‘theoretically’ is synonymous to ‘not really’. In applied mathematics the goal is to discover useful connections between these two worlds. My thesis is that in software engineering this two-world view is inadequate, and a more intimate interplay is required between theory and practice. That is, both theoretical and practical components should be integrated into a practical theory. It should beclearfrom theabovethattheintended readership of this book is not theoreticians. They would probably have di?culties in appreciating a book on theory where the presentation does not proceed in a logical sequence from basic de?nitions to theorems and mathematical proofs, followed by - plication examples. In fact, all this would not constitute what I understand by a practical theory in this context.