This book uses a functional programming language (F#) as a metalanguage to present all concepts and examples, and thus has an operational flavour, enabling practical experiments and exercises. It includes basic concepts such as abstract syntax, interpretation, stack machines, compilation, type checking, garbage collection, and real machine code. Also included are more advanced topics on polymorphic types, type inference using unification, co- and contravariant types, continuations, and backwards code generation with on-the-fly peephole optimization.
This second edition includes two...
This book uses a functional programming language (F#) as a metalanguage to present all concepts and examples, and thus has an operational flavour, ...
John Vinceexplains a wide range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, virtual reality, CAD and other areas of computer graphics in this completely revised and expanded fifth edition.
The first five chapters cover a general introduction, number sets, algebra, trigonometry and coordinate systems, which are employed in the following chapters on vectors, matrix algebra, transforms, interpolation, curves and patches, analytic geometry and barycentric coordinates. Following this, the reader is introduced to the...
John Vinceexplains a wide range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, ...
In doing so it provides readers with a comprehensive understanding of where software quality fits into the development lifecycle (spoiler: everywhere), and what the key quality assurance activities are.The book focuses on quality assurance in a way that typical, more generic software engineering reference books do not.
In doing so it provides readers with a comprehensive understanding of where software quality fits into the development lifecycle (spoiler: everywhere)...
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computer science or related fields. The text presents techniques for making realistic, though non-optimizing, compilers for simple programming languages.
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computer science or related...
introduces object-oriented languages through examples in Java, functional programming with Standard ML, and programming using the logic language Prolog;
introduces object-oriented languages through examples in Java, functional programming with Standard ML, and programming using the logic language Prolo...
This book offers an engaging introduction to traditional topics in discrete mathematics, in a manner designed to appeal to computer science students. Presents detailed walkthroughs of several algorithms, along with exercises and practical examples throughout.
This book offers an engaging introduction to traditional topics in discrete mathematics, in a manner designed to appeal to computer science students. ...
This fully updated second edition also includes new material on virtual machine technologies such as VirtualBox, Vagrant and the Linux container system Docker.Topics and features: presents an overview of the GNU/Linux system, introducing the components of the system, and covering aspects of process management, input/output and environment;
This fully updated second edition also includes new material on virtual machine technologies such as VirtualBox, Vagrant and the Linux container syste...