An Introduction to Statistical Learning: With Applications in R by Gareth James (2013)

An Introduction to Statistical Learning provides an accessible overview of the field of statistical learning, an essential toolset for making sense of the vast and complex data sets that have emerged in fields ranging from biology to finance to marketing to astrophysics in the past twenty years. [Read More]

Modern Compiler Implementation in C by Andrew W. Appel (2004)

This expanded and updated textbook comprehensively covers all phases of a modern compiler, including lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. [Read More]

Compiling with Continuations by Andrew W. Appel (2023)

This book demonstrates the application of continuation-passing style as an intermediate representation for performing optimizations and program transformations. Continuations serve as a versatile tool for compiling a wide range of programming languages. [Read More]

Practical foundations for programming languages by Robert Harper (2018)

Types serve as the central organizational principle in the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the foundational aspects of these languages by employing type theory. [Read More]

Engineering a Compiler - 2nd Edition by K. Cooper (2012)

The thoroughly updated second edition of “Engineering a Compiler” incorporates the latest advancements in compiler technology, offering a comprehensive resource on constructing modern compilers. Esteemed educators and researchers Keith Cooper and Linda Torczon blend fundamental principles with practical insights derived from their experience in developing cutting-edge compilers. [Read More]

Modern Compiler Implementation in ML by Andrew W. Appel (2011)

This updated and expanded textbook comprehensively covers every stage of a contemporary compiler, encompassing lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection using tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. [Read More]

Modern Compiler Implementation in Java. Second Edition by Andrew W. Appel (0101)

This comprehensive textbook covers all aspects of compiler design, spanning lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection through tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. [Read More]

An Introduction to Formal Language Theory that Integrates Experimentation and Proof by STOUGHTON (2005)

Since the 1930s, the subject of formal language theory, also known as au- tomata theory, has been developed by computer scientists, linguists and mathematicians. (Formal) Languages are set of strings over finite sets of symbols, called alphabets, and various ways of describing such languages have been developed and studied, including regular expressions (which “generate” languages), finite automata (which “accept” languages), grammars (which “generate” languages) and Turing machines (which “accept” languages). [Read More]

Intro to functional programming through Lambda calculus (1989) by Greg Michaelson (1989)

Functional programming originates from lambda calculus, recognized as the smallest programming language globally. This esteemed textbook provides an approachable initiation to the concepts and techniques of functional programming, designed for students studying mathematics and computer science. [Read More]

Computational Complexity: A Conceptual Perspective by Oded Goldreich (2008)

This book provides an extensive outlook on contemporary subjects in complexity theory, a pivotal domain within the theoretical underpinnings of computer science. It explores the fundamental question of what can be accomplished within specific time constraints and with other restricted natural computational resources. [Read More]