1. Theory of Automata
|1."Introduction to Automata Theory, Languages, and Computation" by Hopcroft|
“Introduction to Automata Theory, Languages, and Computation” by Hopcroft Book Review: The comprehensive textbook is designed for undergraduate students pursuing B.Tech in CSE/IT or B.Sc in Computer Science. It is a thorough resource based on computer science and internet theories, featuring practical applications and an online assessment feature called Gradiance. The book presents theoretical concepts in a concise and accessible manner, covering topics such as Theory of Automata, Mathematical Preliminaries, Formal Languages, Pushdown Automata, Deterministic and Nondeterministic Finite Automata, Properties of Regular Languages, Introduction to Turing Machines, and Undecidability.
|2."Introduction to Formal Languages, Automata Theory and Computation" by Krthivasan|
Introduction to Formal Languages, Automata Theory and Computation” by Krthivasan Book Review: This textbook delves into the fundamental concepts of Formal Languages, designed for undergraduate students of Computer Science Engineering/IT. It provides clear and concise explanations of Formal Languages, Automata Theory, Computation, Formal Grammar, and Basic Automata Types. The book also explores underlying principles and theory of computation, recent trends in the field, and introduces applications at appropriate places to engage active learners. It covers contents such as Preliminaries (Sets, Relation and Function, Method of Proof, Graphs, and Languages), Finite State Automata (Characterization, Properties, and Decidability), and more.
|3."Theory of Automata and Computation" by Adesh K Pandey|
“Theory of Automata and Computation” by Adesh K Pandey Book Review: This textbook is aimed at undergraduate students pursuing a degree in Computer Science or Information Technology, as well as those studying Mathematics and Computer Science at the B.Sc level. The book is divided into four main sections. The first section covers Finite Automata, Regular Expressions, and Introduction to Machines. The second section delves into various properties of Regular Sets, Context-Free Grammars, and Languages, followed by Simplified Context-free Grammar and its Normal Form. The third section includes Pushdown Automata, Properties of Context-Free Languages, and Turing Languages. Finally, the last section covers Chomsky Hierarchies, Computability, and Recursive Function Theory. Each chapter also includes a set of Short Questions and Answers.
|4."Formal Language and Automata Theory" by Sunitha|
|5."Theory of Automata, Formal Languages and Computation (As Per UPTU Syllabus)" by S P Eugene Xavier|
“Theory of Automata, Formal Languages and Computation” by S P Eugene Xavier Book Review: The focus of this undergraduate textbook is to introduce students to the basic models of computability. It begins by delving into Finite Automata and their properties, followed by a discussion on Pushdown Automata, which enables the analysis of context-free language. Turing Machines, Computability and Decidability are also introduced in the book. Additionally, conceptual tools used in Computer Science are presented, along with challenging exercises designed to hone students’ analytical skills. The book includes multiple ways of solving each illustrated method, making it more accessible to students.
|6."Automata Theory and Computability for VTU (SEM-V CSE/ISE COURSE-2015)" by A A Puntambekar|
|7."Automata, Computability and Complexity: Theory and Applications" by Rich|
“Automata, Computability and Complexity: Theory and Applications” by Rich Book Review: This textbook emphasizes the practical application of theory in improving the skills of designers and builders. It covers topics such as closure theorems for regular and context-free languages, ambiguity in context-free grammars, parsing, functions on languages, and decision procedures for regular and context-free languages. Additionally, the book discusses top-down and bottom-up parsers, stochastic automata, context-sensitive languages, the Chomsky hierarchy, and recursive functions. It also takes into consideration the varying backgrounds of students in discrete mathematics and logic.
|8."A Textbook on Automata Theory" by Srimani|
“A Textbook on Automata Theory” by Srimani Book Review: This comprehensive textbook is designed for computer science students and covers various topics with detailed explanations. It includes ample illustrations to support theoretical concepts and provides exercises for practice at the end of each chapter. The book also presents a brief history of mathematicians and computer scientists, highlighting important theorems with proofs. Major topics covered in the book include finite automata, equivalent automata, minimization/optimization of DFA, transducers, context-free grammars, and context-free languages. The book also briefly discusses TM extensions and languages, as well as the formal languages/grammar hierarchy.
|9."Introduction to the Theory of Computation" by Michael Sipser|
“Introduction to the Theory of Computation” Book Review: This book offers a clear and concise understanding of complex topics in computational theory. It seamlessly integrates fundamental mathematical properties of computer hardware, software, and applications, along with advanced theorems and proofs, into a single volume. It covers important classes such as BPP, L, NC, P, NP, PSPACE, Alternating, exptime, and their relation to other complexity classes in an approachable manner. The book is suitable for both students and professionals seeking a comprehensive presentation of automata in the field.
|10."Introduction to Computability" by Fred C Hennie|
“Introduction to Computability” Book Review: This book focuses on various properties of algorithmic computation, Turing machines, Turing computability, and primitive recursive functions. Spanning over six chapters, it provides detailed explanations of proofs, implications, and computability issues. The book includes numerous unsolved exercises and descriptive texts, making it ideal for undergraduate computer science students with some prerequisites. Topics covered in the book include algorithmic computation, which is an abstract treatment of algorithm classes and properties, as well as Turing machines and computability. It also delves into primitive recursive functions, recursive and recursively enumerable sets, and their relationship with functions described in other chapters. The book further discusses issues of computability and decidability in different contexts, offering slow exposition to concepts and containing interesting and useful exercises for readers.
|11."The Theory of Computation" by Bernard M Moret|
“The Theory of Computation” Book Review: This book focuses on the study of problem solving through computation under realistic resource constraints. It thoroughly explains the limits of computation and their relationship with resource usage, while exploring possible compromises through approximation and randomization. The book starts by introducing models through finite automata and gradually builds up to universal models and recursion theory. The author effectively connects theoretical developments to practical problems and provides illustrations, making it suitable for both students and professionals. The book presents a set of questions and methods that characterize computer science theoretically, addressing practical issues in the field of computing. It also discusses limits to computation, their relation to resource usage, and explores avenues for compromise through approximation and randomization. Additionally, the book covers research areas in theoretical computer science that have a significant impact on computing.
|12."Computational Complexity" by Christos H Papadimitriou|
“Computational Complexity” Book Review: This book offers a comprehensive introduction to computational complexity, seamlessly integrating computation, applications, and logic. It covers topics such as cryptography and protocols, reductions and NP-completeness, randomized algorithms, approximation of optimization problems, circuit complexity, structural aspects of the P=NP question, polynomial hierarchy, and more, in great detail. The book includes extensive exercises with historical notes, references, and challenging problems. It is suitable for both graduate and undergraduate students of computer science.
|13."Automata and Computability" by Dexter C Kozen|
“Automata and Computability” Book Review: This book is a valuable resource for undergraduate students, providing an introduction to various theoretical methods of computability and rich and varied structural models. It covers basic theoretical models of computability, including finite automata, context-free languages, pushdown automata, and Turing machines. The author analyzes effective computability, decidability, and Godel’s incompleteness theorems while developing their rich and varied structure. Advanced topics such as Kleene Algebra, Lambda calculus, and Myhill-Nerode relations and theorems are also featured. The book describes finite automata and their properties, provides a broader class of models for the analysis of context-free languages, and later discusses Turing machines and effective computability, decidability, and other incompleteness theorems. It is suitable for students with prerequisite knowledge of elementary discrete mathematics.
|14."Introduction to Automata Theory, Languages, and Computation" by John E Hopcroft and Rajeev Motwani|
“Introduction to Automata Theory, Languages, and Computation” Book Review: This book explains theoretical concepts of formal languages, automata theory, and computational complexity in a concise manner, with practical examples. The third edition of the book comes with an online assessment tool for computer science called Gradiance, which allows teachers to have one-on-one interaction with students and track their performance with tests focusing on both syntax and semantics. This book is suitable for undergraduate and graduate students with a background in computer science.
|15."Theory of Computation: A Problem-Solving Approach (WIND)" by by Kavi Mahesh|
“Theory of Computation: A Problem-Solving Approach (WIND)” Book Review: This book covers the core concepts of theory of computation in a clear and concise manner, avoiding obscure formalisms to promote better understanding. It adopts a problem-solving approach rather than a theorem-proving one, making it highly effective for practicing concepts. The book also includes a CD with lecture videos on the mentioned topics. It is recommended for students with backgrounds in computer science and engineering for their respective courses.
|16."Introduction to Automata Theory, Formal Languages and Computation" by Kandar|
“Introduction to Automata Theory, Formal Languages and Computation” Book Review: This book provides a straightforward approach to topics such as formal languages, automata theory, and theory of computation. Each concept is explained with numerous relevant examples and illustrations to enhance understanding. Additionally, a brief introductory chapter on compilers and its relation to theory of computation is included. This book is suitable for computer science students who need a quick insight into automata theory to clear examinations.
|17."Theory of Computer Science: Automata, Languages and Computation" by K L P Mishra|
“Theory of Computer Science: Automata, Languages and Computation” Book Review: This comprehensive textbook is recommended for undergraduate students pursuing B.Tech in CSE/IT as well as B.Sc students. It offers a cohesive representation of all aspects of theoretical computer science, including automata, formal languages, computability, and complexity, along with mathematical preliminaries and Turing machines. Detailed sections on Kleene’s theorem, pigeonhole principle, principle of induction, decidability & recursively enumerable languages, complexity theory, and NP-complete problems are also covered. Objective and subjective type questions with answers provided at the end of the book, along with supplementary solved examples, make this an ideal read for students from computer science and engineering or computer applications backgrounds. The book starts with prepositions and predicates, followed by mathematical preliminaries and theory of automata. It also incorporates various chapters on formal languages, regular sets, and regular grammars, with objective type questions and answers provided at the end of each chapter.
|18."Elements of the Theory of Computation" by Harry R Lewis and Christos H Papadimitriou|
Book Review: The concepts related to theory of computation are presented clearly in this book, without the need for any background in mathematics. The authors present classical and contemporary theories of computation in a friendly and approachable manner. The book includes separate chapters on algorithms, complexity analysis, and various algorithmic ideas. Each section in a chapter is followed by a series of problems to test the reader’s understanding. The book covers a full spectrum of modern topics in automation, including recursive function theory, the halting problem, computational complexity theory, and other advancements.
|19."Introduction to Automata Theory, Languages, and Computation" by John E Hopcroft and Jeffrey D Ullman|
“Introduction to Automata Theory, Languages, and Computation” Book Review: This book offers a rigorous exposition of formal languages and models of computation, along with an introduction to computational complexity. The authors present the theory in a concise and straightforward manner, with exercises at the end of each chapter, including solved examples, to help readers enhance their understanding of the material. This book is appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
|20."Introduction to the Theory of Computation" by Michael Sipser|
Book Review: This book offers a comprehensive understanding of complex theoretical concepts in computational theory. It particularly focuses on deterministic context-free languages, providing valuable insights into parsing and LR(k) grammars. With a blend of practical and philosophical coverage, the book equips readers with a solid understanding of the fundamental mathematical properties of computer hardware, software, and various other technologies. Additionally, the book includes advanced theorems, proofs, and mathematical derivations for in-depth studies in theoretical computing.
|21."Introduction to Languages and The Theory of Computation" by John Martin|
Book Review: This self-explanatory book serves as an accessible introduction to the theory of computation, explaining complex topics using mathematical language. Theorems are accompanied by examples that highlight their applications, offering a comprehensive understanding of the subject matter. The book covers formal languages, automata, abstract computation models, and computability, along with the basics of computational complexity and NP-completeness. It also introduces readers to mathematical tools that are relevant in computational theory. This book is particularly useful for students without a strong background in discrete mathematics, as it covers various computational questions that have a significant impact on computer science. The authors provide discussions and examples to assist readers, and short introductory texts are included to overview each topic to be covered. Suitable for computer science students with prerequisite knowledge of set theory, formal proofs, and formal languages.
|22."Introduction to Formal Languages, Automata Theory and Computation" by Krithivasan|
“Introduction to Formal Languages, Automata Theory and Computation” Book Review: This book presents theoretical concepts in a concise and clear manner, with an in-depth focus on formal grammar and basic automata types. It delves into the underlying theory and principles of computation, making it highly suitable for undergraduate courses in computer science and information technology.
|23."Theory of Automata, Formal Languages and Computation 1st Edition" by S P E Xavier|
|24."Formal Languages and Automata Theory" by K Anuradha|
|25."Theory of Automata and Formal Languages 2nd Edition" by Anand Prakash Shukla|
|26."Formal Languages And Automata Theory" by C K Nagpal|
|27."Introduction to Automata Theory, Languages, and Computation" by John E Hopcroft and Rajeev Motwani|
“Introduction to Automata Theory, Languages, and Computation” Book Review: This book provides an overview of the core principles of automata theory, languages, and computations. It covers topics such as automata methods and madness, finite automata, regular expressions, and languages. Other chapters delve into properties of regular languages, context-free grammar and languages, pushdown automata, and properties of context-free languages. Exercises and problems are included at the end of each unit for student practice, and references and summaries are provided in each chapter. This book is a valuable resource for undergraduate students studying computer engineering and information technology engineering.
2. Formal Systems
|1."Introduction to Languages and The Theory of Computation" by John Martin|
Book Review: This book establishes a connection between computing practice and a profound understanding of the ideas that define it. With clear explanations of complex topics, it serves as an amazing resource for upper-level students seeking an introduction to the theory of computation. The author presents theoretical concepts with precision and clarity, using mathematical language and providing necessary mathematical tools, along with discussions and examples that make the content accessible.
|2."Formal Systems Specification" by Spies Merz Broy|
“Formal Systems Specification” Book Review: This book comprises 15 revised papers and a synopsis of the RPC-memory specification problem statement discussed at a workshop in Schloss Dagstuhl, Germany, in September 1994. Focusing on the formal design of distributed and concurrent systems, this case study discusses various approaches to formal specification, refinement, and verification.
|3."Learnability Results for Elementary Formal Systems: EFS and Prolog programs" by Shahid Hussain|
“Learnability Results for Elementary Formal Systems: EFS and Prolog Programs” Book Review: This book presents a comprehensive relationship model for a wide range of Prolog programs and Elementary Formal Systems (EFS) classes, along with proofs of containment, partial containment, and incompatibilities associated with these classes. It includes a study of two classes of Prolog Programs – hereditary and reductive – and explores useful functions such as length, delete, add, prefix, suffix, split, append, merge, and more.
|4."Descriptional Complexity of Formal Systems: 15th International Workshop, Dcfs 2013, London, Canada, July 22-25, 2013, Proceedings" by Rogerio Reis and Helmut Jurgensen|
“Descriptional Complexity of Formal Systems” Book Review: This book features 22 papers selected from the proceedings of the 15th International Workshop on Descriptional Complexity of Formal Systems, held in London, ON, Canada, in July 2013. Topics covered in this volume include grammars, automata, languages, and other formal systems; descriptional complexity in resource-bounded or structure-bounded environments; co-operating systems; Kolmogorov-Chaitin complexity; structural complexity as related to descriptional complexity; circuit complexity of Boolean functions and related measures; nature-motivated architectures and unconventional models of computing.
|5."Formal Methods for Open Object-Based Distributed Systems" by FRANK S DE BOER GILLES BARTHE|
“Formal Methods for Open Object-Based Distributed Systems” Book Review: This book includes 14 selected papers and 1 invited lecture from the proceedings of the 10th IFIP WG 6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems, FMOODS 2008, held in Oslo, Norway, in June 2008. It covers a broad range of topics, including model checking; semantics of object-oriented programming; theorem proving and deductive verification; type systems and behavioral typing; formal approaches to component-based design; formal methods for service-oriented computing; formal techniques for specification, analysis, and refinement; integration of quality of service requirements into formal models; and applications of formal methods.
|6."Embedded Systems Design Based on Formal Models of Computation" by Zoran Salcic and Ivan Radojevic|
“Embedded Systems Design Based on Formal Models of Computation” Book Review: is a comprehensive book on designing embedded systems using formal models. It covers topics such as synchronous and asynchronous systems, dataflow models, timed automata, Petri nets, and process networks. The book also discusses the use of formal models in verification and testing of embedded systems. The authors provide detailed explanations and examples throughout the book, making it an ideal resource for both students and professionals in the field of embedded systems design.
3. Switching and Automata Theory
|1."Switching and Finite Automata Theory" by Zvi Kohavi and Niraj K Jha|
“Switching and Finite Automata Theory” Book Review: This book provides a comprehensive exploration of logic machines, including their behavior and limitations. It delves into topics such as CMOS gates, logic synthesis, and logic design for emerging nanotechnologies, as well as digital system testing. The book also covers asynchronous circuit design. It begins with a foundation of basic knowledge and gradually progresses to cover combinational logic design and testing, as well as machine design and testing. Each chapter is enriched with 200 examples and 350 questions at the end, making it a valuable resource for readers seeking a deeper understanding of the subject.
|2."Introduction to Switching and Automata Theory (Systems Science)" by Michael A Harrison|
“Introduction to Switching and Automata Theory (Systems Science)” Book Review: This is a comprehensive textbook covering the principles and applications of switching and automata theory. The book includes chapters on Boolean algebra, combinational and sequential circuits, minimization techniques, formal languages and grammars, finite state machines, and Turing machines. It also discusses various applications of these theories in fields such as digital electronics, computer science, and communication systems. This book is highly recommended for undergraduate and graduate students in electrical engineering and computer science.
|3."Fuzzy Switching and Automata: Theory and Applications# (Computer Systems Engineering Series)" by Abraham Kandel|
|4."Switching Theory and Automata (B.E.V Sem. EN)" by Experienced Professor|
“Switching Theory and Automata (B.E.V Sem. EN)” Book Review: This book is specifically designed for students with an engineering background. It includes a comprehensive question bank sourced from various universities, along with detailed solutions. Additionally, a solved question bank is also included in the book, providing valuable resources for students to practice and reinforce their understanding.
|5."Switching Theory: Insight through Predicate Logic" by Shimon Peter Vingron|
“Switching Theory: Insight through Predicate Logic” Book Review: This book provides an in-depth coverage of predicate logic and its concepts in switching theory, along with memory circuits and latches. It is an essential guide for both undergraduate and graduate courses. The book extensively covers sequential circuits and the fundamental ideas of switching theory, along with their composition and verification. Additionally, it discusses formal proofs and predicate logic from the theoretical aspect, while the practical part covers formal synthesis procedures and their circuits.
|6."From Boolean Logic to Switching Circuits and Automata: Towards Modern Information Technology (Studies in Computational Intelligence)" by Radomir S Stankovic and Jaakko Astola|
“From Boolean Logic to Switching Circuits and Automata: Towards Modern Information Technology (Studies in Computational Intelligence)” Book Review: This book serves as an extensive guide on logic networks and automata, exploring various algebraic descriptions and formulations. It delves into the developments in switching theory, highlighting its key concepts. With its comprehensive coverage, this book is a valuable resource for researchers in the field of computing, providing insights and knowledge to further their understanding and advancements in the subject