![]() |
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
Program synthesis is a solution to the software crisis. If we had a program that develops correct programs from specifications, then program validation and maintenance would disappear from the software life-cycle, and one could focus on the more creative tasks of specification elaboration, validation, and maintenance, because replay of program development would be less costly. This monograph describes a novel approach to Inductive Logic Programming (ILP), which cross-fertilizes logic programming and machine learning. Aiming at the synthesis of recursive logic programs only, and this from incomplete information, we take a software engineering approach that is more appropriate than a pure artificial intelligence approach. This book is suitable as a secondary text for graduate level courses in software engineering and artificial intelligence, and as a reference for practitioners of program synthesis.
"Handbook of Open Source Tools" introduces a comprehensive collection of advanced open source tools useful in developing software applications. The book contains information on more than 200 open-source tools which include software construction utilities for compilers, virtual-machines, database, graphics, high-performance computing, OpenGL, geometry, algebra, graph theory, GUIs and more. Special highlights for software construction utilities and application libraries are included. Each tool is covered in the context of a real like application development setting. This unique handbook presents a comprehensive discussion of advanced tools, a valuable asset used by most application developers and programmers; includes a special focus on Mathematical Open Source Software not available in most Open Source Software books, and introduces several tools (eg ACL2, CLIPS, CUDA, and COIN) which are not known outside of select groups, but are very powerful. "Handbook of Open Source Tools "is designed for application developers and programmers working with Open Source Tools. Advanced-level students concentrating on Engineering, Mathematics and Computer Science will find this reference a valuable asset as well.
Delphi is a Windows programming environment, which lets you create self-contained, user friendly Windows applications in a very short time. Your program's windows are 'drawn' on the screen, so that you can always see exactly what the eventual application will look like. This book is aimed at those who are new to programming, or new to Delphi.
This book provides an introduction to the core features of the Python programming language and Matplotlib plotting routings for scientists and engineers (or students of either discipline) who want to use Python (TM) to analyse data, simulate physical processes, and render publication-quality plots. No previous programming experience is needed before reading the first page.Readers will learn the core features of the Python programming language in under a day. They will be able to immediately use Python to implement codes that solve their own problems and make beautiful plots and animations. Python code is extremely fast to prototype, allowing users to achieve results quickly and accurately. The examples within the book are available for download. Python and Matplotlib Essentials for Scientists and Engineers is accessible for motivated high-school students, but will likely be most useful for undergraduate and graduate students as well as working professionals who have some background with the basic mathematical concepts. This book is intended for technical people who want to get things done.
'One of the best software design books of all time' - BookAuthority Cory Althoff is a self-taught programmer. After a year of self-study, he learned to program well enough to land a job as a software engineer II at eBay. But once he got there, he realised he was severely under-prepared. He was overwhelmed by the amount of things he needed to know but hadn't learned. His journey learning to program, and his experience in first software engineering job were the inspiration for this book. This book is not just about learning to program, although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, Althoff also cover the rest of the things you need to know to program professionally that classes and books don't teach you. The Self-taught Programmer is a roadmap, a guide to take you from writing your first Python program to passing your first technical interview. The book is divided into five sections: 1. Learn to program in Python 3 and build your first program. 2. Learn object-oriented programming and create a powerful Python program to get you hooked. 3. Learn to use tools like Git, Bash and regular expressions. Then use your new coding skills to build a web scraper. 4. Study computer science fundamentals like data structures and algorithms. 5. Finish with best coding practices, tips for working with a team and advice on landing a programming job. You can learn to program professionally. The path is there. Will you take it? From the author I spent one year writing The Self-Taught Programmer. It was an exciting and rewarding experience. I treated my book like a software project. After I finished writing it, I created a program to pick out all of the code examples from the book and execute them in Python to make sure all 300+ examples worked properly. Then I wrote software to add line numbers and color to every code example. Finally, I had a group of 200 new programmers 'beta read' the book to identify poorly explained concepts and look for any errors my program missed. I hope you learn as much reading my book as I did writing it. Best of luck with your programming!
Verification is too often approached in an ad hoc fashion. Visually inspecting simulation results is no longer feasible and the directed test-case methodology is reaching its limit. Moore's Law demands a productivity revolution in functional verification methodology. Writing Testbenches Using SystemVerilog offers a clear blueprint of a verification process that aims for first-time success using the SystemVerilog language. From simulators to source management tools, from specification to functional coverage, from I's and O's to high-level abstractions, from interfaces to bus-functional models, from transactions to self-checking testbenches, from directed testcases to constrained random generators, from behavioral models to regression suites, this book covers it all. Writing Testbenches Using SystemVerilog presents many of the functional verification features that were added to the Verilog language as part of SystemVerilog. Interfaces, virtual modports, classes, program blocks, clocking blocks and others SystemVerilog features are introduced within a coherent verification methodology and usage model. Writing Testbenches Using SystemVerilog introduces the reader to all elements of a modern, scalable verification methodology. It is an introduction and prelude to the verification methodology detailed in the Verification Methodology Manual for SystemVerilog. It is a SystemVerilog version of the author's bestselling book Writing Testbenches: Functional Verification of HDL Models.
Within a fabric of hope and tragedy, promises and betrayals, "The Loss of Innocence" introduces an epic tale among its three major characters of revenge and greed, war and intrigue, and the struggles between government and religion."The Loss of Innocence" explores the effects of childhood psychological trauma and the ways in which different individuals respond in their own unique ways. Joe Horgon, Chardin the High Priest, and Chardin must each overcome their childhood expectations that become shattered by the choices they make or others make for them. As adults, they will be held responsible for their actions and the effects of these on all those around them. The backdrop for this is the clash of cultures between the simple people of Torkos and the powerful Unified Territories. What begins as a big country seeking to capture and devour a smaller prey, turns into a war between good and evil, between governments and religion in which everyone may end up a loser.
LOTOS (Language Of Temporal Ordering Specification) became an international standard in 1989, although application of preliminary versions of the language to communication services and protocols of the ISO/OSI family dates back to 1984. This history of the use of LOTOS made it apparent that more advantages than the pure production of standard reference documents were to be expected from the use of such formal description techniques. LOTOSphere: Software Development with LOTOS describes in depth a five year project that moved LOTOS out of the ISO tower into software engineering practice. LOTOS became a vehicle for efficient, yet formally based industrial software specification, design, verification, implementation and testing. LOTOSphere: Software Development with LOTOS is divided into six parts. The first introduces the reader to LOTOS and the project LOTOSphere. The five remaining each treat an important part of the software development life cycle using LOTOS. This is the first book to give a comprehensive treatment of the use of these formal description techniques in a software engineering environment. It will thus be a valuable reference for researchers and software developers and can also be used as a text for an advanced course on the subject.
During the last three decades several different styles of semantics for program ming languages have been developed. This book compares two of them: the operational and the denotational approach. On the basis of several exam ples we show how to define operational and denotational semantic models for programming languages. Furthermore, we introduce a general technique for comparing various semantic models for a given language. We focus on different degrees of nondeterminism in programming lan guages. Nondeterminism arises naturally in concurrent languages. It is also an important concept in specification languages. In the examples discussed, the degree of non determinism ranges from a choice between two alternatives to a choice between a collection of alternatives indexed by a closed interval of the real numbers. The former arises in a language with nondeterministic choices. A real time language with dense choices gives rise to the latter. We also consider the nondeterministic random assignment and parallel composition, both couched in a simple language. Besides non determinism our four example languages contain some form of recursion, a key ingredient of programming languages."
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to social integration and monetization, this complete tour of Apple's powerful suite of game technologies covers it all. Familiar with Swift but new to game development? No problem. Start with the basics and then layer in the complexity as you work your way through three exciting - and fully playable - games. In the end, you'll know everything you need to go off and create your own video game masterpiece for any Apple platform. Discover the power of Apple Game Frameworks, Xcode, and Swift by building three exciting games: Gloop Drop - a new twist on a classic arcade game, Val's Revenge - a roguelike dungeon crawler, and Hog - a social player vs. player mobile dice game. With Apple Game Frameworks, you can create high-performance, power-efficient games that work across all Apple platforms, including iOS, macOS, tvOS, and watchOS. In this book, you'll discover how to... Design and develop rich 2D gaming experiences using Apple's built-in game frameworks. Harness the power of SpriteKit using Xcode and Swift to create engaging player experiences. Use the visual Scene Editor to build complete scenes. Unleash the power of the Particle Editor to create amazing effects. Use GameplayKit to add advanced features to your games like pathfinding, artificial intelligence, and complex rule systems. Build larger, more complex worlds with tile maps and Xcode's visual Tile Map editor. Bring people together using GameKit and Game Center, Apple's social gaming network. Increase revenue with third-party banner ads and rewarded ads using Google AdMob (TM). Monetize your games with StoreKit and in-app purchases. So, grab your gear and get your game on - it's time to level up your skills. What You Need: macOS Mojave 10.14.6 or newer Xcode 11.3 or newer Basic knowledge of Swift 5.1.4 or newer
For all basic-to-intermediate level courses in Visual C# programming. An informative, engaging, challenging and entertaining introduction to Visual C# Created by world-renowned programming instructors Paul and Harvey Deitel, Visual C# How to Program, 6th Edition introduces students to the world of desktop, mobile and web app development with Microsoft's (R) Visual C# (R) programming language. Students will use the .NET platform and the Visual Studio (R) Integrated Development Environment to write, test, and debug applications and run them on a wide variety of Windows (R) devices. At the heart of the book is the Deitel signature live-code approach-rather than using code snippets, the authors present concepts in the context of complete working programs followed by sample executions. Students begin by getting comfortable with the Visual Studio Community edition IDE and basic C# syntax. Next, they build their skills one step at a time, mastering control structures, classes, objects, methods, variables, arrays, and the core techniques of object-oriented programming. With this strong foundation in place, the authors introduce more sophisticated techniques, including searching, sorting, data structures, generics, and collections. Additional practice is provided through a broad range of example programs and exercises selected from computer science, business, education, social issues, personal utilities, sports, mathematics, puzzles, simulation, game playing, graphics, multimedia and many other areas.
Appropriate for use as a graduate text or a professional reference, Languages for Digital Embedded Systems is the first detailed, broad survey of hardware and software description languages for embedded system design. Instead of promoting the one language that will solve all design problems (which does not and will not ever exist), this book takes the view that different problems demand different languages, and a designer who knows the spectrum of available languages has the advantage over one who is trapped using the wrong language. Languages for Digital Embedded Systems concentrates on successful, widely-used design languages, with a secondary emphasis on those with significant theoretical value. The syntax, semantics, and implementation of each language is discussed, since although hardware synthesis and software compilation technology have steadily improved, coding style still matters, and a thorough understanding of how a language is synthesized or compiled is generally necessary to take full advantage of a language. Practicing designers, graduate students, and advanced undergraduates will all benefit from this book. It assumes familiarity with some hardware or software languages, but takes a practical, descriptive view that avoids formalism.
Objective Caml (OCaml) is an open source programming language that allows you to utilize both functional and object-oriented programming. A very fast and efficient language, OCaml's speed is on par with the likes of C/C++, and Practical OCaml is the only book available that covers OCaml. The compiler is available for a variety of platforms, including Windows, Unix, Linux, and Apple. OCaml can be found in a variety of scientific applications and is used as a teaching language in universities. Practical OCaml teaches Objective Caml in a straightforward and practical manner. All the features of this functional programming language are taught by example. You will learn how to utilize OCaml to create a simple database, perform reporting, and create a spam filter. You will also learn how to scan complex log files, create your own network servers by creating a shoutcast server, and create a web crawler. By this book's conclusion, you'll be able to decipher when and why OCaml should be used, and be prepared to create your own applications with OCaml.
"JDBC Recipes" provides easy-to-implement, usable solutions to problems in relational databases that use JDBC. You will be able to integrate these solutions into your web-based applications, such as Java servlets, JavaServer Pages, and Java server-side frameworks. This handy book allows you to cut and paste the solutions without any code changes. This book focuses on topics that have been ignored in most other JDBC books, such as database and result set metadata. It will help you develop database solutions, like adapters, connectors, and frameworks using Java/JDBC. The insightful solutions will enable you to handle all data types, including large binary objects. A unique feature of the book is that it presents JDBC solutions (result sets) in XML.
This book brings together a number of researchers and developers from industry and academia who report on their work. It is of interest to language designers and the creators of toolkits, UIMSs, and other user interface tools.
Abu?erover?owoccurswheninputiswrittenintoamemorybu?erthatisnot large enough to hold the input. Bu?er over?ows may allow a malicious person to gain control over a computer system in that a crafted input can trick the defectiveprogramintoexecutingcodethatisencodedintheinputitself.They are recognised as one of the most widespread forms of security vulnerability, and many workarounds, including new processor features, have been proposed to contain the threat. This book describes a static analysis that aims to prove the absence of bu?er over?ows in C programs. The analysis is conservative in the sense that it locates every possible over?ow. Furthermore, it is fully automatic in that it requires no user annotations in the input program. Thekeyideaoftheanalysisistoinferasymbolicstateforeachp- gram point that describes the possible variable valuations that can arise at that point. The program is correct if the inferred values for array indices and pointer o?sets lie within the bounds of the accessed bu?er. The symbolic state consists of a ?nite set of linear inequalities whose feasible points induce a convex polyhedron that represents an approximation to possible variable valuations. The book formally describes how program operations are mapped to operations on polyhedra and details how to limit the analysis to those p- tionsofstructuresandarraysthatarerelevantforveri?cation.Withrespectto operations on string bu?ers, we demonstrate how to analyse C strings whose length is determined by anul character within the string.
Unit Integration Testing (UIT) had been a challenge because there was no tool that could help in XHR programming and unit integration validations in an efficient way until Cypress arrived. Cypress started releasing versions in 2015 and became popular in 2018 with version 2.0.0. This book explores Cypress scripts that help implement 'shift left testing', which is a dream come true for many software testers. Shift left occurs in the majority of testing projects, but could not be implemented fully because tools were unavailable and knowledge was lacking about the possibilities of testing early in the life cycle. Shift left is a key testing strategy to help testing teams focus less on defect identifications and more on developing practices to prevent defects. Cypress scripts can help front-end developers and quality engineers to work together to find defects soon after web components are built. These components can be tested immediately after they are built with Cypress Test Driven Development (TDD) scripts. Thus, defects can be fixed straight away during the development stage. Testing teams do not have to worry about finding these same defects in a later development stage because Cypress tests keep verifying components in the later stages. Defect fixing has become much cheaper with Cypress than when other tools are used. The book also covers Behaviour Driven Development (BDD)-based Gherkin scripts and the Cypress Cucumber preprocessor, which can improve test scenario coverage. Automated Software Testing with Cypress is written to fulfil the BDD and TDD needs of testing teams. Two distinct open source repositories are provided in Github to help start running Cypress tests in no time!
This is a self-paced professional book that shows how to use Visual Studio 2008, C# 2008, and the .NET 3.5 classes to develop Windows Forms applications. It's an object-oriented book that shows how to use business classes, inheritance, and interfaces the way they're used in the real world. It's a database programming book that shows how to prototype professional database applications using RAD features like data sources and the DataGridView control. And it's a book that shows you how to take advantage of 2008 features like object and collection initialisers, automatically implemented properties, and LINQ. When you're done, you'll be able to develop three-tiered, object-oriented applications the way the best professionals develop them. That's why we say: No other book teaches you so much, so fast, or so thoroughly.
Advanced Logo shows how LOGO can be used as a vehicle to promote problem solving skills among secondary students, college students, and instructors. The book demonstrates the wide range of educational domains that can be explored through LOGO including generative grammars, physical laws of motion and mechanics, artificial intelligence, robotics, and calculus.
To understand Jini, imagine that you could move to a new office across the world or check into any hotel--and could simply plug your notebook or Palm directly into the local network. Your device would immediately be recognized, and you would have access to the services at that location--transparently. Jini is Sun's Java-based technology, with potential to make transparent universal plug and play a reality. Foundations of Jini 2 Programming, based on Jini 2.0, is an expanded, updated version of the most popular online tutorial for Jini. This is the perfect book for any Java programmer interested in learning and applying Jini toward their respective network applications (any Java-enabled device interoperable with another Java-enabled device).
The book provides an introduction to common programming tools and methods in numerical mathematics and scientific computing. Unlike standard approaches, it does not focus on any specific language, but aims to explain the underlying ideas. Typically, new concepts are first introduced in the particularly user-friendly Python language and then transferred and extended in various programming environments from C/C++, Julia and MATLAB to Maple and Mathematica. This includes various approaches to distributed computing. By examining and comparing different languages, the book is also helpful for mathematicians and practitioners in deciding which programming language to use for which purposes. At a more advanced level, special tools for the automated solution of partial differential equations using the finite element method are discussed. On a more experimental level, the basic methods of scientific machine learning in artificial neural networks are explained and illustrated.
Digital Image Processing with C++ presents the theory of digital image processing, and implementations of algorithms using a dedicated library. Processing a digital image means transforming its content (denoising, stylizing, etc.), or extracting information to solve a given problem (object recognition, measurement, motion estimation, etc.). This book presents the mathematical theories underlying digital image processing, as well as their practical implementation through examples of algorithms implemented in the C++ language, using the free and easy-to-use CImg library. Chapters cover in a broad way the field of digital image processing and proposes practical and functional implementations of each method theoretically described. The main topics covered include filtering in spatial and frequency domains, mathematical morphology, feature extraction and applications to segmentation, motion estimation, multispectral image processing and 3D visualization. Students or developers wishing to discover or specialize in this discipline, teachers and researchers wishing to quickly prototype new algorithms, or develop courses, will all find in this book material to discover image processing or deepen their knowledge in this field.
Discusses concepts such as Basic Programming Principles, OOP Principles, Database Programming, GUI Programming, Network Programming, Data Analytics and Visualization, Statistical Analysis, Virtual Reality, Web Development, Machine Learning, Deep Learning Provides the code and the output for all the concepts discussed Includes a case study at the end of each chapter
Enterprises have made amazing advances by taking advantage of data about their business to provide predictions and understanding of their customers, markets, and products. But as the world of business becomes more interconnected and global, enterprise data is no long a monolith; it is just a part of a vast web of data. Managing data on a world-wide scale is a key capability for any business today. The Semantic Web treats data as a distributed resource on the scale of the World Wide Web, and incorporates features to address the challenges of massive data distribution as part of its basic design. The aim of the first two editions was to motivate the Semantic Web technology stack from end-to-end; to describe not only what the Semantic Web standards are and how they work, but also what their goals are and why they were designed as they are. It tells a coherent story from beginning to end of how the standards work to manage a world-wide distributed web of knowledge in a meaningful way. The third edition builds on this foundation to bring Semantic Web practice to enterprise. Fabien Gandon joins Dean Allemang and Jim Hendler, bringing with him years of experience in global linked data, to open up the story to a modern view of global linked data. While the overall story is the same, the examples have been brought up to date and applied in a modern setting, where enterprise and global data come together as a living, linked network of data. Also included with the third edition, all of the data sets and queries are available online for study and experimentation at data.world/swwo. |
You may like...
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R751 Discovery Miles 7 510
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann
Hardcover
R4,258
Discovery Miles 42 580
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,273
Discovery Miles 12 730
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
|