Search results for "introduction to python programming"
Items we need to order for you

Correctness-by-Construction Approach to Programming
The focus of this book is on bridging the gap between two extreme methods for developing software. On the one hand, there are texts and approaches that are so formal that they scare off all but the most dedicated theoretical computer scientists. On the other, there are some who believe that any measure of formality is a waste of time, resulting in software that is developed by following gut feelings and intuitions.Kourie and Watson advocate an approach known as “correctness-by-construction,” a technique to derive algorithms that relies on formal theory, but that requires such theory to be deployed in a very systematic and pragmatic way. First they provide the key theoretical background (like first-order predicate logic or refinement laws) that is needed to understand and apply the method. They then detail a series of graded examples ranging from binary search to lattice cover graph construction and finite automata minimization in order to show how it can be applied to increasingly complex algorithmic problems. The principal purpose of this book is to change the way software developers approach their task at programming-in-the-small level, with a view to improving code quality. Thus it coheres with both the IEEE’s Guide to the Software Engineering Body of Knowledge (SWEBOK) recommendations, which identifies themes covered in this book as part of the software engineer’s arsenal of tools and methods, and with the goals of the Software Engineering Method and Theory (SEMAT) initiative, which aims to “refound software engineering based on a solid theory.”
R 4,269.42

R 4,368.04

R 305.00


Introduction to Data Structures and Algorithms
Data structures and algorithms are presented at the college level in a highly accessible format that presents material with one-page displays in a way that will appeal to both teachers and students. The thirteen chapters cover: Models of Computation, Lists, Induction and Recursion, Trees, Algorithm Design, Hashing, Heaps, Balanced Trees, Sets Over a Small Universe, Graphs, Strings, Discrete Fourier Transform, Parallel Computation. Key features: Complicated concepts are expressed clearly in a single page with minimal notation and without the "clutter" of the syntax of a particular programming language; algorithms are presented with self-explanatory "pseudo-code." * Chapters 1-4 focus on elementary concepts, the exposition unfolding at a slower pace. Sample exercises with solutions are provided. Sections that may be skipped for an introductory course are starred. Requires only some basic mathematics background and some computer programming experience. * Chapters 5-13 progress at a faster pace. The material is suitable for undergraduates or first-year graduates who need only review Chapters 1 -4. * This book may be used for a one-semester introductory course (based on Chapters 1-4 and portions of the chapters on algorithm design, hashing, and graph algorithms) and for a one-semester advanced course that starts at Chapter 5. A year-long course may be based on the entire book. * Sorting, often perceived as rather technical, is not treated as a separate chapter, but is used in many examples (including bubble sort, merge sort, tree sort, heap sort, quick sort, and several parallel algorithms). Also, lower bounds on sorting by comparisons are included with the presentation of heaps in the context of lower bounds for comparison-based structures. * Chapter 13 on parallel models of computation is something of a mini-book itself, and a good way to end a course. Although it is not clear what parallel
R 1,673.12

Java All-in-One For Dummies
A beginning coder’s resource for learning the most popular coding language With Java All-in-One For Dummies, you get 8 books in one, for the most well-rounded Java knowledge on the market. Updated for Java 19, this book includes all the major changes to the programming language, so you won’t fall behind. Start by learning the basics of Java—you can do it, even if you’ve never written a line of code in your life. Then go in-depth, with all the info you need on object-oriented programming, Java FX, Java web development, and beyond. Grab a hot cup of java and settle in to learn some Java, with friendly For Dummies guidance! Learn the basics of computer programming and get started with the Java languageMaster strings, arrays, and collectionsDiscover the most recent Java updates and the latest in programming techniquesLaunch or further your career as a coder with easy-to-follow instructionThis is the go-to Dummies guide for future and current coders who need an all-inclusive guide Java to take their knowledge to the next level.
R 1,082.00

R 1,374.00

Introduction to Java Through Game Development
Interested in learning how to program with Java? Let’s face it, the best way to learn to program is by writing programs. This can be a daunting proposition with the specter of hours of simple command line example programs hanging over your head. Fear not! Now you can learn to program in Java in a fun way by working on video games. With this book, you’ll get to work with three Java game projects and have access to the complete game code for each project, including a full Java game engine. After completing Introduction to Java through Game Development, you’ll be proficient in Java programming, having worked with the language’s fundamental aspects throughout the text, and will be ready to further your Java and game programming expertise with confidence.What You'llMaster the fundamentals of the Java programming languageUse different data structures like arrays, lists, stacks, and queuesUnderstand game programming basics including the main game loopGain experience working with three different game projects via the book’s coding challengesWork with the 2D game engine that powers the book's included games and learn to create your own new game projectsUnderstand advanced Java topics like classes, encapsulation, inheritance, and polymorphismWork with exceptions and how to use debugging techniques to trace through codeSharpen your skills with over a dozen coding challenges that test your abilities with a development task on a real game projectWho This Book Is ForThis book requires little to no programming experience to understand and benefit from the text.
R 1,026.00

R 611.00

Practical Introduction to Pascal
Since the first edition of this book was written in 1977, there has been a tremendous increase in the use of Pascal. This increased use has had two significant effects. (1) It has produced a bett er understanding of the facilities of Pascal and their use. (2) It has fostered the production of the ISO standard for Pascal. This second edition reflects both this better understanding and the clarifications and changes to Pascal which have resulted from the production of the BSljlSO Pascal standard. The standard (BS 6192, which supplies the technical content for ISO 7185) is the definitive document on Pascal. My work on the Pascal standard has convinced me that the description of a programming language may be tutorial, or it may be definitive, or it may be neither! The chapters of this book do not constitute a definitive description of Pascal. They are essentially tutorial. The book is based on an introductory lecture course given at Manchester. In addition to lectures, the course consists of two kinds of practical work. The first is based on the solution of short pencil-and-paper exercises. The second requires the student to write complete programs and run them using interactive computer terminals. Each chapter of the book concludes with exercises and problems suitable forthese purposes. Although solutions to all of these are not presented in the book, teaching staff may obtain them by application to the authors.
R 1,549.02


R 274.00



Introduction to Photoshop
This full-color book is an essential guide to getting started with Adobe Photoshop. It's packed with tutorials, illustrations, and practical exercises to help you make sense of this complex and powerful software.You'll start with the basics of Photoshop, including an overview of its myriad tools and other options. Next, you will learn about some of the common tasks that can be performed in Photoshop, such as how to touch up images and basic applications in photography. You'll also be walked through how to leverage Photoshop for special and 3D effects. Each and every technique author Kevin Wilson presents is illustrated step-by-step using screenshots with concise, easy to follow text. Downloadable sample photoshop files and images are also provided, to help you work your way through the book.Whether you are a graphic design student, a photographer, or just a keen computer user, this book will provide you with a firm grasp of the underpinning foundations of Photoshop and equip you with the skills needed to unleash its full power.What You Will LearnUnderstand Photoshop's many toolsUse Photoshop to execute common image manipulation tasks Touch up photographs and other images in PhotoshopRemove lens distortion and make photos look more professionalWho This Book Is ForStudents, those interested in starting graphic design, and photographers looking to enhance, clean up and manipulate their photos. No experience with image-manipulation software is needed.
R 866.00

Introduction to Numerical Computation in Pascal
Our intention in this book is to cover the core material in numerical analysis normally taught to students on degree courses in computer science. The main emphasis is placed on the use of analysis and programming techniques to produce well-designed, reliable mathematical software. The treatment should be of interest also to students of mathematics, science and engineering who wish to learn how to write good programs for mathematical computations. The reader is assumed to have some acquaintance with Pascal programming. Aspects of Pascal particularly relevant to numerical computation are revised and developed in the first chapter. Although Pascal has some drawbacks for serious numerical work (for example, only one precision for real numbers), the language has major compensating advantages: it is a widely used teaching language that will be familiar to many students and it encourages the writing of clear, well structured programs. By careful use of structure and documentation, we have produced codes that we believe to be readable; particular care has been taken to ensure that students should be able to understand the codes in conjunction with the descriptive material given in the book.
R 1,556.94

Introduction to Machine Learning
Aimed at undergraduate students, this text guides readers through the methods and principles of machine learning in an approachable manner without sacrificing mathematical precision or notation. Step-by-step explanations allow students to grasp complicated mathematical calculations and translate the theory and mathematics into programming and applications. The text presents machine learning concepts visually, and uses example datasets from fictional hippopotamuses and illustrations to explain the material in a unique, but easily understood and engaging way. Worked examples connect the mathematics and algorithms to real-world applications and enable students to utilize this technology in new and ever-changing circumstances. Topics covered include Bayesian reasoning, linear regression and classification, margin-based classification, cross-validation, neural networks, decision trees, clustering and dimensionality reduction. End-of-chapter mathematical exercises and additional coding projects reinforce application and decision-making skills.
R 3,829.00


Introduction to Compilers and Language Design
A compiler translates a program written in a high level language into a program written in a lower level language. For students of computer science, building a compiler from scratch is a rite of passage: a challenging and fun project that offers insight into many different aspects of computer science, some deeply theoretical, and others highly practical. This book offers a one semester introduction into compiler construction, enabling the reader to build a simple compiler that accepts a C-like language and translates it into working X86 or ARM assembly language. It is most suitable for undergraduate students who have some experience programming in C, and have taken courses in data structures and computer architecture.
R 762.00

Introduction to Prescriptive AI
Gain a working knowledge of prescriptive AI, its history, and its current and future trends. This book will help you evaluate different AI-driven predictive analytics techniques and help you incorporate decision intelligence into your business workflow through real-world examples.The book kicks off with an introduction to decision intelligence and provides insight into prescriptive AI and how it can be woven into various business strategies and frameworks. You'll then be introduced to different decision intelligence methodologies and how to implement them, along with advantages and limitations of each. Digging deeper, the authors then walk you through how to perform simulations and interpret the results. A full chapter is devoted to embedding decision intelligence processes and outcomes into your business workflow using various applications. The book concludes by exploring different cognitive biases humans are prone to, and how those biases can be eliminated by combining machine and human intelligence.Upon completing this book, you will understand prescriptive AI, tools, and techniques and will be ready to incorporate them into your business workflow.What You Will LearnImplement full-fledged decision intelligence applications using PythonLeverage the tools, techniques, and methodologies for prescriptive AIUnderstand how prescriptive AI can be used in different domains through practical examplesInterpret results and integrate them into your decision makingWho This Book Is ForData Scientists and Machine Learning Engineers, as well as business professionals who want to understand how AI-driven decision intelligence can help grow their business.
R 1,137.71

Introduction to Languages, Machines and Logic
A well-written and accessible introduction to the most important features of formal languages and automata theory. It focuses on the key concepts, illustrating potentially intimidating material through diagrams and pictorial representations, and this edition includes new and expanded coverage of topics such as: reduction and simplification of material on Turing machines; complexity and O notation; propositional logic and first order predicate logic. Aimed primarily at computer scientists rather than mathematicians, algorithms and proofs are presented informally through examples, and there are numerous exercises (many with solutions) and an extensive glossary.
R 2,240.15


R 458.00


Introduction to HPC with MPI for Data Science
This gentle introduction to High Performance Computing (HPC) for Data Science using the Message Passing Interface (MPI) standard has been designed as a first course for undergraduates on parallel programming on distributed memory models, and requires only basic programming notions.Divided into two parts the first part covers high performance computing using C++ with the Message Passing Interface (MPI) standard followed by a second part providing high-performance data analytics on computer clusters.In the first part, the fundamental notions of blocking versus non-blocking point-to-point communications, global communications (like broadcast or scatter) and collaborative computations (reduce), with Amdalh and Gustafson speed-up laws are described before addressing parallel sorting and parallel linear algebra on computer clusters. The common ring, torus and hypercube topologies of clusters are then explained and global communication procedures on these topologies are studied. This first part closes with the MapReduce (MR) model of computation well-suited to processing big data using the MPI framework.In the second part, the book focuses on high-performance data analytics. Flat and hierarchical clustering algorithms are introduced for data exploration along with how to program these algorithms on computer clusters, followed by machine learning classification, and an introduction to graph analytics. This part closes with a concise introduction to data core-sets that let big data problems be amenable to tiny data problems.Exercises are included at the end of each chapter in order for students to practice the concepts learned, and a final section contains an overall exam which allows them to evaluate how well they have assimilated the material covered in the book.
R 1,424.61

Introduction to Web Mapping
A web map is an interactive display of geographic information, in the form of a web page, that you can use to tell stories and answer questions. Web maps have numerous advantages over traditional mapping techniques, such as the ability to display up-to-date or even real-time information, easy distribution to end users, and highly customized interactive content. Introduction to Web Mapping teaches you how to develop online interactive web maps and web mapping applications, using standard web technologies: HTML, CSS and JavaScript. The core technologies are introduced in Chapters 1-5, focusing on the specific aspects which are most relevant to web mapping. Chapters 6-13 then implement the material and demonstrate key concepts for building and publishing interactive web maps. The book: Gives an introduction to fundamental web technologies: HTML, CSS and JavaScript Covers Leaflet, the popular open-source JavaScript library for building web maps Describes the GeoJSON vector layer format and the Ajax technique for loading data Shows how spatial database APIs, such as the CARTO platform, can be combined with a web map to query and display large amounts of data Introduces client-side geoprocessing with the Turf.js JavaScript library, for applying spatial operators in the browser Demonstrates a complex web mapping application for collecting crowdsourced data, combining Leaflet, CARTO and the Leaflet.draw plugin Goes over 69 complete code examples and includes 9 solved exercises for building web maps and web pages (downloadable code is provided in the online supplement)The book is intended for beginners with no background in web technologies or programming. Nevertheless, some prior experience with computers and programming is beneficial. The book can be used for self-study, or as a textbook in a standard undergraduate "Web mapping" course in a Geography department, intended for students specializing in Geographic Information Systems (GIS).
R 12,271.30

Introduction to Machine Learning
Aimed at undergraduate students, this text guides readers through the methods and principles of machine learning in an approachable manner without sacrificing mathematical precision or notation. Step-by-step explanations allow students to grasp complicated mathematical calculations and translate the theory and mathematics into programming and applications. The text presents machine learning concepts visually, and uses example datasets from fictional hippopotamuses and illustrations to explain the material in a unique, but easily understood and engaging way. Worked examples connect the mathematics and algorithms to real-world applications and enable students to utilize this technology in new and ever-changing circumstances. Topics covered include Bayesian reasoning, linear regression and classification, margin-based classification, cross-validation, neural networks, decision trees, clustering and dimensionality reduction. End-of-chapter mathematical exercises and additional coding projects reinforce application and decision-making skills.
R 1,547.00

Introduction to Compilers and Language Design
A compiler translates a program written in a high level language into a program written in a lower level language. For students of computer science, building a compiler from scratch is a rite of passage: a challenging and fun project that offers insight into many different aspects of computer science, some deeply theoretical, and others highly practical. This book offers a one semester introduction into compiler construction, enabling the reader to build a simple compiler that accepts a C-like language and translates it into working X86 or ARM assembly language. It is most suitable for undergraduate students who have some experience programming in C, and have taken courses in data structures and computer architecture.
R 1,342.22

Introduction to Scilab
Familiarize yourself with Scilab using this concise, practical tutorial that is focused on writing code to learn concepts. Starting from the basics, this book covers array-based computing, plotting, and working with files in Scilab. Introduction to Scilab is useful for industry engineers, researchers, and students who are looking for open-source solutions for numerical computation.In this book you will learn by doing, avoiding technical jargon, which makes the concepts easy to learn. First you’ll see how to run basic calculations, absorbing technical complexities incrementally as you progress toward advanced topics. Throughout, the language is kept simple to ensure that readers at all levels can grasp the concepts. After reading this book, you will come away with sample code that can be re-purposed and applied to your own projects using Scilab.What You'll LearnApply sample code to your engineering or science problemsWork with Scilab arrays, functions, and loops Use Scilab’s plotting functions for data visualizationSolve numerical computing and computational engineering problems with ScilabWho This Book Is ForEngineers, scientists, researchers, and students who are new to Scilab. Some prior programming experience would be helpful but not required.
R 1,137.71

Introduction to Tornado
Tornado is a scalable, non-blocking web server and web application framework written in Python. It is also light-weight to deploy, fun to write for, and incredibly powerful. Tornado was written with performance in mind, aiming to solve the C10k problem, so by design it's an extremely high-performance framework. It's also packed with handy tools for dealing with social networks, user authentication, and all sorts of asynchronous fun. In this book, we'll cover the basics of the Tornado framework, starting with the features that make it so great, and working our way towards some real-life examples. We'll cover the best practices for implementation and deployment, as well as a sampling of uses for the technology.
R 830.00

Introduction to Web Mapping
A web map is an interactive display of geographic information, in the form of a web page, that you can use to tell stories and answer questions. Web maps have numerous advantages over traditional mapping techniques, such as the ability to display up-to-date or even real-time information, easy distribution to end users, and highly customized interactive content. Introduction to Web Mapping teaches you how to develop online interactive web maps and web mapping applications, using standard web technologies: HTML, CSS and JavaScript. The core technologies are introduced in Chapters 1-5, focusing on the specific aspects which are most relevant to web mapping. Chapters 6-13 then implement the material and demonstrate key concepts for building and publishing interactive web maps. The book: Gives an introduction to fundamental web technologies: HTML, CSS and JavaScript Covers Leaflet, the popular open-source JavaScript library for building web maps Describes the GeoJSON vector layer format and the Ajax technique for loading data Shows how spatial database APIs, such as the CARTO platform, can be combined with a web map to query and display large amounts of data Introduces client-side geoprocessing with the Turf.js JavaScript library, for applying spatial operators in the browser Demonstrates a complex web mapping application for collecting crowdsourced data, combining Leaflet, CARTO and the Leaflet.draw plugin Goes over 69 complete code examples and includes 9 solved exercises for building web maps and web pages (downloadable code is provided in the online supplement)The book is intended for beginners with no background in web technologies or programming. Nevertheless, some prior experience with computers and programming is beneficial. The book can be used for self-study, or as a textbook in a standard undergraduate "Web mapping" course in a Geography department, intended for students specializing in Geographic Information Systems (GIS).
R 3,480.00

Programmer's Introduction to PHP 4.0
No matter what language you are familiar with, this book will benefit you. Beginning with a rapid introduction to PHP's syntax and basic functionality, you will swiftly understand PHP. The book then steers you toward advanced issues, like PHP's role in database manipulation, sessions, and user interactivity. Author W. J. Gilmore also examines how PHP can work with XML, JavaScript, and the Component Object Model (COM). He loads the book with practical examples and several projects that can be immediately incorporated on any website. The invaluable A Programmer's Introduction to PHP 4.0 shows you how to make the most of PHP's powerful capabilities, regardless of your current scope of PHP knowledge.
R 797.00


R 702.00


Introduction to Data Structures and Algorithms
Data structures and algorithms are presented at the college level in a highly accessible format that presents material with one-page displays in a way that will appeal to both teachers and students. The thirteen chapters cover: Models of Computation, Lists, Induction and Recursion, Trees, Algorithm Design, Hashing, Heaps, Balanced Trees, Sets Over a Small Universe, Graphs, Strings, Discrete Fourier Transform, Parallel Computation. Key features: Complicated concepts are expressed clearly in a single page with minimal notation and without the "clutter" of the syntax of a particular programming language; algorithms are presented with self-explanatory "pseudo-code." * Chapters 1-4 focus on elementary concepts, the exposition unfolding at a slower pace. Sample exercises with solutions are provided. Sections that may be skipped for an introductory course are starred. Requires only some basic mathematics background and some computer programming experience. * Chapters 5-13 progress at a faster pace. The material is suitable for undergraduates or first-year graduates who need only review Chapters 1 -4. * This book may be used for a one-semester introductory course (based on Chapters 1-4 and portions of the chapters on algorithm design, hashing, and graph algorithms) and for a one-semester advanced course that starts at Chapter 5. A year-long course may be based on the entire book. * Sorting, often perceived as rather technical, is not treated as a separate chapter, but is used in many examples (including bubble sort, merge sort, tree sort, heap sort, quick sort, and several parallel algorithms). Also, lower bounds on sorting by comparisons are included with the presentation of heaps in the context of lower bounds for comparison-based structures. * Chapter 13 on parallel models of computation is something of a mini-book itself, and a good way to end a course. Although it is not clear what parallel
R 1,663.18

Introduction to Computational Engineering with MATLAB®
Introduction to Computational Engineering with MATLAB® aims to teach readers how to use MATLAB programming to solve numerical engineering problems. The book focuses on computational engineering with the objective of helping engineering students improve their numerical problem-solving skills. The book cuts a middle path between undergraduate texts that simply focus on programming and advanced mathematical texts that skip over foundational concepts, feature cryptic mathematical expressions, and do not provide sufficient support for novices.Although this book covers some advanced topics, readers do not need prior computer programming experience or an advanced mathematical background. Instead, the focus is on learning how to leverage the computer and software environment to do the hard work. The problem areas discussed are related to data-driven engineering, statistics, linear algebra, and numerical methods. Some example problems discussed touch on robotics, control systems, and machine learning.This second edition includes several corrections, additions, and new exercises across all chapters. The linear algebra chapter is reorganized with the least squares regression, eigenvalue, SVD, and PCA material separated into their own chapters. Additional content was also added on the Cholesky decomposition of positive definite matrices, numerical stability, and applications of the orthogonal QR and SVD matrix decompositions in rectangular systems of equations.A new chapter provides detailed reference material seldom found in undergraduate textbooks, describing modern orthogonal matrix factorization algorithms with source code implementations of QR decomposition, eigendecomposition with the QR and Francis (implicitly shifted QR) algorithms, and the singular value decomposition.FeaturesDemonstrates through algorithms and code segments how numeric problems are solved with only a few lines of MATLAB codeQuickly teaches students the basics and gets them started programming interesting problems as soon as possibleNo prior computer programming experience or advanced math skills requiredSuitable for students at the undergraduate level who have prior knowledge of college algebra, trigonometry, and are enrolled in Calculus IMATLAB script files, functions, and datasets used in examples are available for download from www.routledge.com/9781041169086
R 3,480.00

R 458.00

R 651.00


Introduction to Embedded Systems
An introduction to the engineering principles of embedded systems, with a focus on modeling, design, and analysis of cyber-physical systems. The most visible use of computers and software is processing information for human consumption. The vast majority of computers in use, however, are much less visible. They run the engine, brakes, seatbelts, airbag, and audio system in your car. They digitally encode your voice and construct a radio signal to send it from your cell phone to a base station. They command robots on a factory floor, power generation in a power plant, processes in a chemical plant, and traffic lights in a city. These less visible computers are called embedded systems, and the software they run is called embedded software. The principal challenges in designing and analyzing embedded systems stem from their interaction with physical processes. This book takes a cyber-physical approach to embedded systems, introducing the engineering concepts underlying embedded systems as a technology and as a subject of study. The focus is on modeling, design, and analysis of cyber-physical systems, which integrate computation, networking, and physical processes. The second edition offers two new chapters, several new exercises, and other improvements. The book can be used as a textbook at the advanced undergraduate or introductory graduate level and as a professional reference for practicing engineers and computer scientists. Readers should have some familiarity with machine structures, computer programming, basic discrete mathematics and algorithms, and signals and systems.
R 1,766.00



R 611.00

Introduction to Quantum Computing
This textbook introduces quantum computing to readers who do not have much background in linear algebra based on the self-study experience of the author as an engineer. The author targets undergraduate and master students who are willing to spend about 60 -90 hours seriously learning quantum computing. This book is also suitable for self-study and teaching videos for each chapter and more than 200 exercises with answers are provided. Readers will be able to write their program to simulate quantum computing algorithms and run on real quantum computers on IBM-Q. Moreover, unlike books that only give superficial, “hand-waving” explanations, this book uses exact formalism so readers can continue to pursue more advanced topics based on what they learn from this book
R 2,508.27

R 396.00
R 365.55














































