![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Programming languages
Declarative programs consist of mathematical functions and relations and are amenable to formal specification and verification, since the methods of logic and proof can be applied to the programs in a well-defined manner. Here Dr Padawitz emphasizes verification based on logical inference rules, i.e. deduction (in contrast with model-theoretic approaches, deductive methods can be automated to some extent). His treatment of the subject differs from others in that he tries to capture the actual styles and applications of programming; neither too general with respect to the underlying logic, nor too restrictive for the practice of programming. He generalizes and unifies results from classical theorem-proving and term rewriting to provide proof methods tailored to declarative program synthesis and verification. Detailed examples accompany the development of the methods, whose use is supported by a documented prototyping system. The book can be used for graduate courses or as a reference for researchers in formal methods, theorem-proving and declarative languages.
This book constitutes the refereed proceedings of the 12th International Conference on Software Reuse, ICSR 2011, held in Pohang, South Korea, in June 2011. The 16 revised full papers were carefully reviewed and selected from 43 submissions. They are presented together with one keynote, three workshop papers, a doctoral symposium report and two tutorials. Topics of interest are domain analysis and modeling; asset search and retrieval; architecture-centric approaches to reuse; component-based reuse; COTS-based development; generator-based techniques; domain-specific languages; testing in the context of software reuse; aspect-oriented techniques; model-driven development; reuse of non-code artifacts; reengineering for reuse; software product line techniques; quality-aspects of reuse; economic models of reuse; benefit and risk analysis, scoping; legal and managerial aspects of reuse; transition to software reuse; industrial experience with reuse; light-weight approaches; software evolution and reuse.
Describes how to design object-oriented code and accompanying algorithms that can be reverse engineered for greater flexibility in future code maintenance and alteration.
Illustrates by example the typical steps necessary in computer science to build a mathematical model of any programming paradigm .
Temporal logic has developed over the last 30 years into a powerful formal setting for the specification and verification of state-based systems. Based on university lectures given by the authors, this book is a comprehensive, concise, uniform, up-to-date presentation of the theory and applications of linear and branching time temporal logic; TLA (Temporal Logic of Actions); automata theoretical connections; model checking; and related theories. All theoretical details and numerous application examples are elaborated carefully and with full formal rigor, and the book will serve as a basic source and reference for lecturers, graduate students and researchers.
This book constitutes the refereed proceedings of the 14th International Conference on Foundations of Software Science and computational Structures, FOSSACS 2011, held in Saarbrucken, Germany, March 26-April 3, 2011, as part of ETAPS 2011, the European Joint Conferences on Theory and Practice of Software. The 30 revised full papers presented together with one full-paper length invited talk were carefully reviewed and selected from 100 submissions. The papers are organized in topical sections on coalgebra and computability, type theory, process calculi, automata theory, semantics, binding, security, and program analysis."
The art, craft, discipline, logic, practice, and science of developing large-scale software products needs a believable, professional base. The textbooks in this three-volume set combine informal, engineeringly sound practice with the rigour of formal, mathematics-based approaches. Volume 1 covers the basic principles and techniques of formal methods abstraction and modelling. First this book provides a sound, but simple basis of insight into discrete mathematics: numbers, sets, Cartesians, types, functions, the Lambda Calculus, algebras, and mathematical logic. Then it trains its readers in basic property- and model-oriented specification principles and techniques. The model-oriented concepts that are common to such specification languages as B, VDM-SL, and Z are explained here using the RAISE specification language (RSL). This book then covers the basic principles of applicative (functional), imperative, and concurrent (parallel) specification programming. Finally, the volume contains a comprehensive glossary of software engineering, and extensive indexes and references. These volumes are suitable for self-study by practicing software engineers and for use in university undergraduate and graduate courses on software engineering. Lecturers will be supported with a comprehensive guide to designing modules based on the textbooks, with solutions to many of the exercises presented, and with a complete set of lecture slides.
This handbook is a reference for those interested in information technologies and emerging management practices in China. The emphasis on information technologies and management provides a unique proposition and gives characteristics of flexibility and adoption to diverse audiences. The subject area is a combination of global information technology and management along with strategic management of IT. The handbook exploits state-of-the-art and emerging trends in theory and technology. This handbook is primarily designed for a professional and academic audience.
The Extreme Programming Pocket Guide covers XP assumptions, principles, events, artifacts, roles, and resources, and more. It concisely explains the relationships between the XP practices. If you want to adopt XP in stages, the Extreme Programming Pocket Guide will help you choose what to apply and when. Concise and easy to use, this handy pocket guide to XP is a must-have quick reference for anyone implementing a test-driven development environment.
Machine Learning a branch of Artificial Intelligence is influencing the society, industry and academia at large. The adaptability of Python programming language to Machine Learning has increased its popularity further. Another technology on the horizon is Internet of Things (IoT). The present book tries to address IoT, Python and Machine Learning along with a small introduction to Image Processing. If you are a novice programmer or have just started exploring IoT or Machine Learning with Python, then this book is for you. Features: Raspberry Pi as IoT is described along with the procedure for installation and configuration. A simple introduction to Python Programming Language along with its popular library packages like NumPy, Pandas, SciPy and Matplotlib are dealt in an exhaustive manner along with relevant examples. Machine Learning along with Python Scikit-Learn library is explained to audience with an emphasis on supervised learning and classification. Image processing on IoT is introduced to the audience who love to apply Machine Learning algorithms to Images The book follows hands-on approach and provide a huge collection of Python programs.
This book offers a venue for rapidly learning the language of C++ by concisely revealing its grammar, syntax and main features, and by explaining the key ideas behind object oriented programming (OOP) with emphasis on scientific computing. The book reviews elemental concepts of computers and computing, describes the primary features of C++, illustrates the use of pointers and user-defined functions, analyzes the construction of classes, and discusses graphics programming based on VOGLE and OpenGL. In short, the book is a basic, concise introduction to C++ programming for everyone from students to scientists and engineers seeking a quick grasp of key topics.
A number of widely used contemporary processors have instruction-set extensions for improved performance in multi-media applications. The aim is to allow operations to proceed on multiple pixels each clock cycle. Such instruction-sets have been incorporated both in specialist DSPchips such as the Texas C62xx (Texas Instruments, 1998) and in general purpose CPU chips like the Intel IA32 (Intel, 2000) or the AMD K6 (Advanced Micro Devices, 1999). These instruction-set extensions are typically based on the Single Instruc tion-stream Multiple Data-stream (SIMD) model in which a single instruction causes the same mathematical operation to be carried out on several operands, or pairs of operands, at the same time. The level or parallelism supported ranges from two floating point operations, at a time on the AMD K6 architecture to 16 byte operations at a time on the Intel P4 architecture. Whereas processor architectures are moving towards greater levels of parallelism, the most widely used programming languages such as C, Java and Delphi are structured around a model of computation in which operations takeplace on a single value at a time. This was appropriate when processors worked this way, but has become an impediment to programmers seeking to make use of the performance offered by multi-media instruction -sets. The introduction of SIMD instruction sets (Peleg et al."
This book constitutes the thoroughly refereed post-proceedings of the Third International Conference on Software Language Engineering, SLE 2010, held in Eindhoven, The Netherlands, in October 2010. The 24 papers presented were carefully reviewed and selected from 79 submissions. The book also contains the abstracts of two invited talks. The papers are grouped in topical sections on grammarware, metamodeling, evolution, programming, and domain-specific languages. The short papers and demos included deal with modeling and transformations and translations.
Program 3D Games in C++: The #1 Language at Top Game Studios Worldwide C++ remains the key language at many leading game development studios. Since it's used throughout their enormous code bases, studios use it to maintain and improve their games, and look for it constantly when hiring new developers. Game Programming in C++ is a practical, hands-on approach to programming 3D video games in C++. Modeled on Sanjay Madhav's game programming courses at USC, it's fun, easy, practical, hands-on, and complete. Step by step, you'll learn to use C++ in all facets of real-world game programming, including 2D and 3D graphics, physics, AI, audio, user interfaces, and much more. You'll hone real-world skills through practical exercises, and deepen your expertise through start-to-finish projects that grow in complexity as you build your skills. Throughout, Madhav pays special attention to demystifying the math that all professional game developers need to know. Set up your C++ development tools quickly, and get started Implement basic 2D graphics, game updates, vectors, and game physics Build more intelligent games with widely used AI algorithms Implement 3D graphics with OpenGL, shaders, matrices, and transformations Integrate and mix audio, including 3D positional audio Detect collisions of objects in a 3D environment Efficiently respond to player input Build user interfaces, including Head-Up Displays (HUDs) Improve graphics quality with anisotropic filtering and deferred shading Load and save levels and binary game data Whether you're a working developer or a student with prior knowledge of C++ and data structures, Game Programming in C++ will prepare you to solve real problems with C++ in roles throughout the game development lifecycle. You'll master the language that top studios are hiring for-and that's a proven route to success.
Automatic Program Development is a tribute to Robert Paige (1947-1999), our accomplished and respected colleague, and moreover our good friend, whose untimely passing was a loss to our academic and research community. We have collected the revised, updated versions of the papers published in his honor in the Higher-Order and Symbolic Computation Journal in the years 2003 and 2005. Among them there are two papers by Bob: (i) a retrospective view of his research lines, and (ii) a proposal for future studies in the area of the automatic program derivation. The book also includes some papers by members of the IFIP Working Group 2.1 of which Bob was an active member. All papers are related to some of the research interests of Bob and, in particular, to the transformational development of programs and their algorithmic derivation from formal specifications. Automatic Program Development offers a renewed stimulus for continuing and deepening Bob's research visions. A familiar touch is given to the book by some pictures kindly provided to us by his wife Nieba, the personal recollections of his brother Gary and some of his colleagues and friends."
This book constitutes the thoroughly refereed post proceedings of the 5th International Haifa Verification Conference, HVC 2009, held in Haifa, Israel in October 2009. The 11 revised full papers presented together with four abstracts of invited lectures were carefully reviewed and selected from 23 submissions. The papers address all current issues, challenges and future directions of verification for hardware, software, and hybrid systems and present academic research in the verification of systems, generally divided into two paradigms - formal verification and dynamic verification (testing).
New software tools and a sophisticated methodology above RTL are required to answer the challenges of designing an optimized application specific processor (ASIP). This book offers an automated and fully integrated implementation flow and compares it to common implementation practice. It provides case-studies that emphasize that neither the architectural advantages nor the design space of ASIPs are sacrificed for an automated implementation.
This book constitutes the refereed proceedings of the 17th International Working Conference on Requirements Engineering: Foundation for Software Quality, REFSQ 2011, held in Essen, Germany, in March 2011. The 10 revised full papers and the 9 short papers presented were carefully reviewed and selected from 59 submissions. The papers are organized in seven topical sections on security and sustainability; process improvement and requirements in context; elicitation; models; services; embedded and real-time systems; and prioritization and traceability.
Flex is the quickest and most effective technology for the creation of Rich Internet Applications for the Web. Its extensive library of components and totally customizable framework, combined with the ubiquity of Flash Player, has guaranteed its success. The ecosystem of products that rotate around Flex 2 and Flex 3 is really broad. Flex Builder, Flex SDK, and Charting Components are all essential parts of the technology that fit the different requirements of web development. This enormous set of possibilities can easily lead to informationoverload for developers like you. There's just too much to learn and too many potential places to go when you hit a brick wall. Wouldn't it be nice to have a library of solutions to solve these problems quickly and easily? This book provides just that, with more than 100 solutions to common problems in one handy volume. Flex Solutions: Essential Techniques for Flex 2 and Flex 3 Developers faces problems and provides solutions that can be applied to any project, from the most simple to the most complex. The solutions range from customizing Flex components with ActionScript 3.0, using the data models and the ActionScript classes as Value objects, validating and formatting data, using RPC classes to access remote data, to optimizing data-exchange performance using AMF3. Solutions are also provided for enhancing the security of Flex applications, and techniques are offered for optimizing the actual work environment by increasing the performance of Flex Builder, adding video content, and creating an AIR project to bring your web application onto the desktop. If you want to learn about and start to develop rich Internet applications in a short time, being immediately productive and mastering the Flex development techniques, Flex Solutions: Essential Techniques for Flex 2 and 3 Developers is the book you need.Discover real-world solutions for everyday Flex development, saving hours of development timeLearn how to customize and extend the Flex Components Model and design and program the look and feel of your Flex applicationsLearn best practices and tips from a Flex expert for structuring the architecture of Flex applicationsUse the Flex Remote Procedure Classes to connect to remote data with HTTPServices and the Java Platform, PHP, ColdFusion, WebServices, and RemoteObjectUseFlex 3 features such as the AdvancedDataGrid component and the Charting Enhancements featurePort your rich Internet applications onto the desktop with Adobe AIR What you'll learn Tips on using Flex components How to validate and format data How to manage complex data Filtering, sorting and using cursors on data with collection classes How to consume Web Services using RPC components How to display data using list-based controls How to effectively compile and deploy Flex applications How to customize the look and feel of your applications How to make your applications more secure How to become more efficient in using the Flex Builder IDE Unique tricks such as calculating memory usage, making your Flex application into an active desktop, and customizing states How to use the ColdFusion Extensions for Flex Builder How to interface your Flex applications with server-side code written in PHP, Java, Rails, and ColdFusion Working with Flex in enterprise enviroment using the Flex Data Services, Java Remote Object and AMFPHP Who this book is for This book is for any Flex 2 or Flex 3 developer who is comfortable with the basics and wants to take their knowledge further with quick fire solutions to common problems. Please note that some of the solutions contained in this book require the Flex Builder 3 Professional release of the software.
This book constitutes the thoroughly refereed post-conference proceedings of the 13th Brazilian Symposium on Formal Methods, SBMF 2010, held in Natal, Brazil, in November 2010. The 18 revised full papers were carefully reviewed and selected from 55 submissions. The papers presented cover a broad range of foundational and methodological issues in formal methods for the design and analysis of software and hardware systems as well as applications in various domains.
This book constitutes the thoroughly refereed post-proceedings of the 14th Annual ERCIM International Workshop on Constraint Solving and Constraint Logic Programming, CSCLP 2009, held in Barcelona, Spain, in June 2009. The 9 revised full papers presented were carefully reviewed and selected for inclusion in this post-proceedings. The papers in this volume present original research results and applications of constraint solving and constraint logic programming in several domains. Among the issues addressed are solving argumentation frameworks, software consistency, modeling languages, static design routing, dynamic constraint satisfaction, and constraint-based modeling.
When I attended college we studied vacuum tubes in our junior year. At that time an average radio had ?ve vacuum tubes and better ones even seven. Then transistors appeared in 1960s. A good radio was judged to be one with more thententransistors. Latergoodradioshad15-20transistors and after that everyone stopped counting transistors. Today modern processors runing personal computers have over 10milliontransistorsandmoremillionswillbeaddedevery year. The difference between 20 and 20M is in complexity, methodology and business models. Designs with 20 tr- sistors are easily generated by design engineers without any tools, whilst designs with 20M transistors can not be done by humans in reasonable time without the help of Prof. Dr. Gajski demonstrates the Y-chart automation. This difference in complexity introduced a paradigm shift which required sophisticated methods and tools, and introduced design automation into design practice. By the decomposition of the design process into many tasks and abstraction levels the methodology of designing chips or systems has also evolved. Similarly, the business model has changed from vertical integration, in which one company did all the tasks from product speci?cation to manufacturing, to globally distributed, client server production in which most of the design and manufacturing tasks are outsourced.
The RV series of workshops brings together researchers from academia and - dustry that are interested in runtime veri?cation. The goal of the RV workshops is to study the ability to apply lightweight formal veri?cation during the exe- tion of programs. This approach complements the o?ine use of formal methods, which often use large resources. Runtime veri?cation methods and tools include the instrumentation of code with pieces of software that can help to test and monitor it online and detect, and sometimes prevent, potential faults. RV 2009 was held during June 26-28 in Grenoble, adjacent to CAV 2009. The program included 11 accepted papers. Two invited talks were given by AmirPnueli,on"CompositionalApproachtoMonitoringLinearTemporalLogic Properties" and Sriram Rajamani on "Veri?cation, Testing and Statistics." The program also included three tutorials. We would like to thank the members of the Program Committee and ad- tional referees for the reviewing and participation in the discussions.
Learning to program isn't just learning the details of a programming language: to become a good programmer you have to become expert at debugging, testing, writing clear code and generally unsticking yourself when you get stuck, while to do well in a programming course you have to learn to score highly in coursework and exams. Featuring tips, stories and explanations of key terms, this book teaches these skills explicitly. Examples in Python, Java and Haskell are included, helping you to gain transferable programming skills whichever language you are learning. Intended for students in Higher or Further Education studying early programming courses, it will help you succeed in, and get the most out of, your course, and support you in developing the software engineering habits that lead to good programs.
The 6th InternationalConference on Cooperative Design, Visualization and - gineering CDVE 2009 was held in central Europe - Luxembourg. Participants from ?ve continents came together to celebrate this annual event. Thepaperspublishedintheconferenceinthisvolumere?ectthenewprogress in the following aspect. Research in developing cooperative applications is currently focusing on two directions. One is the cooperation in the software development process and the other is the variety of the targeted cooperative software products. Many papers address how to facilitate cooperation in the software engineering process p- ticularly global software engineering. The importance of sharing information in cooperation is emphasized by the authors. For example, papers that addressed the developmentof sharing mental models, tools for easilyshared projects,sh- ing links for cross-media information spaces, sharing resources and transfer of knowledge among team members etc. have attracted special attention. Many papers presented in this volume are the research results of tackling problems in developing a great variety of cooperative software products. The targeted systems are cooperative support for music creation, cooperative process m- agement systems, cooperative visualization systems for geographic information, cooperative cultural information sharing platforms, cooperative reasoning s- tems, cooperative sensor networks for environment monitoring, remote coop- ative video vehicle monitoring systems etc. Another aspect of the papers in this volume is dealing with the problems in ?ner phases in the cooperative product production life cycle. The topics addressed range from partner selection for - operation at the beginning, requirement gathering, requirement negotiation, to cooperativedesign, production to cooperative testing, and ?nally to cooperative system operation. |
You may like...
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,273
Discovery Miles 12 730
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R785 Discovery Miles 7 850
Emerging Technologies for Innovation…
Varun Gupta, Chetna Gupta
Hardcover
R6,648
Discovery Miles 66 480
|