![]() |
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
This book presents 14 recent papers that provide an overview of the latest software reliability models, testing techniques, and applications. The book is targeted toward design engineers, software engineers, researchers, computer scientists, technical managers, and students wishing to conduct research or update their knowledge in the field of software reliability and testing. The papers on software reliability describe applications of software reliability growth modeling to software systems, investigate the relationship between program complexity measures and program errors, and explore the difficulty in accurately modeling software reliability. The remaining papers present new models that are useful in estimating the reliability of software systems and deal with the cost-reliability-optimal software release policies in software systems. The papers on software testing investigate the relationship between reliability and testing, discuss safety arguments and the role of software and system reliability and describe the use of an operational profile in testing a large-scale industrial software system for estimating software. The remaining papers present new models useful in testing software systems.
The two-book set LNCS 10205 + 10206 constitutes the proceedings of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2017, which took place in Uppsala, Sweden in April 2017, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017.The 48 full papers, 4 tool demonstration papers, and 12 software competition papers presented in these volumes were carefully reviewed and selected from 181 submissions to TACAS and 32 submissions to the software competition. They were organized in topical sections named: verification techniques; learning; synthesis; automata; concurrency and bisimulation; hybrid systems; security; run-time verification and logic; quantitative systems; SAT and SMT; and SV COMP.
Learn the basics of test driven development (TDD) using Ruby. You will carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first. These fundamental concepts will give you a solid TDD foundation to build upon. Test Driven Development in Ruby is written by a developer for developers. The concepts are first explained, then a coding demo illustrates how to apply the theory in practice. At the end of each chapter an exercise is given to reinforce the material. Complete with working files and code samples, you'll be able to work alongside the author, a trainer, by following the material in this book. What You Will Learn Carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first Use assertions Discover the structure of a test and the TDD cycle Gain an understanding of minimal implementation, starter test, story test, and next test Handle refactoring using Ruby Hide implementation details Test precisely and concretely Make your code robust Who This Book Is For Experienced Ruby programmers or web developers with some prior experience with Ruby.
Exploit the Power of Modern JavaScript and Avoid the Pitfalls JavaScript was originally designed for small-scale programming in web browsers, but modern JavaScript is radically different. Nowadays, JavaScript programmers actively embrace functional, object-oriented, and asynchronous programming, while deprecating error-prone concepts from the past. Modern JavaScript for the Impatient is a complete yet concise guide to JavaScript E6 and beyond. Rather than first requiring you to learn and transition from older versions, it helps you quickly get productive with today's far more powerful versions and rapidly move from languages such as Java, C#, C, or C++. Bestselling programming author Cay S. Horstmann covers all you need to know, provided in small chunks organized for quick access and easy understanding. Horstmann's practical insights and sample code help you take advantage of all that's new, avoid common pitfalls and obsolete features, and make the most of modern JavaScript's robust toolchains and frameworks. Quickly master modern JavaScript's implementation of fundamental programming constructs Avoid legacy techniques that create unnecessary complexity and risk Make the most of functional, object-oriented, and asynchronous techniques Use modules to efficiently organize and run complex programs Write more powerful, flexible, and concise programs with metaprogramming Extend JavaScript's power via JavaScript libraries, frameworks, and platforms Whether you're just getting started with JavaScript or you're an experienced developer, this guide will help you write tomorrow's most robust, efficient, and secure JavaScript code. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Go from competent C++ developer to skilled designer or architect using this book as your personal C++ design master class. Updated for the C++20 standard, this title will guide you through the design and implementation of an engaging case study that forms the backdrop for learning the art of applying design patterns and modern C++ techniques to create a high quality, robust application. Starting with a quick exploration of the requirements for building the application, you'll delve into selecting an appropriate architecture, eventually designing and implementing all of the necessary modules to meet the project's requirements. By the conclusion of Practical C++ Design, you'll have constructed a fully functioning calculator capable of building and executing on any platform that supports both Qt and C++20. Access to the complete source code will help speed your learning. Utilize the Model-View-Controller pattern as the basis for the architecture of the calculator; the observer pattern to design an event system; the singleton pattern as you design the calculator's central data repository, a reusable stack; the command pattern to design a command system supporting unlimited undo/redo; the abstract factory pattern to build a cross-platform plugin infrastructure for extensibility; coroutines to implement a command line interface with a lazy tokenizer; and more. After reading and using this book, you'll have begun the transition from C++ programmer to architect. What You Will Learn Read a specification document and translate it into a practical C++ design using some of the latest language features from C++20 Understand trade-offs in selecting between alternative design scenarios Gain practical experience in applying design patterns to realistic development scenarios Learn how to effectively use language elements of modern C++ to create a lasting design Develop a complete C++ program from a blank canvas through to a fully functioning, cross platform application Read, modify, and extend existing, high quality code Learn the fundamentals of API design, including class, module, and plugin interfaces Who This Book Is For The experienced C++ developer ready to take the next step to becoming a skilled C++ designer.
This book constitutes the refereed proceedings of the 4th International Symposium on Languages, Applications and Technologies, SLATE 2015, held in Madrid, Spain, in June 2015. The 17 revised full papers presented were carefully reviewed and selected from 57 submissions. The papers are organized in topical sections on human-human languages; human-computer languages; computer-computer languages.
Beginning Neo4j is your introduction in the world of graph databases, and the benefits they can bring to your applications. Neo4j is the most established graph database on the market, and it's always improving to bring more of its benefits to you. This book will take you from the installation of Neo4j through to building a full application with Neo4j at its heart, and everything in between. Using this book, you'll get everything up and running, and then learn how to use Neo4j to build up recommendations, relationships, and calculate the shortest route between two locations. With example data models, best practices, and an application putting everything together, this book will give you everything you need to really get started with Neo4j. Neo4j is being used by social media and ecommerce industry giants. You can take advantage of Neo4j's powerful features and benefits - add Beginning Neo4j to your library today.
This book teaches computer programming to the complete beginner using the native C language. As such, it assumes you have no knowledge whatsoever about programming. The main goal of this book is to teach fundamental programming principles using C, one of the most widely used programming languages in the world today. We discuss only those features and statements in C that are necessary to achieve our goal. Once you learn the principles well, they can be applied to any language. If you are worried that you are not good at high-school mathematics, don't be. It is a myth that you must be good at mathematics to learn programming. C is considered a 'modern' language even though its roots date back to the 1970s. Originally, C was designed for writing 'systems' programs-things like operating systems, editors, compilers, assemblers and input/output utility programs. But, today, C is used for writing all kinds of applications programs as well-word processing programs, spreadsheet programs, database management programs, accounting programs, games, robots, embedded systems/electronics (i.e., Arduino), educational software-the list is endless. Note: Appendices A-D are available as part of the free source code download at the Apress website. What You Will Learn: How to get started with programming using the C language How to use the basics of C How to program with sequence, selection and repetition logic How to work with characters How to work with functions How to use arrays Who This Book Is For:This book is intended for anyone who is learning programming for the first time.
Dive into the software development profession from nearly every angle. You'll learn about the power of code generation as well as the benefits and dangers of design patterns. Go far beyond just writing code and tackle the emotional, psychological, and social aspects of software development as well. In dozens of nuggets of wisdom, you'll discover: * What will really keep you motivated to code in the long run * How you ensure your software project launches on time * Why applications get complex when people crave simple software * How you can survive a difficult client project * How we can collectively promote our industry to the masses This book is packed with lessons Ka Wai Cheung has learned from more than a decade of experience in the industry. After reading, you'll come away confident in all aspects of your career in web development.
This book constitutes the thoroughly refereed proceedings of the 11th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2016, held in Rome, Italy, in April 2016. The 11 full papers presented were carefully reviewed and selected from 79 submissions. The mission of ENASE is to be a prime international forum to discuss and publish research findings and IT industry experiences with relation to the evaluation of novel approaches to software engineering. The conference acknowledges necessary changes in systems and software thinking due to contemporary shifts of computing paradigm to e-services, cloud computing, mobile connectivity, business processes, and societal participation.
This book constitutes the proceedings of the 26th European Symposium on Programming, ESOP 2017, which took place in Uppsala, Sweden in April 2017, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017. The 36 papers presented in this volume were carefully reviewed and selected from 112 submissions. They cover traditional as well as emerging topics in programming languages. In detail they deal with semantic foundation and type system for probabilistic programming; techniqu3es for verifying concurrent or higher-order programs; programming languages for arrays or web data; program analysis and verification of non-standard program properties; foundation and application of interactive theorem proving; graph rewriting; separation logic; session type; type theory; and implicit computational complexity.
Now that formal methods are seen as a necessary and beneficial theoretical tool for systems designers and programmers, this book offers a thorough and comprehensive tutorial introduction to Z taking as its starting point the practical use of this formal specification language. Case studies are used to illustrate all aspects of Z and are introduced early on in order to motivate the mathematical notations that have to be covered. Standard notation is used throughout. Many proofs are included and they are presented using the commonest format for natural deduction proofs. With exercises given and clear descriptions and explanations provided, this book is required reading for students and post-experience software engineers learning Z. Enhancements to this edition are more exercises, information on how to relate Z specifications to actual program code, and amendments so that the book is in line with the current language standards.
Learn how to code for the iMac, Mac mini, Mac Pro, and MacBook using Swift, Apple's hottest programming language. Fully updated to cover the new MacBook Touch Bar, macOS Programming for Absolute Beginners will not only teach complete programming novices how to write macOS programs, but it can also help experienced programmers moving to the Mac for the first time. You will learn the principles of programming, how to use Swift and Xcode, and how to combine your knowledge into writing macOS programs. If you've always wanted to learn coding but felt stymied by the limitation of simplistic programming languages or intimidated by professional but complicated programming languages, then you'll want to learn Swift. Swift is your gateway to both Mac and iOS app development while being powerful and easy to learn at the same time, and macOS Programming for Absolute Beginners is the perfect place to start - add it to your library today.What You'll Learn Master the basic principles of object-oriented programming Use Xcode, the main programming tool used for both macOS and iOS development See what makes Swift unique and powerful as a programming language and why you should learn it Create macOS programs using Swift and Xcode Apply interface principles that follow Apple's Human Interface Guidelines Take advantage of the new Touch Bar Who This Book Is For People who want to learn programming for the first time and for experienced programmers wanting to learn Xcode and the Mac for the first time.
Take the pain out of dealing with relational databases in an object-oriented programming world. With this short book, you can save time and money by simply coding less while accomplishing more with the Doctrine persistence framework, a leading persistence solution for PHP programmers and web developers. PHP Persistence teaches you about PHP persistence and how to use it effectively for your database-driven applications. Bestselling author Michael Romer leverages his own vast experience to show you what you need to know about Doctrine 2 and how to use it in your own projects. Along the way you'll learn about powerful persistence techniques, such as object-relational mapping (ORM) in PHP. What You'll Learn Define entities and references between entities Manage entities Master the Doctrine Query Language Use appropriate command-line tools for PHP persistence Program for caching Who This Book Is For Experienced PHP programmers and web developers with some exposure to PHP.
Learn how to develop a complete and robust Node, express.js and MongoDB-based web application and mobile application backend quickly using KeystoneJS. You'll learn how KeystoneJS makes complicated things simple, without limiting the power or flexibility of node.js or the frameworks it is built on. Beginning KeystoneJS shows you how to build database-driven websites, applications, and APIs, all built upon Express, the defacto web server for Node.js that uses MongoDB as its storage backend. What You Will Learn Discover the setup and architecture of the KeystoneJS framework. See how easy it is to extend KeystoneJS Understand the custom types and fields provided out of the box Write clean markup and create templates using Swig Use the powerful editing options in the framework's responsive dashboard Who This Book Is For Technical and non-technical people who would like to build applications quickly to leverage structured data to improve productivity.
This book constitutes the refereed proceedings of the 5th International Workshop on Formal Techniques for Safety-Critical Systems, FTSCS 2016, held in Tokyo, Japan, in November 2016. The 9 revised full papers presented together with an abstract of an invited talk were carefully reviewed and selected from 23 submissions. The papers are organized in topical sections on specification and verification; automotive and railway systems; circuits and cyber-physical systems; parametrized verification.
This concise step-by-step guide includes the best practices and patterns that help readers of all levels to unearth the potential of Materialize. A responsive framework based on Google's innovative Material Design language, Materialize provides CSS and JavaScript features similar to other popular frameworks such as Bootstrap and Foundation. With the advent of Material Design, developers can no longer overlook its importance and resourcefulness in web design and development. However, incorporating this toolkit in the web application can be quite a juggle. Compared to other design languages available in the market today, Materialize is the only one that adds depth and motion to its application elements. Ideal for web designers and developers, Introducing Materialize is your comprehensive training guide to the newest design language you need to learn. What You'll Learn Learn why Materialize is so popular and resourceful Get up and Running with this awesome toolkit Quick start with Materialize and creating unique designs Downloading and Installing the framework Get a grip on the fundamentals of Material Design Gather comprehensive knowledge about the framework Unearth the potential of this framework for real time implementation Who This Book Is For Ideal for web developers and designers with good experience of UI technologies such as HTML, CSS, JavaScript and jQuery. This book does not require prior experience of any responsive framework. It caters to readers on all levels ranging from beginners to experienced professionals.
Part technical and part theoretical, this practical guide to web typography helps designers understand how the typographic choices they make in layout and prototyping programs behave once they are turned into live code. Through a series of demos, this book teaches designers how to create typographic specific webpages by learning just enough HTML and CSS to be able to view the pages in different browsers, devices, and operating systems. With live webpages to evaluate, designers will learn how to test those pages for supported features and performance, ensuring font choices look as good in the browser as it does in their layout program, delivering a speedy experience to the users. Key Features Demonstrates the minimal amount of HTML and CSS necessary to be able to create webpages to see typographic choices in the browser. Discusses responsive design and how to evaluate and test those choices for performance and usability prior to front-end development. Demonstrates how to review your own typographic, image, and layout choices in the browser through a series of demos in the book.
Make your Swift apps agile and sound with this short step by step guide. You'll learn about unit testing, mocking and continuous integration and how to get these key ingredients running in your Swift projects. This book also looks at how to write your Swift apps using test driven development (TDD). Agile practices have made major inroads in iOS development, however it's very unusual to see something as basic as unit testing on a Swift application. Done correctly, Agile development results in a significant increase in development efficiency and a reduction in the number of defects. Apple has released unit testing and code coverage frameworks for Swift development in XCode. Up until now getting unit testing up and running in Swift was not for the faint-hearted. Thankfully now, there is no excuse other than a lack of information on where to get started. iOS developers are faced with their own set of problems such as tightly coupled code, fragmentation, immature testing tools all of which can be solved using existing Agile tools and techniques. Swift Programming Using Agile Tools and Techniques is your solution to handling these tasks. What You Will Learn Write unit tests in Swift Write an application using test driven development Examine GUI testing, refactoring, and mocking frameworks Set up and configure a continuous integration server Measure code coverage Who This Book Is For Swift developers and would be mobile app testers will benefit from the guidance in this book.
Learn what Backdrop CMS is and how it fulfills the role of a content management system, along with how to install and configure it. This book teaches how to create and manage content, taxonomy, users, page layouts, and menus to get the best site possible. You'll also see how to install on shared hosting - which is a focus of the Backdrop CMS team - to make hosting your website affordable. Backdrop CMS has a very strong community, and Beginning Backdrop CMS shows you how to leverage Backdrop CMS's repository of contributed modules and themes to expand the functionality and look of your site, along with how to contribute your own material to the community. Beginning Backdrop CMS focuses on the user who is responsible for building, maintaining, and managing an organization's website and who is interested in Backdrop CMS's ability to meet their site's requirements. It covers why you should consider using a content management system when building a new web site. By reading this book, you will: Understand why you should use Backdrop CMS and the power of the platform. Build confidence in your ability to use Backdrop CMS. Gain the knowledge necessary to build, deploy, and manage web sites of moderate complexity on Backdrop CMS. Understand the process for migrating a Drupal 6 or 7 site to Backdrop CMS. What You Will Learn Install a basic Backdrop CMS web site from scratch Create content in your new Backdrop CMS web site Work with and manage menus and users Build and use layouts when creating pages on your site Create a Backdrop CMS theme Understand the basics of a Backdrop CMS module Who This Book is For Technical users who need to use Backdrop CMS to create websites using the platform and to manage content. Developers who are new to the Backdrop CMS platform. The book is also targeted at organizations that currently use Drupal 6 or 7 and who wish to remain on the base architecture of those platforms as they move forward on Backdrop CMS.
Learn how to build scalable APIs using the Node.js platform and ES6 (EcmaScript 2015) with this quick, informative guide. Developing systems for the wide range of devices available in the modern world requires the construction of APIs designed to work only with data in a centralized manner, allowing client-side applications to be developed separately and have a unique interface for the final user. Node.js has proven itself to be an excellent platform for building REST APIs because of its single-thread architecture. It has a low learning curve and can be understood by anyone who has a basic understanding of the JavaScript language. Use Building APIs with Node.js today to understand how Node.js APIs work, and how you can build your own. What You Will Learn Build scalable APIs using the Node.js platform Use ES6, Express, Passport, ApiDoc, Mocha, Helmet and more Integrate an SQL database through Sequelize.js and build a single page application using Vanilla.js Who This Book Is For Ideal for developers who have a basic understanding of JavaScript and Node.js.
While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined - ideally there exist complete precise descriptions of the source and target languages. Additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available. This book deals with the analysis phase of translators for programming languages. It describes lexical, syntactic and semantic analysis, specification mechanisms for these tasks from the theory of formal languages, and methods for automatic generation based on the theory of automata. The authors present a conceptual translation structure, i.e., a division into a set of modules, which transform an input program into a sequence of steps in a machine program, and they then describe the interfaces between the modules. Finally, the structures of real translators are outlined. The book contains the necessary theory and advice for implementation. This book is intended for students of computer science. The book is supported throughout with examples, exercises and program fragments.
In his study, Mahdi Derakhshanmanesh builds on the state of the art in modeling by proposing to integrate models into running software on the component-level without translating them to code. Such so-called model-integrating software exploits all advantages of models: models implicitly support a good separation of concerns, they are self-documenting and thus improve understandability and maintainability and in contrast to model-driven approaches there is no synchronization problem anymore between the models and the code generated from them. Using model-integrating components, software will be easier to build and easier to evolve by just modifying the respective model in an editor. Furthermore, software may also adapt itself at runtime by transforming its own model part.
This book contains the thoroughly refereed papers from the 9th International Ershov Informatics Conference, PSI 2014, held in St. Petersburg, Russia, in June 2014. The 17 revised full papers, 11 revised short papers, and 2 system and experimental papers presented in this book were carefully reviewed and selected from 80 submissions. The volume also contains 5 keynote talks which cover a range of hot topics in computer science and informatics. The papers cover various topics related to the foundations of program and system development and analysis, programming methodology and software engineering and information technologies.
This book provides a platform for addressing human factors challenges in software and systems engineering, both pushing the boundaries of current research and responding to new challenges, fostering new research ideas in the process. This book is intended for researchers, professional software and systems engineers, and human factors and human systems integration experts to help them address societal challenges for next-generation systems with applications for meeting them. Topics include evolutionary and complex systems, human systems integration, smart grids and infrastructure, workforce training requirements, systems engineering education, and defense and aerospace. Based on the AHFE 2016 International Conference on Human Factors, Software, and Systems Engineering, held on July 27-31, 2016, in Walt Disney World (R), Florida, USA. This book represents an inspiring guide for all researchers and professionals in the field of Human Factors, Software, and Systems Engineering. |
You may like...
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
|