![]() |
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
In ancient games such as chess or go, the most brilliant players can improve by studying the strategies produced by a machine. Robotic systems practice their own movements. In arcade games, agents capable of learning reach superhuman levels within a few hours. How do these spectacular reinforcement learning algorithms work? With easy-to-understand explanations and clear examples in Java and Greenfoot, you can acquire the principles of reinforcement learning and apply them in your own intelligent agents. Greenfoot (M.Koelling, King's College London) and the hamster model (D. Bohles, University of Oldenburg) are simple but also powerful didactic tools that were developed to convey basic programming concepts. The result is an accessible introduction into machine learning that concentrates on reinforcement learning. Taking the reader through the steps of developing intelligent agents, from the very basics to advanced aspects, touching on a variety of machine learning algorithms along the way, one is allowed to play along, experiment, and add their own ideas and experiments.
Why learn functional programming? Isn't that some complicated ivory-tower technique used only in obscure languages like Haskell? In fact, functional programming is actually very simple. It's also very powerful, as Haskell demonstrates by throwing away all the conventional programming tools and using only functional programming features. But it doesn't have to be done that way. Functional programming is a power tool that you can use in addition to all your usual tools, to whatever extent your current mainstream language supports it. Most languages have at least basic support. In this book we use Python and Java and, as a bonus, Scala. If you prefer another language, there will be minor differences in syntax, but the concepts are the same. Give functional programming a try. You may be surprised how much a single power tool can help you in your day-to-day programming.
From the descriptive styles which mirror 19th Century Romanticism to the bold starkness of contemporary dialects, these stories offer myriad insights into the many facets of the masculine soul. These are not cat stories. Well.actually there is one. But for the most part this is a collection of first person narratives in short fiction which are certain to leave the reader begging to dialogue with every page. As with his powerful and imaginative science fiction novels, "The Last Champion of Earth" and "The Planet of Mortal Worship," Donald Templeman entertains, stuns and unveils lurid insights into the human condition with every keystroke. 'Author Templeman is a skilled writer and accomplished storyteller"-WRITER'S DIGEST 12TH ANNUAL BOOK AWARDS
This book contains fundamental concepts on discrete mathematical structures in an easy to understand style so that the reader can grasp the contents and explanation easily. The concepts of discrete mathematical structures have application to computer science, engineering and information technology including in coding techniques, switching circuits, pointers and linked allocation, error corrections, as well as in data networking, Chemistry, Biology and many other scientific areas. The book is for undergraduate and graduate levels learners and educators associated with various courses and progammes in Mathematics, Computer Science, Engineering and Information Technology. The book should serve as a text and reference guide to many undergraduate and graduate programmes offered by many institutions including colleges and universities. Readers will find solved examples and end of chapter exercises to enhance reader comprehension. Features Offers comprehensive coverage of basic ideas of Logic, Mathematical Induction, Graph Theory, Algebraic Structures and Lattices and Boolean Algebra Provides end of chapter solved examples and practice problems Delivers materials on valid arguments and rules of inference with illustrations Focuses on algebraic structures to enable the reader to work with discrete structures
Induction is a pervasive tool in computer science and mathematics for defining objects and reasoning on them. Coinduction is the dual of induction and as such it brings in quite different tools. Today, it is widely used in computer science, but also in other fields, including artificial intelligence, cognitive science, mathematics, modal logics, philosophy and physics. The best known instance of coinduction is bisimulation, mainly employed to define and prove equalities among potentially infinite objects: processes, streams, non-well-founded sets, etc. This book presents bisimulation and coinduction: the fundamental concepts and techniques and the duality with induction. Each chapter contains exercises and selected solutions, enabling students to connect theory with practice. A special emphasis is placed on bisimulation as a behavioural equivalence for processes. Thus the book serves as an introduction to models for expressing processes (such as process calculi) and to the associated techniques of operational and algebraic analysis.
Coinduction is a method for specifying and reasoning about infinite data types and automata with infinite behaviour. In recent years, it has come to play an ever more important role in the theory of computing. It is studied in many disciplines, including process theory and concurrency, modal logic and automata theory. Typically, coinductive proofs demonstrate the equivalence of two objects by constructing a suitable bisimulation relation between them. This collection of surveys is aimed at both researchers and Master's students in computer science and mathematics and deals with various aspects of bisimulation and coinduction, with an emphasis on process theory. Seven chapters cover the following topics: history, algebra and coalgebra, algorithmics, logic, higher-order languages, enhancements of the bisimulation proof method, and probabilities. Exercises are also included to help the reader master new material.
Python for Scientific Computation and Artificial Intelligence is split into 3 parts: in Section 1, the reader is introduced to the Python programming language and shown how Python can aid in the understanding of advanced High School Mathematics. In Section 2, the reader is shown how Python can be used to solve real-world problems from a broad range of scientific disciplines. Finally, in Section 3, the reader is introduced to neural networks and shown how TensorFlow (written in Python) can be used to solve a large array of problems in Artificial Intelligence (AI). This book was developed from a series of national and international workshops that the author has been delivering for over twenty years. The book is beginner friendly and has a strong practical emphasis on programming and computational modelling. Features: No prior experience of programming is required. Online GitHub repository available with codes for readers to practice. Covers applications and examples from biology, chemistry, computer science, data science, electrical and mechanical engineering, economics, mathematics, physics, statistics and binary oscillator computing. Full solutions to exercises are available as Jupyter notebooks on the Web.
This textbook is an ideal introduction in college courses or self-study for learning computer programming using the C language. Written for those with minimal or no programming experience, Computer Programming in C for Beginners offers a heavily guided, hands-on approach that enables the reader to quickly start programming, and then progresses to cover the major concepts of C programming that are critical for an early stage programmer to know and understand. While the progression of topics is conventional, their treatment is innovative and designed for rapid understanding of the many concepts in C that have traditionally proven difficult for beginners, such as variable typing and scope, function definition, passing by value, pointers, passing by reference, arrays, structures, basic memory management, dynamic memory allocation, and linked lists, as well as an introductory treatment of searching and sorting algorithms. Written in an informal but clear narrative, the book uses extensive examples throughout and provides detailed guidance on how to write the C code to achieve the objectives of the example problems. Derived from the author's many years of teaching hands-on college courses, it encourages the reader to follow along by programming the progressively more complex exercise programs presented. In some sections, errors are purposely inserted into the code to teach the reader about the common pitfalls of programming in general, and the C language in particular.
This book presents a number of approaches to Fine-Kinney-based multi-criteria occupational risk-assessment. For each proposed approach, it provides case studies demonstrating their applicability, as well as Python coding, which will enable readers to implement them into their own risk assessment process. The book begins by giving a review of Fine-Kinney occupational risk-assessment methods and their extension by fuzzy sets. It then progresses in a logical fashion, dedicating a chapter to each approach, including the fuzzy best and worst method, interval-valued Pythagorean fuzzy VIKOR and interval type-2 fuzzy QUALIFLEX. This book will be of interest to professionals and researchers working in the field of occupational risk management, as well as postgraduate and undergraduate students studying applications of fuzzy systems.
More than ever, FDL is the place for researchers, developers, industry designers, academia, and EDA tool companies to present and to learn about the latest scientific achievements, practical applications and users experiences in the domain of specification and design languages. FDL covers the modeling and design methods, and their latest supporting tools, for complex embedded systems, systems on chip, and heterogeneous systems. FDL 2009 is the twelfth in a series of events that were held all over Europe, in selected locations renowned for their Universities and Reseach Institutions as well as the importance of their industrial environment in Computer Science and Micro-electronics. In 2009, FDL was organized in the attractive south of France area of Sophia Antipolis. together with the DASIP (Design and Architectures for Signal and Image Processing) Conference and the SAME (Sophia Antipolis MicroElectronics ) Forum. All submitted papers were carefully reviewed to build a program with 27 full and 10 short contributions. From these, the Program Committee selected a shorter list, based on the evaluations of the reviewers, and the originality and relevance of the work that was presented at the Forum. The revised, and sometimes extended versions of these contributions constitute the chapters of this volume. Advances in Design Methods from Modeling Languages for Embedded Systems and SoC's presents extensions to standard specification and description languages, as well as new language-based design techniques and methodologies to solve the challenges raised by mixed signal and multi-processor systems on a chip. It is intended as a reference for researchers and lecturers, as well as a state of the art milestone for designers and CAD developers.
Based on the author's experience in teaching data science for more than 10 years, Mathematics and Programming for Machine Learning with R: From the Ground Up reveals how machine learning algorithms do their magic and explains how these algorithms can be implemented in code. It is designed to provide readers with an understanding of the reasoning behind machine learning algorithms as well as how to program them. Written for novice programmers, the book progresses step-by-step, providing the coding skills needed to implement machine learning algorithms in R. The book begins with simple implementations and fundamental concepts of logic, sets, and probability before moving to the coverage of powerful deep learning algorithms. The first eight chapters deal with probability-based machine learning algorithms, and the last eight chapters deal with machine learning based on artificial neural networks. The first half of the book does not require mathematical sophistication, although familiarity with probability and statistics would be helpful. The second half assumes the reader is familiar with at least one semester of calculus. The text guides novice R programmers through algorithms and their application and along the way; the reader gains programming confidence in tackling advanced R programming challenges. Highlights of the book include: More than 400 exercises A strong emphasis on improving programming skills and guiding beginners to the implementation of full-fledged algorithms Coverage of fundamental computer and mathematical concepts including logic, sets, and probability In-depth explanations of machine learning algorithms
Tackles a topic in a concise and accessible way that most believe too advanced to pick up easily. Author has over 40 years teaching and industry experience which they utilize in this book. Contains an appendix with extended code and examples of topics discussed in text.
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.
Tackles a topic in a concise and accessible way that most believe too advanced to pick up easily. Author has over 40 years teaching and industry experience which they utilize in this book. Contains an appendix with extended code and examples of topics discussed in text.
Python is an amazing programming language. It can be applied to almost any programming task. It allows for rapid development and debugging. Getting started with Python is like learning any new skill: it's important to find a resource you connect with to guide your learning. Luckily, there's no shortage of excellent books that can help you learn both the basic concepts of programming and the specifics of programming in Python. With the abundance of resources, it can be difficult to identify which book would be best for your situation. Python for Beginners is a concise single point of reference for all material on python. * Provides concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools * Offers practical advice for each major area of development with both Python 3.x and Python 2.x * Based on the latest research in cognitive science and learning theory * Helps the reader learn how to write effective, idiomatic Python code by leveraging its best-and possibly most neglected-features This book focuses on enthusiastic research aspirants who work on scripting languages for automating the modules and tools, development of web applications, handling big data, complex calculations, workflow creation, rapid prototyping, and other software development purposes. It also targets graduates, postgraduates in computer science, information technology, academicians, practitioners, and research scholars.
User Level: Most of the book is targeted at beginners in computing and programming. A few parts, such as the small electronics project and setting up a web server, assume some intermediate skills. The Raspberry Pi is one of the most successful open source hardware projects ever. For only $35, you get a full-blown PC, a multimedia center, and a web server--and this book gives you everything you need to get started. You'll learn the basics, progress to controlling the Pi, and then build your own electronics projects. This new edition is revised and updated with two new chapters on adding digital and analog sensors, and creating videos and a burglar alarm with the Pi camera. Get your Raspberry Pi up and running and doing cool stuff. You'll start with the basics: adding hardware, installing and configuring Debian Linux, and customizing the Pi's firmware to get the most out of your hardware. Then the fun begins. You'll connect the Pi to your home network, surf the web, and tweet messages. You'll learn how to get the most out of Midori, the Pi's standard browser, and control the desktops of other PCs with the Pi. Then you'll explore the Pi's versatility with a series of home projects. Turn it into a web server in your home network; convert the Pi into a powerful multimedia center so you can watch high-definition video and listen to your favorite music; and play classic video games. Then you'll use the GPIO pins on the Raspberry Pi to build your own electronics projects, such as an "out of memory" alarm. You'll learn how to use digital and analog sensors with the Pi, even though the Pi doesn't have analog input ports! Finally, you'll set up the Pi camera, create your own time-lapse videos, and build an automatic e-mailing burglar alarm. Power to the Pi! What You Need You need a Raspberry Pi and several things that you probably already have at home, such as a keyboard, a mouse, a monitor/TV set, and an SD card. To build the electronic projects you need a few cheap parts and the Pi camera.
The Designer's Guide to the Cortex-M Microcontrollers gives you an easy-to-understand introduction to the concepts required to develop programs in C with a Cortex-M based microcontroller. The book begins with an overview of the Cortex-M family, giving architectural descriptions supported with practical examples, enabling you to easily develop basic C programs to run on the Cortex-M0/M0+/M3 and M4 and M7. It then examines the more advanced features of the Cortex architecture such as memory protection, operating modes, and dual stack operation. Once a firm grounding in the Cortex-M processor has been established the book introduces the use of a small footprint RTOS and the CMSIS-DSP library. The book also examines techniques for software testing and code reuse specific to Cortex-M microcontrollers. With this book you will learn: the key differences between the Cortex-M0/M0+/M3 and M4 and M7; how to write C programs to run on Cortex-M based processors; how to make the best use of the CoreSight debug system; the Cortex-M operating modes and memory protection; advanced software techniques that can be used on Cortex-M microcontrollers; how to use a Real Time Operating System with Cortex-M devices; how to optimize DSP code for the Cortex-M4; and how to build real time DSP systems.
A best-seller in its French edition, the construction of this book is original and its success in the French market demonstrates its appeal. It is based on three principles: 1. An organization of the chapters by families of algorithms : exhaustive search, divide and conquer, etc. At the contrary, there is no chapter only devoted to a systematic exposure of, say, algorithms on strings. Some of these will be found in different chapters. 2. For each family of algorithms, an introduction is given to the mathematical principles and the issues of a rigorous design, with one or two pedagogical examples. 3. For its most part, the book details 150 problems, spanning on seven families of algorithms. For each problem, a precise and progressive statement is given. More important, a complete solution is detailed, with respect to the design principles that have been presented ; often, some classical errors are pointed at. Roughly speaking, two thirds of the book are devoted to the detailed rational construction of the solutions.
This book teaches algebra and geometry. The authors dedicate chapters to the key issues of matrices, linear equations, matrix algorithms, vector spaces, lines, planes, second-order curves, and elliptic curves. The text is supported throughout with problems, and the authors have included source code in Python in the book. The book is suitable for advanced undergraduate and graduate students in computer science.
Are you a programmer who wants to get started quickly in a new language? This book is for you. Are you a novice who wants to learn to program? This book is not for you. Are you a Python programmer who needs encyclopaedic information? This book is not for you. Like any mainstream language, Python has loops, if statements, assignment statements, functions, etc. I'll show you what these look like in Python. I won't waste your time telling you what they're good for. Python has features you may not be familiar with--iterators, list comprehensions, maybe even dictionaries. I'll spend more time on these. I'll cover some of the library functions I found most immediately useful, and tell you where to find more. In short, this book will help you hit the ground running. Next week, you'll be ready to buy that Python encyclopaedia.
A must-have for UPC programmers and applications developers This publication provides an in-depth interpretation of UPC language specifications for use in highly parallel systems. With its extensive use of examples, UPC programming case studies, and illustrations, it offers new insights into developing efficient and effective UPC applications such as high-speed signal processing and pattern recognition. As an added feature, readers have access to an ftp site containing an electronic copy of the full code and can make files for all the examples given in the text. The book provides all the information and guidance needed to use this powerful new programming language: Chapter 1 provides a quick tutorial of the major features of the UPC language Chapter 2 presents the UPC programming model and describes how shared and nonshared data are declared and used Chapter 3 covers the critically important concept of pointers in UPC, identifying the types, declarations, and usage of the various UPC pointers and how they work with arrays Chapter 4 explains how data and work can be distributed in UPC such that data locality is exploited through efficient data declarations and work-sharing constructs Chapter 5 provides extensive treatment of dynamic memory allocation in the shared space Chapter 6 covers thread and data synchronization, explaining the effective mechanisms provided by UPC for mutual exclusion, barriers, and memory consistency control Chapter 7 offers programmers tools needed to write efficient applications Chapter 8 introduces two UPC standard libraries: the collective operations library and the parallel I/O library Appendices feature the UPC v1.1.1 specification; UPC v1.0 collectivelibrary specifications; UPC-IO v1.0 specifications; information on how to compile and run UPC programs; and a quick UPC reference card UPC is ubiquitous. It is supported on parallel computers from HP, Cray, SGI, IBM, as well as on computer clusters. This is the authoritative source for learning how to master this programming language; El-Ghazawi, Carlson, and Yelick are among the developers of UPC.
Parallel Programming with Co-Arrays describes the basic techniques used to design parallel algorithms for high-performance, scientific computing. It is intended for upper-level undergraduate students and graduate students who need to develop parallel codes with little or no previous introduction to parallel computing. It is also intended as a reference manual for researchers active in the field of scientific computing. All the algorithms in the book are based on partition operators. These operators provide a unifying principle that fits seemingly disparate techniques into an overall framework for algorithm design. The book uses the co-array programming model to illustrate how to write code for concrete examples, but it emphasizes that the important concepts for algorithm design are independent of the programming model. With these concepts in mind, the reader can write algorithms in different programming models based on personal taste and comfort.
"Ask not what your compiler can do for you, ask what you can do for your compiler." --John Levesque, Director of Cray's Supercomputing Centers of Excellence The next decade of computationally intense computing lies with more powerful multi/manycore nodes where processors share a large memory space. These nodes will be the building block for systems that range from a single node workstation up to systems approaching the exaflop regime. The node itself will consist of 10's to 100's of MIMD (multiple instruction, multiple data) processing units with SIMD (single instruction, multiple data) parallel instructions. Since a standard, affordable memory architecture will not be able to supply the bandwidth required by these cores, new memory organizations will be introduced. These new node architectures will represent a significant challenge to application developers. Programming for Hybrid Multi/Manycore MPP Systems attempts to briefly describe the current state-of-the-art in programming these systems, and proposes an approach for developing a performance-portable application that can effectively utilize all of these systems from a single application. The book starts with a strategy for optimizing an application for multi/manycore architectures. It then looks at the three typical architectures, covering their advantages and disadvantages. The next section of the book explores the other important component of the target-the compiler. The compiler will ultimately convert the input language to executable code on the target, and the book explores how to make the compiler do what we want. The book then talks about gathering runtime statistics from running the application on the important problem sets previously discussed. How best to utilize available memory bandwidth and virtualization is covered next, along with hybridization of a program. The last part of the book includes several major applications, and examines future hardware advancements and how the application developer may prepare for those advancements.
Practical Guidance on the Efficient Development of High-Quality Software Introduction to Software Engineering, Second Edition equips students with the fundamentals to prepare them for satisfying careers as software engineers regardless of future changes in the field, even if the changes are unpredictable or disruptive in nature. Retaining the same organization as its predecessor, this second edition adds considerable material on open source and agile development models. The text helps students understand software development techniques and processes at a reasonably sophisticated level. Students acquire practical experience through team software projects. Throughout much of the book, a relatively large project is used to teach about the requirements, design, and coding of software. In addition, a continuing case study of an agile software development project offers a complete picture of how a successful agile project can work. The book covers each major phase of the software development life cycle, from developing software requirements to software maintenance. It also discusses project management and explains how to read software engineering literature. Three appendices describe software patents, command-line arguments, and flowcharts. |
You may like...
Contemporary British Silver Designers…
John L. Davis, Gordon Hamme
Hardcover
R1,074
Discovery Miles 10 740
Developing Business Applications for the…
Christian Hur, Laura Ubelhor
Paperback
Handbook of Advances in Culture and…
Michele J. Gelfand, Chi-yue Chiu, …
Hardcover
R3,932
Discovery Miles 39 320
Classical Harmonic Analysis and Locally…
Hans Reiter, Jan D. Stegeman
Hardcover
R7,020
Discovery Miles 70 200
Practical Industrial Data Communications…
Deon Reynders, Steve Mackay, …
Paperback
R1,452
Discovery Miles 14 520
|