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

Mathematical Logic through Python
Using a unique pedagogical approach, this text introduces mathematical logic by guiding students in implementing the underlying logical concepts and mathematical proofs via Python programming. This approach, tailored to the unique intuitions and strengths of the ever-growing population of programming-savvy students, brings mathematical logic into the comfort zone of these students and provides clarity that can only be achieved by a deep hands-on understanding and the satisfaction of having created working code. While the approach is unique, the text follows the same set of topics typically covered in a one-semester undergraduate course, including propositional logic and first-order predicate logic, culminating in a proof of Gödel's completeness theorem. A sneak peek to Gödel's incompleteness theorem is also provided. The textbook is accompanied by an extensive collection of programming tasks, code skeletons, and unit tests. Familiarity with proofs and basic proficiency in Python is assumed.
R 1,311.25

Introduction to the Theory of Programming Languages
The design and implementation of programming languages, from Fortran and Cobol to Caml and Java, has been one of the key developments in the management of ever more complex computerized systems. Introduction to the Theory of Programming Languages gives the reader the means to discover the tools to think, design, and implement these languages.It proposes a unified vision of the different formalisms that permit definition of a programming language: small steps operational semantics, big steps operational semantics, and denotational semantics, emphasising that all seek to define a relation between three objects: a program, an input value, and an output value. These formalisms are illustrated by presenting the semantics of some typical features of programming languages: functions, recursivity, assignments, records, objects, ... showing that the study of programming languages does not consist of studying languages one after another, but is organized around the features that are present in these various languages. The study of these features leads to the development of evaluators, interpreters and compilers, and also type inference algorithms, for small languages.
R 1,120.53

Origins of Programming
The book begins with a detailed discussion of two problems that have played an extremely important role in the emergence of theoretical programming as an independent discipline. The principal goals in this book are to explain the line of thought that was followed in solving these problems, demonstrate the workings of the mathematical way of thinking, carefully analyze the different stages of descriptive analysis and problem formulation, and reveal the aesthetic component in the search for solutions - in other words, to try to turn the reader into a true witness of the process of discovering mathematical results. In the first part of the book the author considers the storage minimization packing, or storage problem schemas. The problem of storage packing is treated as an example that illustrates how to solve an application problem by means of mathematical methods. In the second part the author presents the theory of Yanov program schemas, a classical theory generally recognized as having served as a foundation of the mathematical theory of programming. This is analyzed as a methodological example that illustrates how a fully developed theory can be extended to a new class of phenomena and objects: program schemas and configurations of program schemas.
R 1,555.49

Lambda-calculus, Combinators and Functional Programming
Originally published in 1988, this book presents an introduction to lambda-calculus and combinators without getting lost in the details of mathematical aspects of their theory. Lambda-calculus is treated here as a functional language and its relevance to computer science is clearly demonstrated. The main purpose of the book is to provide computer science students and researchers with a firm background in lambda-calculus and combinators and show the applicabillity of these theories to functional programming. The presentation of the material is self-contained. It can be used as a primary text for a course on functional programming. It can also be used as a supplementary text for courses on the structure and implementation of programming languages, theory of computing, or semantics of programming languages.
R 2,675.88

Practical Introduction to Denotational Semantics
This textbook is an introduction to denotational semantics and its applications to programming languages. Dr Allison emphasizes a practical approach and the student is encouraged to write and test denotational definitions. The first section is devoted to the mathematical foundations of the subject and sufficient detail is given to illustrate the fundamental problems. The remainder of the book covers the use of denotational semantics to describe sequential programming languages such as Algol, Pascal and C. Throughout, numerous exercises, usually in Pascal, will help the student practise writing definitions and carry out simple applications. The book culminates in discussing an executable semantics of the logic-programming language Prolog. Being an introduction, advanced undergraduates in computer science and graduates new to the subject will find this a readily accessible account of one of the central topics of computer science.
R 2,133.94

Introduction to Computational Combinatorics
By the time students have done some programming in one or two languages and have learnt the common ways of representing information in a computer, they will want to embark upon further study of theoretical or applied topics in computer science. Most will encounter problems that require for their solution one or more of the techniques described in this book: for example problems depending upon the formation and solution of different equations; the task of making lists of possible alternatives and of answering questions about them; or the search for discrete optima. Written by the same authors as the highly successful Information Representation and Manipulation in a Computer, this book describes algorithms of mathematical methods and illustrates their application with examples. The mathematical background needed is elementary algebra and calculus. Numerous exercises are provided, with hints to their solutions.
R 1,967.26

Introduction to Theory of Computation
This textbook aims to provide a comprehensive introduction to the theory of computation for upper-level undergraduate students and first-year graduate students in computer science and related disciplines. It covers a wide range of foundational topics essential for understanding the principles and applications of computation.The book begins with regular languages, exploring finite automata, nondeterministic finite automata, regular expressions, and the equivalence among these apparatuses. It explores state minimization and the Myhill-Nerode Theorem, offering techniques such as pumping lemmas to identify non-regular languages and using the Myhill-Nerode Theorem for non-regularity proofs. Additionally, the closure properties of regular languages are examined.Context-free languages are another focal point, where the text discusses context-free grammars, Chomsky normal form grammars, pushdown automata, and their equivalences. The book includes pumping lemmas and closure properties using CNF grammars and PDA analysis, as well as identifying non-context-free languages and understanding leftmost derivations.Turing machine models are thoroughly covered, with various models and simulations explained. The book outlines configurations, the Church-Turing Thesis, and differentiates between recursive and recursively enumerable languages.Decidability and undecidability are critical topics in the text, addressing decidable problems, diagonalization, the halting problem, and Rice’s Theorem. It also provides a characterization of decidability, discusses the Post Correspondence Problem, and examines the lower levels of the arithmetical hierarchy.The textbook also delves into computational complexity classes, defining time and space complexity classes, and presenting efficient simulations and hierarchy theorems, including the Hennie-Stearns Theorem. It includes examples of problems in P and NP, providing a clear understanding of these classifications.NP-completeness is explored in detail, covering SAT and 3SAT, canonical complete problems, and various NP-complete problems. The book extends to space complexity classes, discussing PSPACE complete problems, NL-complete problems, and proving that NL=coNL.Finally, the text ventures beyond NP-completeness, discussing Ladner’s construction of non-NPC sets, randomized complexity classes, and concepts such as BPP and the polynomial hierarchy. It also examines polynomial size circuits, providing a comprehensive view of the landscape of computational complexity.
R 3,297.00

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

Recursive Introduction to the Theory of Computation
The aim of this textbook is to present an account of the theory of computation. After introducing the concept of a model of computation and presenting various examples, the author explores the limitations of effective computation via basic recursion theory. Self-reference and other methods are introduced as fundamental and basic tools for constructing and manipulating algorithms. From there the book considers the complexity of computations and the notion of a complexity measure is introduced. Finally, the book culminates in considering time and space measures and in classifying computable functions as being either feasible or not. The author assumes only a basic familiarity with discrete mathematics and computing, making this textbook ideal for a graduate-level introductory course. It is based on many such courses presented by the author and so numerous exercises are included. In addition, the solutions to most of these exercises are provided.
R 1,533.60

Recursive Introduction to the Theory of Computation
The aim of this textbook is to present an account of the theory of computation. After introducing the concept of a model of computation and presenting various examples, the author explores the limitations of effective computation via basic recursion theory. Self-reference and other methods are introduced as fundamental and basic tools for constructing and manipulating algorithms. From there the book considers the complexity of computations and the notion of a complexity measure is introduced. Finally, the book culminates in considering time and space measures and in classifying computable functions as being either feasible or not. The author assumes only a basic familiarity with discrete mathematics and computing, making this textbook ideal for a graduate-level introductory course. It is based on many such courses presented by the author and so numerous exercises are included. In addition, the solutions to most of these exercises are provided.
R 1,592.41










