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

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


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 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


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

Mathematical Introduction to Linear Programming and Game Theory
Mathematical elegance is a constant theme in this treatment of linear programming and matrix games. Condensed tableau, minimal in size and notation, are employed for the simplex algorithm. In the context of these tableau the beautiful termination theorem of R.G. Bland is proven more simply than heretofore, and the important duality theorem becomes almost obvious. Examples and extensive discussions throughout the book provide insight into definitions, theorems, and applications. There is considerable informal discussion on how best to play matrix games. The book is designed for a one-semester undergraduate course. Readers will need a degree of mathematical sophistication and general tools such as sets, functions, and summation notation. No single college course is a prerequisite, but most students will do better with some prior college mathematics. This thorough introduction to linear programming and game theory will impart a deep understanding of the material and also increase the student's mathematical maturity.
R 1,530.92


R 183.00

Introduction to Fuzzy Linear Programming Problems
The book presents a snapshot of the state of the art in the field of fully fuzzy linear programming. The main focus is on showing current methods for finding the fuzzy optimal solution of fully fuzzy linear programming problems in which all the parameters and decision variables are represented by non-negative fuzzy numbers. It presents new methods developed by the authors, as well as existing methods developed by others, and their application to real-world problems, including fuzzy transportation problems. Moreover, it compares the outcomes of the different methods and discusses their advantages/disadvantages. As the first work to collect at one place the most important methods for solving fuzzy linear programming problems, the book represents a useful reference guide for students and researchers, providing them with the necessary theoretical and practical knowledge to deal with linear programming problems under uncertainty.
R 3,011.31

Introduction to Embedded System Design Using Field Programmable Gate Arrays
"Introduction to Embedded System Design Using Field Programmable Gate Arrays" provides a starting point for the use of field programmable gate arrays in the design of embedded systems. The text considers a hypothetical robot controller as an embedded application and weaves around it related concepts of FPGA-based digital design. The book details: use of FPGA vis-à-vis general purpose processor and microcontroller; design using Verilog hardware description language; digital design synthesis using Verilog and Xilinx® SpartanTM 3 FPGA; FPGA-based embedded processors and peripherals; overview of serial data communications and signal conditioning using FPGA; FPGA-based motor drive controllers; and prototyping digital systems using FPGA.The book is a good introductory text for FPGA-based design for both students and digital systems designers. Its end-of-chapter exercises and frequent use of example can be used for teaching or for self-study.
R 3,556.45

Introduction to Octave
Familiarize yourself with Octave 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 Octave, which can run MATLAB files without modification. Introduction to Octave 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. What You'll LearnApply sample code to your engineering or science problemsWork with Octave arrays, functions, and loops Use Octave’s plotting functions for data visualizationSolve numerical computing and computational engineering problems with OctaveWho This Book Is ForEngineers, scientists, researchers, and students who are new to Octave. Some prior programming experience would be helpful but not required.
R 2,017.39

Introduction to Computation
Computation, itself a form of calculation, incorporates steps that include arithmetical and non-arithmetical (logical) steps following a specific set of rules (an algorithm). This uniquely accessible textbook introduces students using a very distinctive approach, quite rapidly leading them into essential topics with sufficient depth, yet in a highly intuitive manner. From core elements like sets, types, Venn diagrams and logic, to patterns of reasoning, calculus, recursion and expression trees, the book spans the breadth of key concepts and methods that will enable students to readily progress with their studies in Computer Science.
R 1,649.00

Behavioural Safety Demystified with an Introduction to NLP
Behavioural safety is a vitally important subject, but yet we let it languish in obscurity and terminology; we confound anyone wanting to learn more about it by throwing academic jargon in their face. That's why I've written this book to bring the subject to life. This book will demystify behavioural safety! I want to peel back the layers of academic-sounding rules and theories, shift through the masses of white papers and really get down to the crux of the matter in a jargon-less way. In a way that you'll find easy to appreciate and, hopefully, also enjoy! At the same time, I'll also give you an easy-to-understand introduction to Neuro Linguistic Programming which can really transform the way you work.
R 591.35

Introduction to Data Analysis using Aggregation Functions in R
This textbook helps future data analysts comprehend aggregation function theory and methods in an accessible way, focusing on a fundamental understanding of the data and summarization tools. Offering a broad overview of recent trends in aggregation research, it complements any study in statistical or machine learning techniques. Readers will learn how to program key functions in R without obtaining an extensive programming background.Sections of the textbook cover background information and context, aggregating data with averaging functions, power means, and weighted averages including the Borda count. It explains how to transform data using normalization or scaling and standardization, as well as log, polynomial, and rank transforms. The section on averaging with interaction introduces OWS functions and the Choquet integral, simple functions that allow the handling of non-independent inputs. The final chapters examine software analysis with an emphasis on parameter identification rather than technical aspects.This textbook is designed for students studying computer science or business who are interested in tools for summarizing and interpreting data, without requiring a strong mathematical background. It is also suitable for those working on sophisticated data science techniques who seek a better conception of fundamental data aggregation. Solutions to the practice questions are included in the textbook.
R 3,303.22

Introduction to Software Testing
Get started and hit the ground running in the world of software testing. This simple and practical guide teaches you the fundamentals of software testing, with no prior experience required.You will start by learning functional and non-functional software testing. Then you will gain an understanding of the primary responsibilities of a tester in the Software Development Life Cycle and how to plan and execute testing activities. You will also learn how testing applies to an agile environment, what challenges you might face in your day-to-day life as a tester, and how to overcome them. You will learn the most commonly used test design techniques, with ample examples and exercises to practice yourself.By the end of this book, you will understand the software testing ecosystem, from its types, techniques, and tools, to test planning, execution, and reporting.What You Will LearnMaster the fundamentals of Software TestingGain an understanding of different software testing typesPlan and execute testing activitiesApply test design techniques to concrete examples Who This Book Is ForSoftware testers, developers, project managers, and other stakeholders involved in software testing.
R 1,275.67

Intermediate Guide to SPSS Programming
An Intermediate Guide to SPSS Programming: Using Syntax for Data Management introduces the major tasks of data management and presents solutions using SPSS syntax. This book fills an important gap in the education of many students and researchers, whose coursework has left them unprepared for the data management issues that confront them when they begin to do independent research. It also serves as an introduction to SPSS programming. All the basic features of SPSS syntax are illustrated, as are many intermediate and advanced topics such as using vectors and loops, reading complex data files, and using the SPSS macro language. An Intermediate Guide to SPSS Programming will be a welcome addition to advanced undergraduate and graduate statistics courses across the social sciences, education, and health. Professional researchers, data managers, and statisticians will also find this an invaluable reference for SPSS and data management.
R 4,210.41

Introduction to Network Simulator NS2
Introduction to Network Simulator NS2 is a primer providing materials for NS2 beginners, whether students, professors, or researchers for understanding the architecture of Network Simulator 2 (NS2) and for incorporating simulation modules into NS2. The authors discuss the simulation architecture and the key components of NS2 including simulation-related objects, network objects, packet-related objects, and helper objects.The NS2 modules included within are nodes, links, SimpleLink objects, packets, agents, and applications. Further, the book covers three helper modules: timers, random number generators, and error models. Also included are chapters on summary of debugging, variable and packet tracing, result compilation, and examples for extending NS2. Two appendices provide the details of scripting language Tcl, OTcl and AWK, as well object oriented programming used extensively in NS2.
R 6,038.45

Introduction to Computational Science
This textbook provides an introduction to the growing interdisciplinary field of computational science. It combines a foundational development of numerical methods with a variety of illustrative applications spread across numerous areas of science and engineering. The intended audience is the undergraduate who has completed introductory coursework in mathematics and computer science. Students gain computational acuity by authoring their own numerical routines and by practicing with numerical methods as they solve computational models. This education encourages students to learn the importance of answering: How expensive is a calculation, how trustworthy is a calculation, and how might we model a problem to apply a desired numerical method?The text is written in two parts. Part I provides a succinct, one-term inauguration into the primary routines on which a further study of computational science rests. The material is organized so that the transition to computational science from coursework in calculus, differential equations, and linear algebra is natural. Beyond the mathematical and computational content of Part I, students gain proficiency with elemental programming constructs and visualization, which are presented in MATLAB syntax. The focus of Part II is modeling, wherein students build computational models, compute solutions, and report their findings. The models purposely intersect numerous areas of science and engineering to demonstrate the pervasive role played by computational science.
R 5,129.00

Introduction to Operating System Design and Implementation
This book is an introduction to the design and implementation of operating systems using OSP 2, the next generation of the highly popular OSP courseware for undergraduate operating system courses. Coverage details process and thread management; memory, resource and I/0 device management; and interprocess communication. The book allows students to practice these skills in a realistic operating systems programming environment. An Instructors Manual details how to use the OSP Project Generator and sample assignments. Even in one semester, students can learn a host of issues in operating system design.
R 1,410.35

Introduction to Data Analysis in R
This textbook offers an easy-to-follow, practical guide to modern data analysis using the programming language R. The chapters cover topics such as the fundamentals of programming in R, data collection and preprocessing, including web scraping, data visualization, and statistical methods, including multivariate analysis, and feature exercises at the end of each section. The text requires only basic statistics skills, as it strikes a balance between statistical and mathematical understanding and implementation in R, with a special emphasis on reproducible examples and real-world applications. This textbook is primarily intended for undergraduate students of mathematics, statistics, physics, economics, finance and business who are pursuing a career in data analytics. It will be equally valuable for master students of data science and industry professionals who want to conduct data analyses.
R 3,663.00
Brief Introduction to Web3
Journey into the world of Web3-based application development, its related protocols, and its usage in developing decentralized applications. This book will explain how programmable blockchains are revolutionizing the world of web applications, which can be run on decentralized platforms or peer-to-peer networks like IPFS.You'll start with an introduction to decentralization with a focus on blockchain implementations like Ethereum and Bitcoin. You'll then learn to develop simple decentralized applications (dApps) using Solidity, the language used for developing apps with Ethereum as well as smart contracts, wallets, gateways and NFTs. This book also covers how security and scale are addressed by L2 networks for scaling Bitcoin and Ethereum blockchains. A Brief Introduction to Web3 is your go-to guide for setting up simple Web3 applications using the Ethereum blockchain programming model.What You Will Learn Build NFT tokensExamine Web3 differs from Web2-based applicationsUnderstand the fundamentals of blockchain and the corresponding data structures around itSee how consensus and trustless computing can be performed using blockchain Use Solidity and Truffle to build Web3 applications Who This Book Is ForSoftware developers and architects who are looking to hone their skills in dApps and web3 applications developed on sound principles of decentralized computing.
R 752.00

R 650.00

Introduction to Parallel Computing
In the last few years, courses on parallel computation have been developed and offered in many institutions in the UK, Europe and US as a recognition of the growing significance of this topic in mathematics and computer science. There is a clear need for texts that meet the needs of students and lecturers and this book, based on the author's lecture at ETH Zurich, is an ideal practical student guide to scientific computing on parallel computers working up from ahardware instruction level, to shared memory machines, and finally to distributed memory machines.Aimed at advanced undergraduate and graduate students in applied mathematics, computer science, and engineering, subjects covered include linear algebra, fast Fourier transform, and Monte-Carlo simulations, including examples in C and, in some cases, Fortran. This book is also ideal for practitioners and programmers.
R 10,441.00

R 458.00
R 373.00

Codes: An Introduction to Information Communication and Cryptography
Many people do not realise that mathematics provides the foundation for the devices we use to handle information in the modern world. Most of those who do know probably think that the parts of mathematics involvedare quite ‘cl- sical’, such as Fourier analysis and di?erential equations. In fact, a great deal of the mathematical background is part of what used to be called ‘pure’ ma- ematics, indicating that it was created in order to deal with problems that originated within mathematics itself. It has taken many years for mathema- cians to come to terms with this situation, and some of them are still not entirely happy about it. Thisbookisanintegratedintroductionto Coding.Bythis Imeanreplacing symbolic information, such as a sequence of bits or a message written in a naturallanguage,byanother messageusing (possibly) di?erentsymbols.There are three main reasons for doing this: Economy (data compression), Reliability (correction of errors), and Security (cryptography). I have tried to cover each of these three areas in su?cient depth so that the reader can grasp the basic problems and go on to more advanced study. The mathematical theory is introduced in a way that enables the basic problems to bestatedcarefully,butwithoutunnecessaryabstraction.Theprerequisites(sets andfunctions,matrices,?niteprobability)shouldbefamiliartoanyonewhohas taken a standard course in mathematical methods or discrete mathematics. A course in elementary abstract algebra and/or number theory would be helpful, but the book contains the essential facts, and readers without this background should be able to understand what is going on. vi Thereareafewplaceswherereferenceismadetocomputeralgebrasystems.
R 1,194.98

Introduction to Parallel Computing
Advancements in microprocessor architecture, interconnection technology, and software development have fueled rapid growth in parallel and distributed computing. However, this development is only of practical benefit if it is accompanied by progress in the design, analysis and programming of parallel algorithms.This concise textbook provides, in one place, three mainstream parallelization approaches, Open MPP, MPI and OpenCL, for multicore computers, interconnected computers and graphical processing units. An overview of practical parallel computing and principles will enable the reader to design efficient parallel programs for solving various computational problems on state-of-the-art personal computers and computing clusters.Topics covered range from parallel algorithms, programming tools, OpenMP, MPI and OpenCL, followed by experimental measurements of parallel programs’ run-times, and by engineering analysis of obtained results for improved parallel execution performances.Many examples and exercises support the exposition.
R 1,832.00

Introduction to Software Engineering
Practical Guidance on the Efficient Development of High-Quality SoftwareIntroduction 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.
R 2,934.40

Introduction to Quantum Computing with Q# and QDK
This book introduces the fundamentals of the theory of quantum computing, illustrated with code samples written in Q#, a quantum-specific programming language, and its related Quantum Development Kit. Quantum computing (QC) is a multidisciplinary field that sits at the intersection of quantum physics, quantum information theory, computer science and mathematics, and which may revolutionize the world of computing and software engineering. The book begins by covering historical aspects of quantum theory and quantum computing, as well as offers a gentle, algebra-based, introduction to quantum mechanics, specifically focusing on concepts essential for the field of quantum programming. Quantum state description, state evolution, quantum measurement and the Bell’s theorem are among the topics covered. The readers also get a tour of the features of Q# and familiarize themselves with the QDK. Next, the core QC topics are discussed, complete with the necessary mathematical formalism. This includes the notions of qubit, quantum gates and quantum circuits. In addition to that, the book provides a detailed treatment of a series of important concepts from quantum information theory, in particular entanglement and the no-cloning theorem, followed by discussion about quantum key distribution and its various protocols. Finally, the canon of most important QC algorithms and algorithmic techniques is covered in-depth - from the Deutsch-Jozsa algorithm, through Grover’s search, to Quantum Fourier Transform, quantum phase estimation and Shor’s algorithm. The book is an accessible introduction into the vibrant and fascinating field of quantum computing, offering a blend of academic diligence with pragmatism that is so central to software development world. All of the discussed theoretical aspects of QC are accompanied by runnable code examples, providing the reader with two different angles - mathematical and programmatic - of looking at the same problem space.
R 2,451.37

R 2,302.16

Practical Introduction to Computer Vision with OpenCV
Explains the theory behind basic computer vision and provides a bridge from the theory to practical implementation using the industry standard OpenCV libraries Computer Vision is a rapidly expanding area and it is becoming progressively easier for developers to make use of this field due to the ready availability of high quality libraries (such as OpenCV 2). This text is intended to facilitate the practical use of computer vision with the goal being to bridge the gap between the theory and the practical implementation of computer vision. The book will explain how to use the relevant OpenCV library routines and will be accompanied by a full working program including the code snippets from the text. This textbook is a heavily illustrated, practical introduction to an exciting field, the applications of which are becoming almost ubiquitous. We are now surrounded by cameras, for example cameras on computers & tablets/ cameras built into our mobile phones/ cameras in games consoles; cameras imaging difficult modalities (such as ultrasound, X-ray, MRI) in hospitals, and surveillance cameras. This book is concerned with helping the next generation of computer developers to make use of all these images in order to develop systems which are more intuitive and interact with us in more intelligent ways. Explains the theory behind basic computer vision and provides a bridge from the theory to practical implementation using the industry standard OpenCV librariesOffers an introduction to computer vision, with enough theory to make clear how the various algorithms work but with an emphasis on practical programming issuesProvides enough material for a one semester course in computer vision at senior undergraduate and Masters levels Includes the basics of cameras and images and image processing to remove noise, before moving on to topics such as image histogramming; binary imaging; video processing to detect and model moving objects; geometric operations & camera models; edge detection; features detection; recognition in imagesContains a large number of vision application problems to provide students with the opportunity to solve real problems. Images or videos for these problems are provided in the resources associated with this book which include an enhanced eBook
R 2,235.00

R 1,629.00


R 265.00

Introduction to Discrete Mathematics with ISETL
Intended for first- or second-year undergraduates, this introduction to discrete mathematics covers the usual topics of such a course, but applies constructivist principles that promote - indeed, require - active participation by the student. Working with the programming language ISETL, whose syntax is close to that of standard mathematical language, the student constructs the concepts in her or his mind as a result of constructing them on the computer in the syntax of ISETL. This dramatically different approach allows students to attempt to discover concepts in a "Socratic" dialog with the computer. The discussion avoids the formal "definition-theorem" approach and promotes active involvement by the reader by its questioning style. An instructor using this text can expect a lively class whose students develop a deep conceptual understanding rather than simply manipulative skills. Topics covered in this book include: the propositional calculus, operations on sets, basic counting methods, predicate calculus, relations, graphs, functions, and mathematical induction.
R 2,158.89

Introduction to occam 2 on the Transputer
The aim of this student text is to provide support for practical programming in concurrency, using the OCCAM 2 computer language. Although readers do not require previous experience of writing parallel computer programs, a general knowledge of programming techniques is assumed.
R 582.76

Introduction to Logic
Introduction to Logic is clear and concise, uses interesting examples (many philosophical in nature), and has easy-to-use proof methods. Its key features, retained in this Third Edition, include: simpler ways to test arguments, including an innovative proof method and the star test for syllogisms; a wide scope of materials, suiting it for introductory or intermediate courses; engaging examples, from philosophy and everyday life; useful for self-study and preparation for standardized tests, like the LSAT; a reasonable price (a third the cost of some competitors); and exercises that correspond to the free LogiCola instructional program. This Third Edition: improves explanations, especially on areas that students find difficult; has a fuller explanation of traditional Copi proofs and of truth trees; and updates the companion LogiCola software, which now is touch friendly (for use on Windows tablets and touch monitors), installs more easily on Windows and Macintosh, and adds exercises on Copi proofs and on truth trees. You can still install LogiCola for free (from http://www.harryhiker.com/lc or http://www.routledge.com/cw/gensler).
R 2,618.67

Introduction to Formal Language Theory
The study of formal languages and of related families of automata has long been at the core of theoretical computer science. Until recently, the main reasons for this centrality were connected with the specification and analy sis of programming languages, which led naturally to the following ques tions. How might a grammar be written for such a language? How could we check whether a text were or were not a well-formed program generated by that grammar? How could we parse a program to provide the structural analysis needed by a compiler? How could we check for ambiguity to en sure that a program has a unique analysis to be passed to the computer? This focus on programming languages has now been broadened by the in creasing concern of computer scientists with designing interfaces which allow humans to communicate with computers in a natural language, at least concerning problems in some well-delimited domain of discourse. The necessary work in computational linguistics draws on studies both within linguistics (the analysis of human languages) and within artificial intelligence. The present volume is the first textbook to combine the topics of formal language theory traditionally taught in the context of program ming languages with an introduction to issues in computational linguistics. It is one of a series, The AKM Series in Theoretical Computer Science, designed to make key mathematical developments in computer science readily accessible to undergraduate and beginning graduate students.
R 1,542.57

Introduction to Compiler Construction in a Java World
Immersing students in Java and the Java Virtual Machine (JVM), Introduction to Compiler Construction in a Java World enables a deep understanding of the Java programming language and its implementation. The text focuses on design, organization, and testing, helping students learn good software engineering skills and become better programmers.The book covers all of the standard compiler topics, including lexical analysis, parsing, abstract syntax trees, semantic analysis, code generation, and register allocation. The authors also demonstrate how JVM code can be translated to a register machine, specifically the MIPS architecture. In addition, they discuss recent strategies, such as just-in-time compiling and hotspot compiling, and present an overview of leading commercial compilers. Each chapter includes a mix of written exercises and programming projects. By working with and extending a real, functional compiler, students develop a hands-on appreciation of how compilers work, how to write compilers, and how the Java language behaves. They also get invaluable practice working with a non-trivial Java program of more than 30,000 lines of code. Fully documented Java code for the compiler is accessible at http://www.cs.umb.edu/j--/
R 5,701.51









































