![]() |
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
An emerging topic in software engineering and data mining, specification mining tackles software maintenance and reliability issues that cost economies billions of dollars each year. The first unified reference on the subject, Mining Software Specifications: Methodologies and Applications describes recent approaches for mining specifications of software systems. Experts in the field illustrate how to apply state-of-the-art data mining and machine learning techniques to address software engineering concerns. In the first set of chapters, the book introduces a number of studies on mining finite state machines that employ techniques, such as grammar inference, partial order mining, source code model checking, abstract interpretation, and more. The remaining chapters present research on mining temporal rules/patterns, covering techniques that include path-aware static program analyses, lightweight rule/pattern mining, statistical analysis, and other interesting approaches. Throughout the book, the authors discuss how to employ dynamic analysis, static analysis, and combinations of both to mine software specifications. According to the US National Institute of Standards and Technology in 2002, software bugs have cost the US economy 59.5 billion dollars a year. This volume shows how specification mining can help find bugs and improve program understanding, thereby reducing unnecessary financial losses. The book encourages the industry adoption of specification mining techniques and the assimilation of these techniques in standard integrated development environments (IDEs).
Agda is an advanced programming language based on Type Theory. Agda's type system is expressive enough to support full functional verification of programs, in two styles. In external verification, we write pure functional programs and then write proofs of properties about them. The proofs are separate external artifacts, typically using structural induction. In internal verification, we specify properties of programs through rich types for the programs themselves. This often necessitates including proofs inside code, to show the type checker that the specified properties hold. The power to prove properties of programs in these two styles is a profound addition to the practice of programming, giving programmers the power to guarantee the absence of bugs, and thus improve the quality of software more than previously possible. Verified Functional Programming in Agda is the first book to provide a systematic exposition of external and internal verification in Agda, suitable for undergraduate students of Computer Science. No familiarity with functional programming or computer-checked proofs is presupposed. The book begins with an introduction to functional programming through familiar examples like booleans, natural numbers, and lists, and techniques for external verification. Internal verification is considered through the examples of vectors, binary search trees, and Braun trees. More advanced material on type-level computation, explicit reasoning about termination, and normalization by evaluation is also included. The book also includes a medium-sized case study on Huffman encoding and decoding.
As natural language processing spans many different disciplines, it is sometimes difficult to understand the contributions and the challenges that each of them presents. This book explores the special relationship between natural language processing and cognitive science, and the contribution of computer science to these two fields. It is based on the recent research papers submitted at the international workshops of Natural Language and Cognitive Science (NLPCS) which was launched in 2004 in an effort to bring together natural language researchers, computer scientists, and cognitive and linguistic scientists to collaborate together and advance research in natural language processing. The chapters cover areas related to language understanding, language generation, word association, word sense disambiguation, word predictability, text production and authorship attribution. This book will be relevant to students and researchers interested in the interdisciplinary nature of language processing.
Classical FORTRAN: Programming for Engineering and Scientific Applications, Second Edition teaches how to write programs in the Classical dialect of FORTRAN, the original and still most widely recognized language for numerical computing. This edition retains the conversational style of the original, along with its simple, carefully chosen subset language and its focus on floating-point calculations. New to the Second Edition Additional case study on file I/O More about CPU timing on Pentium processors More about the g77 compiler and Linux With numerous updates and revisions throughout, this second edition continues to use case studies and examples to introduce the language elements and design skills needed to write graceful, correct, and efficient programs for real engineering and scientific applications. After reading this book, students will know what statements to use and where as well as why to avoid the others, helping them become expert FORTRAN programmers.
Have you ever seen a promising project get abandoned right when it seemed like it was getting ready to launch, or a project that always seemed like it was going to launch "next month," but took many months or even years before it actually launched? Scrum may be the solution to such woes. It is a project management methodology that, when applied faithfully, will increase the rate at which your project is completed, the enjoyment your team has while working on it, and its commercial success. Converting to scrum can be a challenge for any team, but it is particularly painful for part time, virtual, and student teams. Successful Scrumbutt helps teams quickly learn scrum project management and adapt it to their unique situations. Author Noah Dyer illustrates key techniques for maintaining a team's productivity and enthusiasm for a project across its lifetime in fun, engaging, and slightly irreverent ways. Key Features Learn key techniques for maintaining enthusiasm for your project across its lifetime and have the confidence that every hour spent on your project is having maximum benefit. Includes instructions for using Assembla and other popular and free Scrum software. This will save people time identifying and learning a software package to help implement Scrum principles. Activities to introduce people to Scrum and practice Scrum principles. These are fun ways to learn Scrum in a low pressure atmosphere where delivery and execution are not paramount. Soft Skills Sections help readers understand not only the action to be taken and the principle, but how to effectively communicate with others regarding Scrum practices, particularly problem solving. Excel templates, activities for implementing Scrum in a low tech environment and planning cards that make Scrum planning activities easier and feel more official are included for download and easy printing. Do It Now: Tips for integrating the principle in a chapter right away, even if full Scrum is not yet fully understood and achievable.
Have you ever seen a promising project get abandoned right when it seemed like it was getting ready to launch, or a project that always seemed like it was going to launch "next month," but took many months or even years before it actually launched? Scrum may be the solution to such woes. It is a project management methodology that, when applied faithfully, will increase the rate at which your project is completed, the enjoyment your team has while working on it, and its commercial success. Converting to scrum can be a challenge for any team, but it is particularly painful for part time, virtual, and student teams. Successful Scrumbutt helps teams quickly learn scrum project management and adapt it to their unique situations. Author Noah Dyer illustrates key techniques for maintaining a team's productivity and enthusiasm for a project across its lifetime in fun, engaging, and slightly irreverent ways. Key Features Learn key techniques for maintaining enthusiasm for your project across its lifetime and have the confidence that every hour spent on your project is having maximum benefit. Includes instructions for using Assembla and other popular and free Scrum software. This will save people time identifying and learning a software package to help implement Scrum principles. Activities to introduce people to Scrum and practice Scrum principles. These are fun ways to learn Scrum in a low pressure atmosphere where delivery and execution are not paramount. Soft Skills Sections help readers understand not only the action to be taken and the principle, but how to effectively communicate with others regarding Scrum practices, particularly problem solving. Excel templates, activities for implementing Scrum in a low tech environment and planning cards that make Scrum planning activities easier and feel more official are included for download and easy printing. Do It Now: Tips for integrating the principle in a chapter right away, even if full Scrum is not yet fully understood and achievable.
Discover the do's and don'ts involved in crafting readable Swift code as you explore common Swift coding challenges and the best practices that address them. From spacing, bracing, and semicolons to proper API style, discover the whys behind each recommendation, and add to or establish your own house style guidelines. This practical, powerful, and opinionated guide offers the best practices you need to know to work successfully in this equally opinionated programming language. Apple's Swift programming language has finally reached stability, and developers are demanding to know how to program the language properly. Swift Style guides you through the ins and outs of Swift programming best practices. This is the first best practices book for serious, professional Swift programmers and for programmers who want to shine their skills to be hired in this demanding market. A style guide offers a consistent experience of well-crafted code that lets you focus on the code's underlying meaning, intent, and implementation. This book doesn't offer canonical answers on Swift coding style. It explores the areas of Swift where structure comes into play. Whether you're developing a personal style or a house style, there are always ways to enhance your code choices. You'll find here the ideas and principles to establish or enhance your own best style practices. Begin with simple syntactical styling. Strengthen code bracing for easy readability. Style your closures for safety and resilience. Perfect spacing and layout. Master literal initialization and typing. Optimize control flow layout and improve conditional style choices. Transition from Objective-C and move code into Swift the right way. Boost API design using proper naming and labeling. Elevate defaulted arguments and variadics to their right places. Finally, Erica offers her own broad recommendations on good coding practice. What You Need: Recent version of the Swift programming language
The book is a collection of invited chapters by renowned experts and is part of a series on Language Processing, Pattern Recognition, and Intelligent Systems. The content is wide-ranging, encompassing perspectives from computer science to social science to design and reflecting the considerable experience of researchers, teachers and practitioners. This diversity offers rigorous approaches to the topic of Digital fonts and reading, organised in four sections: vision and reading; scientific approaches to reading; perspectives on type design practice; and using type. The heavily illustrated text includes original research, case studies, reviews, and practical advice, serving as a useful handbook or reference to inform design for reading. Traditionally, there has been a separation between researchers and practitioners, with different agendas. This book bridges the gap between scientific testing and design experience and considers the reader's perspective. The collection aims to resonate with academics and students, experienced or novice typographic or interface designers and software engineers, and engage with anyone who has an interest in type and reading.
Property-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time. Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr. Start with the basics of property tests, such as writing stateless properties, and using the default generators to generate test cases automatically. More importantly, learn how to think in properties. Improve your properties, write custom data generators, and discover what your code can or cannot do. Learn when to use property tests and when to stick with example tests with real-world sample projects. Explore various testing approaches to find the one that's best for your code. Shrink failing test cases to their simpler expression to highlight exactly what breaks in your code, and generate highly relevant data through targeted properties. Uncover the trickiest bugs you can think of with nearly no code at all with two special types of properties based on state transitions and finite state machines. Write Erlang and Elixir properties that generate the most effective tests you'll see, whether they are unit tests or complex integration and system tests. What You Need Basic knowledge of Erlang, optionally Elixir For Erlang tests: Erlang/OTP >= 20.0, with Rebar >= 3.4.0 For Elixir tests: Erlang/OTP >= 20.0, Elixir >= 1.5.0
The second edition of C# and Game Programming offers the same practical, hands-on approach as the first edition to learning the C# language through classic arcade game applications. Complete source code for games like Battle Bit, Asteroid Miner, and Battle Tennis, included on the CD-ROM, demonstrates programming strategies and complements the comprehensive treatment of C# in the text. From the basics of adding graphics and sound to games, to advanced concepts such as the .Net framework and object-oriented programming, this book provides the foundations for a beginner to become a full-fledged programmer. New in this edition: - Supports DirectX 9.0 - Revised programs and examples - Improved frame rate for game examples
* Targests readers with a background in programming, interested in an introduction/refresher in statistical hypothesis testing * Uses Python throughout * Provides the reader with the opportunity of using the book whenever needed rather than following a sequential path.
Relationship Inference in Familias and R discusses the use of Familias and R software to understand genetic kinship of two or more DNA samples. This software is commonly used for forensic cases to establish paternity, identify victims or analyze genetic evidence at crime scenes when kinship is involved. The book explores utilizing Familias software and R packages for difficult situations including inbred families, mutations and missing data from degraded DNA. The book additionally addresses identification following mass disasters, familial searching, non-autosomal marker analysis and relationship inference using linked markers. The second part of the book focuses on more statistical issues such as estimation and uncertainty of model parameters. Although written for use with human DNA, the principles can be applied to non-human genetics for animal pedigrees and/or analysis of plants for agriculture purposes. The book contains necessary tools to evaluate any type of forensic case where kinship is an issue.
A novel approach for the classroom or self-study, Learn to Code with Games makes coding accessible to a broad audience. Structured as a series of challenges that help you learn to code by creating a video game, each chapter expands and builds your knowledge while providing guidelines and hints to solving each challenge. The book employs a unique problem-solving approach to teach you the technical foundations of coding, including data types, variables, functions, and arrays. You will also use techniques such as pseudocode and process mapping to formulate solutions without needing to type anything into a computer, and then convert the solutions into executable code. Avoiding jargon as much as possible, Learn to Code with Games shows you how to see coding as a way of thinking and problem solving rather than a domain of obscure languages and syntaxes. Its practical hands-on approach through the context of game development enables you to easily grasp basic programming concepts.
Your hands-on guide to Visual C# fundamentals with Visual Studio 2022 Expand your expertise-and teach yourself the fundamentals of programming the latest version of Visual C# with Visual Studio 2022. This book provides software developers all the guidance, exercises, and code needed to start building responsive, scalable, cloud-connected applications that can run almost anywhere. Discover how to: Quickly start creating Visual C# code and projects with Visual Studio Work with variables, operators, expressions, methods, and program flow Build more robust apps with error, exception, and resource management Spot problems fast with the integrated Visual Studio 2022 debugger Master new default interface methods, static local functions, async disposable types, and other enhancements Make the most of the C# object model, and create functional data structures Leverage advanced properties, indexers, generics, and collection classes Create Windows 11 apps that share data, collaborate, and use cloud services Use lightweight records to build immutable reference types more easily Perform complex queries over object collections with LINQ Improve application throughput and response time with asynchronous methods Use delegates and decoupling to construct highly extensible systems Customize C# operator behavior over your own classes and structures Implement the powerful Model-View-ViewModel (MVVM) pattern Build UWP applications that retrieve complex data and present it intuitively
Features Teaches software design by showing programmers how to build the tools they use every day. Each chapter includes exercises to help readers check and deepen their understanding. All the example code can be downloaded, re-used, and modified under an open license.
General Purpose Simulation System (GPSS) is a special computer programming language primarily used to simulate what can be classified as discrete systems. A discrete system is one where, at any given instant in time, a countable number of things can take place. The basic operation of a mine itself can be considered such a system. Discrete Simulation and Animation for Mining Engineers explains how to model mining systems using GPSS/H (R) and PROOF (R) by Wolverine Software Corporation. Employing a unique approach that encourages engagement from the start, the text discusses animation first, and then slowly introduces simulation language. As each new topic is covered, an animation is provided to illustrate the key concepts.Leveraging valuable insight gained from the author's extensive experience modeling mines around the world, the book: Describes how to apply discrete system simulation to mines Shows how to make those simulations come alive with animation Includes real-world examples and exercises that hone practical problem-solving skills Written by a mining engineer for mining engineers and students of mining, Discrete Simulation and Animation for Mining Engineers offers a comprehensive yet accessible treatment of mine simulation and animation useful in increasing the efficiency of industrial mining processes.
Features Connected to a Github repository with the codes in the book. The repository can be accessed at https://bit.ly/3bllnuf Suitable for undergraduate students, as well as anyone who wants a gentle introduction to the principles of quantitative finance No pre-requisites required for programming or advanced mathematics beyond basic calculus.
This easy-to-follow textbook provides a student-friendly introduction to programming and algorithms. Emphasis is placed on the threshold concepts that present barriers to learning, including the questions that students are often too embarrassed to ask. The book promotes an active learning style in which a deeper understanding is gained from evaluating, questioning, and discussing the material, and practised in hands-on exercises. Although R is used as the language of choice for all programs, strict assumptions are avoided in the explanations in order for these to remain applicable to other programming languages. Features: provides exercises at the end of each chapter; includes three mini projects in the final chapter; presents a list of titles for further reading at the end of the book; discusses the key aspects of loops, recursions, program and algorithm efficiency and accuracy, sorting, linear systems of equations, and file processing; requires no prior background knowledge in this area.
Interactive data supports organizations to communicate effectively with their stakeholders and partners on the Internet and the World Wide Web. XBRL (eXtensible Business Reporting Language) is a key enabling technology for interactive data. XBRL links organizations and knowledge consumers in a variety of information value chains. XBRL is now in use in many countries and important settings. This book provides, for the first time, an in-depth analysis of XBRL. Thorough and up-to-date, this book explains the most popular constructs in XML, on which XBRL builds, and XBRL. The book provides business and policy makers, technologists and information engineers with an essential toolkit to understand the complete implementation of XBRL. The book begins with an overview of the business case for interactive data and XBRL. There is an introduction to XML and XBRL and the design and construction of XBRL taxonomies including extensions and multi-dimensional XBRL implementations. It provides a detailed analysis of the interaction of instance documents and taxonomies. The book also provides a synopsis of the most current XBRL technologies.
Systems programming provides the foundation for the world's computation. Writing performance-sensitive code requires a programming language that puts programmers in control of how memory, processor time, and other system resources are used. The Rust systems programming language combines that control with a modern type system that catches broad classes of common mistakes, from memory management errors to data races between threads. With this practical guide, experienced systems programmers will learn how to successfully bridge the gap between performance and safety using Rust. Jim Blandy, Jason Orendorff, and Leonora Tindall demonstrate how Rust's features put programmers in control over memory consumption and processor use by combining predictable performance with memory safety and trustworthy concurrency. You'll learn: Rust's fundamental data types and the core concepts of ownership and borrowing How to write flexible, efficient code with traits and generics How to write fast, multithreaded code without data races Rust's key power tools: closures, iterators, and asynchronous programming Collections, strings and text, input and output, macros, unsafe code, and foreign function interfaces This revised, updated edition covers the Rust 2021 Edition.
LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build applications that combine transactional, analytical, graph, probabilistic, and mathematical programming. LogiQL makes it possible to build hybrid applications that previously required multiple programming languages and databases. In this first book to cover LogiQL, the authors explain how to design, implement, and query deductive databases using this new programming language. LogiQL's declarative approach enables complex data structures and business rules to be simply specified and then automatically executed. It is especially suited to business applications requiring complex rules to be implemented efficiently, for example predictive analytics and supply chain optimization. Suitable for both novices and experienced developers, the book is written in easy-to-understand language. It includes many examples and exercises throughout to illustrate the main concepts and consolidate understanding.
You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus. Elixir is gaining mindshare as the programming language you can use to keep you software running forever, even in the face of unexpected errors and an ever growing need to use more processors. This power comes from an effective programming language, an excellent foundation for concurrency and its inheritance of a battle-tested framework called the OTP. If you're using frameworks like Phoenix or Nerves, you're already experiencing the features that make Elixir an excellent language for today's demands. This book shows you how to go beyond simple programming to designing, and that means building the right layers. Embrace those data structures that work best in functional programs and use them to build functions that perform and compose well, layer by layer, across processes. Test your code at the right place using the right techniques. Layer your code into pieces that are easy to understand and heal themselves when errors strike. Of all Elixir's boons, the most important one is that it guides us to design our programs in a way to most benefit from the architecture that they run on. The experts do it and now you can learn to design programs that do the same. What You Need: Elixir Version 1.7 or greater.
Features Teaches software design by showing programmers how to build the tools they use every day. Each chapter includes exercises to help readers check and deepen their understanding. All the example code can be downloaded, re-used, and modified under an open license.
PhoneGap is a standards-based, open-source development framework that can be deployed to any mobile device without losing the features of the native app-allowing for access to device contacts, the local file system, camera, and media on multiple platforms without requiring users to write a single line of code. Ideal for intermediate to advanced users, PhoneGap Build: Developing Cross Platform Mobile Applications in the Cloud offers the comprehensive coverage you need to harness the power of this dynamic tool. It provides complete coverage of the cloud computing platform and the theories behind cloud computing, using a series of engaging examples. The book explains the differences between existing mobile platforms, the different types of browsers they support, and the programming languages and integrated development environment required to develop apps for each of them. It then describes how PhoneGap makes the task of developing cross-platform mobile apps easier. This book will teach you how to use: HTML5, CSS3, and JavaScript to develop apps for devices across various mobile operating systems PhoneGap Build to develop mobile apps in the cloud PhoneGap with Sencha Touch and jQuery Mobile Back end databases to store and retrieve information The text starts with simpler applications and gradually moves toward describing advanced concepts and how to exploit different application programming interfaces and methods. By the time you finish the book, you will learn how to develop feature-rich mobile applications that can run on the cloud to support different platforms. Supplying authoritative guidance and proven best practices for designing cloud-based applications, the book is an ideal reference for cloud system developers, architects, and IT professionals. It is also suitable for use in instructional settings.
Although industry has been leveraging the advancements of component-oriented development and assembly (CODA) technology for some time, there has long been a need for a book that provides a complete overview of the multiple technologies that support CODA. Filling this need, Component-Oriented Development and Assembly supplies comprehensive coverage of the principles, practice, and paradigm of component-oriented development and assembly. The first part of the book provides the conceptual foundation for component-oriented software. Part II focuses on the various standard Java component models and describes how to develop a component-oriented system using these component models. Part III covers the various aspects of the component-oriented development paradigm. Based on the authors' research and teaching experience, the text focuses on the principles of component-oriented software development from a technical concepts perspective, designer's perspective, programmer's perspective, and manager's perspective. Covering popular component development frameworks based on Java, it is suitable as a textbook for component-oriented software for undergraduate and postgraduate courses. It is also an ideal reference for anyone looking to adopt the component-oriented development paradigm. The book provides readers with access to all the source code used in the book on a companion site (http://www.codabook.com). The source code for the CODA implementation of the case study presented in Chapter 11 is also hosted on the website. The website will also serve as a technical forum for further discussions on the topic and for any updates to the book. |
You may like...
Model-Driven Engineering of Information…
Liviu Gabriel Cretu, Florin Dumitriu
Paperback
R2,447
Discovery Miles 24 470
Edge Computing and Capability-Oriented…
Haishi Bai, Boris Scholl
Hardcover
R2,596
Discovery Miles 25 960
Conceptual Spaces: Elaborations and…
Mauri Kaipainen, Frank Zenker, …
Hardcover
R3,112
Discovery Miles 31 120
Business Process Reengineering - An ICT…
Heru Susanto, Fang-Yie Leu, …
Paperback
R2,456
Discovery Miles 24 560
Fog Computing in the Internet of Things…
Amir M. Rahmani, Pasi Liljeberg, …
Hardcover
R3,516
Discovery Miles 35 160
Cloud Computing in Medical Imaging
Ayman El-Baz, Jasjit S. Suri
Hardcover
R4,485
Discovery Miles 44 850
Empowered or Left Behind - Use of…
DeeDee M. Bennett Gayle, Xiaojun (Jenny) Yuan
Hardcover
R1,612
Discovery Miles 16 120
Intelligent Analytics for Industry 4.0…
Avinash Chandra Pandey, Abhishek Verma, …
Hardcover
R3,502
Discovery Miles 35 020
|