![]() |
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
Deep learning has transformed the fields of computer vision, image processing, and natural language applications. Thanks to TensorFlow.js, now JavaScript developers can build deep learning apps without relying on Python or R. Deep Learning with JavaScript shows developers how they can bring DL technology to the web. Written by the main authors of the TensorFlow library, this new book provides fascinating use cases and in-depth instruction for deep learning apps in JavaScript in your browser or on Node. Deploying computer vision, audio, and natural language processing in the browser Fine-tuning machine learning models with client-side data Constructing and training a neural network Interactive AI for browser games using deep reinforcement learning Generative neural networks to generate music and pictures TensorFlow.js is an open-source JavaScript library for defining, training, and deploying deep learning models to the web browser. It's quickly gaining popularity with developers for its amazing set of benefits including scalability, responsiveness, modularity, and portability. Shanging Cai and Eric Nielsen are senior software engineers on the Google Brain team. Stan Bileschi is the technical lead for Google's TensorFlow Usability team, which built the TensorFlow Layers API. All three have advanced degrees from MIT. Together, they're responsible for writing most of TensorFlow.js.
Written by high performance computing (HPC) experts, Introduction to High Performance Computing for Scientists and Engineers provides a solid introduction to current mainstream computer architecture, dominant parallel programming models, and useful optimization strategies for scientific HPC. From working in a scientific computing center, the authors gained a unique perspective on the requirements and attitudes of users as well as manufacturers of parallel computers.
The C programming language is a popular language in industries as well as academics. Since its invention and standardized as ANSI C, several other standards known as C99, C11, and C17 were published with new features in subsequent years. This book covers all the traits of ANSI C and includes new features present in other standards. The content of this book helps a beginner to learn the fundamental concept of the C language. The book contains a step-by-step explanation of every program that allows a learner to understand the syntax and builds a foundation to write similar programs. The explanation clarity, exercises, and illustrations present in this book make it a complete textbook in all aspects. Features: Other than ANSI C, the book explains the new C standards like C99, C11, and C17. Most basic and easy-to-follow programs are chosen to explain the concepts and their syntax. More emphasis is given to the topics like Functions, Pointers, and Structures. Recursion is emphasized with numerous programming examples and diagrams. A separate chapter on the command-line argument and preprocessors is included that concisely explains their usage. Several real-life figures are taken to explain the concepts of dynamic memory allocation, file handling, and the difference between structure and union. The book contains more than 260 illustrations, more than 200 programs, and exercises at the end of each chapter. This book serves as a textbook for UG/PG courses in science and engineering. The researcher, postgraduate engineers, and embedded software developers can also keep this book as reference material for their fundamental learning.
Recursion is one of the most fundamental concepts in computer science and a key programming technique that allows computations to be carried out repeatedly. Despite the importance of recursion for algorithm design, most programming books do not cover the topic in detail, despite the fact that numerous computer programming professors and researchers in the field of computer science education agree that recursion is difficult for novice students. Introduction to Recursive Programming provides a detailed and comprehensive introduction to recursion. This text will serve as a useful guide for anyone who wants to learn how to think and program recursively, by analyzing a wide variety of computational problems of diverse difficulty. It contains specific chapters on the most common types of recursion (linear, tail, and multiple), as well as on algorithm design paradigms in which recursion is prevalent (divide and conquer, and backtracking). Therefore, it can be used in introductory programming courses, and in more advanced classes on algorithm design. The book also covers lower-level topics related to iteration and program execution, and includes a rich chapter on the theoretical analysis of the computational cost of recursive programs, offering readers the possibility to learn some basic mathematics along the way. It also incorporates several elements aimed at helping students master the material. First, it contains a larger collection of simple problems in order to provide a solid foundation of the core concepts, before diving into more complex material. In addition, one of the book's main assets is the use of a step-by-step methodology, together with specially designed diagrams, for guiding and illustrating the process of developing recursive algorithms. Furthermore, the book covers combinatorial problems and mutual recursion. These topics can broaden students' understanding of recursion by forcing them to apply the learned concepts differently, or in a more sophisticated manner. The code examples have been written in Python 3, but should be straightforward to understand for students with experience in other programming languages. Finally, worked out solutions to over 120 end-of-chapter exercises are available for instructors.
The Comprehensive, Expert Guide to C# Language Programming "This book has been a classic for years, and remains one of the most venerable and trusted titles in the world of C# content, and probably far beyond! . . . Mark is super smart, insists on understanding everything to the core, and has phenomenal insight into how things affect real developers. . . . He goes right to the essence and communicates with great integrity-no sugarcoating-and has a keen eye for practical value and real-world problems." -Mads Torgersen, C# Program Manager, Microsoft Essential C# 7.0 is a well-organized, no-fluff guide to C# 7.0 for programmers at all levels of experience. Reflecting the most important C# features from 3.0 through 7.0 and including modern programming patterns, it will help you write code that's simple, powerful, robust, secure, and maintainable. Author Mark Michaelis is a world-class C# expert: a long-time Microsoft MVP and Regional Director who also has served on Microsoft's C# design review team. He presents a comprehensive tutorial and reference for the entire language, including expert coverage of key C# 7.0 enhancements, C# 7.0's use with .NET Core/.NET Standard, and cross-platform compilation. He illustrates key C# constructs with succinct examples, and presents best-practice coding guidelines. To help you maintain existing code, separate indexes provide version-specific answers for C# 5.0, 6.0, and 7.0, and visual icons show when each language innovation was introduced. Make the most of C# 7.0 enhancements, including tuples, deconstructors, pattern matching, local functions, and ref returns Work efficiently with C# data types, operators, control flow, methods, and parameters Write more robust code with C# object-oriented constructs Implement reliable, effective exception handling Reduce code complexity with generics, delegates, lambda expressions, and events Leverage advanced dynamic and declarative programming techniques Query diverse data collections using LINQ with query expressions Create custom collections that operate against business objects Access .NET collections via collection interfaces and standard query operators Master multithreading and synchronization, including the async/await paradigm Optimize performance and interoperability with P/Invoke and unsafe code Run your code on Linux or macOS with C# 7.0 cross-platform compilation Includes C# 7.1, 7.2, and 7.3 language enhancements This guide offers you a complete foundation for successful development with modern versions of the C# language in any project or environment.
For courses in Java Programming Layered, Back-to-Basics Approach to Java Programming This edition of Building Java Programs: A Back to Basics Approach uses a layered strategy to introduce Java programming and overcome the high failure rates that are common in introductory computer science courses. The authors' proven and class-tested "back to basics" approach introduces programming fundamentals first, with new syntax and concepts added over multiple chapters. Object-oriented programming is discussed only once students have developed a basic understanding of Java programming. Previous editions have established the text's reputation as an excellent choice for two-course sequences in introductory computer science, and new material in the 4th Edition incorporates concepts related to Java 8, functional programming, and image manipulation.
Maintaining a practical perspective, Python Programming: A Practical Approach acquaints you with the wonderful world of programming. The book is a starting point for those who want to learn Python programming. The backbone of any programming, which is the data structure and components such as strings, lists, etc., have been illustrated with many examples and enough practice problems to instill a level of self-confidence in the reader. Drawing on knowledge gained directly from teaching Computer Science as a subject and working on a wide range of projects related to ML, AI, deep learning, and blockchain, the authors have tried their best to present the necessary skills for a Python programmer. Once the foundation of Python programming is built and the readers are aware of the exact structure, dimensions, processing, building blocks, and representation of data, they can readily take up their specific problems from the area of interest and solve them with the help of Python. These include, but are not limited to, operators, control flow, strings, functions, module processing, object-oriented programming, exception and file handling, multithreading, synchronization, regular expressions, and Python database programming. This book on Python programming is specially designed to keep readers busy with learning fundamentals and generates a sense of confidence by attempting the assignment problems. We firmly believe that explaining any particular technology deviates from learning the fundamentals of a programming language. This book is focused on helping readers attempt implementation in their areas of interest through the skills imparted through this book. We have attempted to present the real essence of Python programming, which you can confidently apply in real life by using Python as a tool. Salient Features Based on real-world requirements and solution. Simple presentation without avoiding necessary details of the topic. Executable programs on almost every topic. Plenty of exercise questions, designed to test readers' skills and understanding. Purposefully designed to be instantly applicable, Python Programming: A Practical Approach provides implementation examples so that the described subject matter can be immediately implemented due to the well-known versatility of Python in handling different data types with ease.
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applications capable of targeting multiple platforms. Recipes in this cookbook show you how this potent combination provides an efficient approach to application development. Typically used in frontend development, Flutter helps you develop cross-platform applications for Android, iOS, Linux, Mac, Windows, and the Google Fuchsia operating system. The Dart SDK provides native access to third-party solutions, including APIs, databases, and authentication. When used in concert with Flutter, Dart allows you to compile source code ahead of time to native code. This cookbook shows you how to: Write effective Dart code by using variables and data structures Build applications with Flutter by exploring widgets and data handling Understand cloud provider solutions and learn how to integrate them with Flutter Manage data through APIs using Google Cloud Serverless Work with Firebase solutions such as Authentication and the Cloud Firestore database Build web applications that also work with mobile and desktop platforms
API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators.
Master web app development with hands-on practice and video demonstration HTML5, JavaScript, and jQuery 24-Hour Trainer shows you how to build real-world HTML5 apps both web-based and mobile in combination with JavaScript, jQuery, and CSS/CSS3. You'll learn progressively more advanced skills as you work through the series of hands-on video lessons. Exercises and screencasts walk you step-by-step through the process of building web applications, and give you the opportunity to experiment and extend the examples to create your own working web app. You'll gain a solid understanding of the fundamental technologies, and develop a skillset that fully exploits the functionality of web development tools. Although HTML5 is at the forefront of web development, it exists within an ecosystem that also includes CSS/CSS3, JavaScript, and JavaScript libraries like jQuery. Building robust, functional web applications requires a clear understanding of these technologies, and more importantly, the manner in which they fit together. This is your step-by-step guide to building web apps, with a hands-on approach that helps you learn by doing. * Master the fundamentals of HTML and HTML5 * Explore multimedia capabilities and CSS3 * Integrate offline data storage, background processes, and other APIs * Adapt web applications for mobile phones and tablets Whether you're looking for a quick refresher or a first-time lesson, HTML5, JavaScript, and jQuery 24-Hour Trainer will quickly get you up to speed.
Create Python packages to share your code in a scalable and maintainable way. Improve team productivity, publish helpful libraries, or even start your own open source project following the latest Python packaging standards. In Publishing Python Packages you will learn how to: Build extensions and console script commands Use tox to automate packaging, installing, and testing Build a continuous integration pipeline using GitHub Actions Improve code quality and reduce manual review using bandit, black, mypy, and radon Create published documentation for your packages Keep packages up to date with pyupgrade and Dependabot Foster an open source community using GitHub features Publishing Python Packages teaches you how to easily share your Python code with your team and the outside world. Learn a repeatable and highly automated process for package maintenance that's based on the best practices, tools, and standards of Python packaging. Whether you're entirely new to Python packaging or looking for optimal ways to maintain and scale your packages, this fast-paced and engaging guide is for you. about the technology Python packages are a great way to share your code and give a productivity boost to your colleagues and community. Whether you're reusing your code internally or contributing to open source, a properly automated system of packaging will save you from time-consuming manual maintenance. about the book Publishing Python Packages reveals best practices and standards for packaging your Python code in an easy, automated, and scalable way. The book walks you through creating a complete package, including a C extension, and guides you all the way to publishing on the Python Package Index. You'll get hands-on experience with the latest packaging tools, and learn the ins-and-outs of package testing and continuous integration. You'll even learn how to set up a successful open source project, including licensing, documentation, and nurturing a community of contributors.
This book constitutes the refereed proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018, held in Funchal, Madeira, Portugal, in March 2018. The 17 revised full papers and 5 revised short papers presented were carefully reviewed and selected from 95 submissions. The papers are organized in topical sections on service science and business information systems and software engineering.
This book constitutes the refereed proceedings of the 20th International Conference on Data Analytics and Management in Data Intensive Domains, DAMDID/RCDL 2018, held in Moscow, Russia, in October 2018.The 9 revised full papers presented together with three invited papers were carefully reviewed and selected from 54 submissions. The papers are organized in the following topical sections: FAIR data infrastructures, interoperability and reuse; knowledge representation; data models; data analysis in astronomy; text search and processing; distributed computing; information extraction from text.
This Festschrift volume is published in honor of Bernhard Steffen, Professor at the Technical University of Dortmund, on the occasion of his 60th birthday. His vision as well as his theoretical and practical work span the development and implementation of novel, specific algorithms, and the establishment of cross-community relationships with the effect to obtain simpler, yet more powerful solutions. He initiated many new lines of research through seminal papers that pioneered various fields, starting with the Concurrency Workbench, a model checking toolbox that significantly influenced the research and development of mode based high assurance systems worldwide. The contributions in this volume reflect the breadth and impact of his work. The introductory paper by the volume editors, the 23 full papers and two personal statements relate to Bernhard's research and life. This volume, the talks and the entire B-Day at ISoLA 2018 are a tribute to the first 30 years of Bernhard's passion, impact and vision for many facets of computer science in general and for formal methods in particular. Impact and vision include the many roles that formal methods-supported software development should play in education, in industry and in society.
This book is designed to cover the basics of C++, the powerful programming language used by developers all over the world. Its readily understandable concepts and easy syntax are used in video games, embedded systems, IoT devices, and resource-heavy AI applications. Using a "self-teaching" method with numerous examples and figures, the book covers all of the major C++ concepts, including pointers, classes, strings, arrays, polymorphism, inheritance, file handling, and more. Various types of the end of chapter exercises include theoretical, practical, and multiple choice (with answers) to enhance comprehension of the topics covered.
This book constitutes the refereed proceedings of the 7th International Symposium on End-User Development, IS-EUD 2017, held in Hatfield, UK, in July 2019. The 9 full papers and 8 short papers presented were carefully reviewed and selected from 35 submissions. The papers discuss progress in research around end-user development through, or towards, methods, socio-technical environments, intelligent agents, as well as the most effective end-user programming paradigms for smart environments. Papers and submissions in all categories addressed this specific theme together with topics that have been traditionally covered by the broader themes of end-user development, such as domain specific tools, spreadsheets, educational applications, and end user aspects.
Description Xamarin is a toolset that allows users to write native mobile apps in C# and run them on both iOS and Android devices. Xamarin in Action teaches readers how to build Xamarin apps on iOS and Android from scratch while maximizing code re-use. By the end, readers will be able to build a high quality production-ready Xamarin app on iOS and Android from scratch with a high level of code reuse. Key Features * Layer-by-layer guide * Hands-on lessons * Teaches you to build production ready apps Audience This book is for C# developers with a few months through many years of experience who want to build native mobile apps for iOS and Android using the language and toolset they already know. About the technology Xamarin gives users the ability to share large portions of code across two platforms while still letting them write native apps that can take full advantage of the device and OS features specific to each platform. Jim Bennett is a Xamarin MVP, Microsoft MVP, Xamarin Certified Developer and an active community member. He's also a frequent speaker at events all around the world, including Xamarin user groups and Xamarin and Microsoft conferences. He regularly blogs about Xamarin development at https://jimbobbennett.io.
Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context you'll recognize, helping you appreciate why these ideas matter and how they can inform your day-to-day programming. Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or Lisp, this book uses Ruby in a reductionist manner to present formal semantics, automata theory, and functional programming with the lambda calculus. It's ideal for programmers versed in modern languages, with little or no formal training in computer science.Understand fundamental computing concepts, such as Turing completeness in languagesDiscover how programs use dynamic semantics to communicate ideas to machinesExplore what a computer can do when reduced to its bare essentialsLearn how universal Turing machines led to today's general-purpose computersPerform complex calculations, using simple languages and cellular automataDetermine which programming language features are essential for computationExamine how halting and self-referencing make some computing problems unsolvableAnalyze programs by using abstract interpretation and type systems
What you may so cavalierly call useless information could prove invaluable to someone else. Then again, maybe not. But to The Useless Information Society, any fact that passes its gasp-inducing, not-a-lot-of-people-know-that test merits inclusion in this fascinating but ultimately useless book... Did you know (or do you care)... - That fish scales are used to make lipstick? The Book of Useless Information answers these teasers and is packed with facts and figures that will captivate you--and anyone who shares your joy in the pursuit of pointless knowledge.
Construct, analyze, and visualize networks with networkx, a Python language module. Network analysis is a powerful tool you can apply to a multitude of datasets and situations. Discover how to work with all kinds of networks, including social, product, temporal, spatial, and semantic networks. Convert almost any real-world data into a complex network--such as recommendations on co-using cosmetic products, muddy hedge fund connections, and online friendships. Analyze and visualize the network, and make business decisions based on your analysis. If you're a curious Python programmer, a data scientist, or a CNA specialist interested in mechanizing mundane tasks, you'll increase your productivity exponentially. Complex network analysis used to be done by hand or with non-programmable network analysis tools, but not anymore! You can now automate and program these tasks in Python. Complex networks are collections of connected items, words, concepts, or people. By exploring their structure and individual elements, we can learn about their meaning, evolution, and resilience. Starting with simple networks, convert real-life and synthetic network graphs into networkx data structures. Look at more sophisticated networks and learn more powerful machinery to handle centrality calculation, blockmodeling, and clique and community detection. Get familiar with presentation-quality network visualization tools, both programmable and interactive--such as Gephi, a CNA explorer. Adapt the patterns from the case studies to your problems. Explore big networks with NetworKit, a high-performance networkx substitute. Each part in the book gives you an overview of a class of networks, includes a practical study of networkx functions and techniques, and concludes with case studies from various fields, including social networking, anthropology, marketing, and sports analytics. Combine your CNA and Python programming skills to become a better network analyst, a more accomplished data scientist, and a more versatile programmer. What You Need: You will need a Python 3.x installation with the following additional modules: Pandas (>=0.18), NumPy (>=1.10), matplotlib (>=1.5), networkx (>=1.11), python-louvain (>=0.5), NetworKit (>=3.6), and generalizesimilarity. We recommend using the Anaconda distribution that comes with all these modules, except for python-louvain, NetworKit, and generalizedsimilarity, and works on all major modern operating systems.
This unique open access book applies the functional OCaml programming language to numerical or computational weighted data science, engineering, and scientific applications. This book is based on the authors' first-hand experience building and maintaining Owl, an OCaml-based numerical computing library. You'll first learn the various components in a modern numerical computation library. Then, you will learn how these components are designed and built up and how to optimize their performance. After reading and using this book, you'll have the knowledge required to design and build real-world complex systems that effectively leverage the advantages of the OCaml functional programming language. What You Will Learn Optimize core operations based on N-dimensional arrays Design and implement an industry-level algorithmic differentiation module Implement mathematical optimization, regression, and deep neural network functionalities based on algorithmic differentiation Design and optimize a computation graph module, and understand the benefits it brings to the numerical computing library Accommodate the growing number of hardware accelerators (e.g. GPU, TPU) and execution backends (e.g. web browser, unikernel) of numerical computation Use the Zoo system for efficient scripting, code sharing, service deployment, and composition Design and implement a distributed computing engine to work with a numerical computing library, providing convenient APIs and high performance Who This Book Is For Those with prior programming experience, especially with the OCaml programming language, or with scientific computing experience who may be new to OCaml. Most importantly, it is for those who are eager to understand not only how to use something, but also how it is built up.
Floating-point arithmetic is the most widely used way of implementing real-number arithmetic on modern computers. However, making such an arithmetic reliable and portable, yet fast, is a very difficult task. As a result, floating-point arithmetic is far from being exploited to its full potential. This handbook aims to provide a complete overview of modern floating-point arithmetic. So that the techniques presented can be put directly into practice in actual coding or design, they are illustrated, whenever possible, by a corresponding program. The handbook is designed for programmers of numerical applications, compiler designers, programmers of floating-point algorithms, designers of arithmetic operators, and more generally, students and researchers in numerical analysis who wish to better understand a tool used in their daily work and research.
Learn how to write R code with fewer bugs. The problem with programming is that you are always one typo away from writing something silly. Likewise with data analysis, a small mistake in your model can lead to a big mistake in your results. Combining the two disciplines means that it is all too easy for a missed minus sign to generate a false prediction that you don't spot until it's too late. Testing is the only way to be sure that your code, and your results, are correct. Testing R Code teaches you how to perform development-time testing using the testthat package, allowing you to ensure that your code works as intended. The book also teaches run-time testing using the assertive package; enabling your users to correctly run your code. After beginning with an introduction to testing in R, the book explores more advanced cases such as integrating tests into R packages; testing code that accesses databases; testing C++ code with Rcpp; and testing graphics. Each topic is explained with real-world examples, and has accompanying exercises for readers to practise their skills - only a small amount of experience with R is needed to get started!
Great programmers aren't born--they're made. The industry is moving from object-oriented languages to functional languages, and you need to commit to radical improvement. New programming languages arm you with the tools and idioms you need to refine your craft. While other language primers take you through basic installation and "Hello, World," we aim higher. Each language in Seven More Languages in Seven Weeks will take you on a step-by-step journey through the most important paradigms of our time. You'll learn seven exciting languages: Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris. Learn from the award-winning programming series that inspired the Elixir language. Hear how other programmers across broadly different communities solve problems important enough to compel language development. Expand your perspective, and learn to solve multicore and distribution problems. In each language, you'll solve a non-trivial problem, using the techniques that make that language special. Write a fully functional game in Elm, without a single callback, that compiles to JavaScript so you can deploy it in any browser. Write a logic program in Clojure using a programming model, MiniKanren, that is as powerful as Prolog but much better at interacting with the outside world. Build a distributed program in Elixir with Lisp-style macros, rich Ruby-like syntax, and the richness of the Erlang virtual machine. Build your own object layer in Lua, a statistical program in Julia, a proof in code with Idris, and a quiz game in Factor. When you're done, you'll have written programs in five different programming paradigms that were written on three different continents. You'll have explored four languages on the leading edge, invented in the past five years, and three more radically different languages, each with something significant to teach you |
You may like...
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R785 Discovery Miles 7 850
The Unicode Cookbook for Linguists
Steven Moran, Michael Cysouw
Hardcover
R999
Discovery Miles 9 990
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
|