dharm
d:\N-com\TITLE.pm5 iv
PREFACE
To understand the fundamentals of computer science it is essential for us to begin with study of
the related mathematical topics ranging from discrete mathematics, concepts of automata theory
and formal languages. It is high time to recognize the importance of discrete mathematics as it
finds various applications in the field of computer science. However, it requires a full fledged
study and its potential with respect to computer sciences and natural sciences have long been
well recognized. To understand the principles of computer science that is evenly acknowledged
as mathematical foundation of computer science, this book present a selection of topics both
from discrete mathematics and from automata theory and formal languages. The objective of
selection of topics was due to my aspiration to commence with most of the fundamental termi-
nology employed in higher courses in computer science as plausible. As per the requirements of
the study, the formal appearance of the discrete mathematics includes set theory, algebraic
systems, combinatorics, Boolean algebra, propositional logic, and other relevant issues. Like-
wise, abstract models of computations, models of computability, language theory concepts, and
the application of language theory ideas are the subject matter of the concepts of automata and
formal languages. These topics will also assist to understand the concepts and philosophies
used in advanced stages of computer learning such as computation theory and computability,
artificial intelligence, switching theory and logic design, design of softwares like high speed
compilers, sophisticated text processors and programming languages, assembly and rescue of
information.
The texts of this book are intended primarily for use in graduate as well as post graduate
courses in ‘Mathematical Foundation of Computer Science’, ‘Discrete Mathematics’ and
‘Automata Theory and Formal Languages’. Although, the topics discussed in the book primarily
focuses on the mathematical aspects of engineering in context of computer science, however it
is also suited to the technical professionals.