The document outlines the course MCA-C303 Theory of Computer Science taught by Dr. Karamjit Bhatia at G. K. V., Haridwar. The course objectives include developing formal notations for strings, languages, and machines; designing finite automata and context-free grammars; and distinguishing between computability, decidability, and the hierarchy of formal languages. The course outcomes are to analyze formal systems like regular and context-free languages. The significance of the course topics for compiler design and competitive exams is also discussed. Prerequisites include string operations, set theory, and logical thinking. The syllabus and recommended books are provided.
The document outlines the course MCA-C303 Theory of Computer Science taught by Dr. Karamjit Bhatia at G. K. V., Haridwar. The course objectives include developing formal notations for strings, languages, and machines; designing finite automata and context-free grammars; and distinguishing between computability, decidability, and the hierarchy of formal languages. The course outcomes are to analyze formal systems like regular and context-free languages. The significance of the course topics for compiler design and competitive exams is also discussed. Prerequisites include string operations, set theory, and logical thinking. The syllabus and recommended books are provided.
The document outlines the course MCA-C303 Theory of Computer Science taught by Dr. Karamjit Bhatia at G. K. V., Haridwar. The course objectives include developing formal notations for strings, languages, and machines; designing finite automata and context-free grammars; and distinguishing between computability, decidability, and the hierarchy of formal languages. The course outcomes are to analyze formal systems like regular and context-free languages. The significance of the course topics for compiler design and competitive exams is also discussed. Prerequisites include string operations, set theory, and logical thinking. The syllabus and recommended books are provided.
The document outlines the course MCA-C303 Theory of Computer Science taught by Dr. Karamjit Bhatia at G. K. V., Haridwar. The course objectives include developing formal notations for strings, languages, and machines; designing finite automata and context-free grammars; and distinguishing between computability, decidability, and the hierarchy of formal languages. The course outcomes are to analyze formal systems like regular and context-free languages. The significance of the course topics for compiler design and competitive exams is also discussed. Prerequisites include string operations, set theory, and logical thinking. The syllabus and recommended books are provided.
(2020-2021) Dr. Karamjit Bhatia Professor Department of Computer Science G. K. V., Haridwar (Uttarakhand) Course objective • Develop a formal notation for strings, languages and machines. • Design finite automata to accept a set of strings of a language. • Learn about regular language and apply the closure properties of languages. • Design context free grammars to generate strings from a context free language and convert them into normal forms. • Demonstrate equivalence of languages accepted by Push Down Automata and languages generated by context free grammars. • Identify the hierarchy of formal languages, grammars and machines. • Distinguish between computability and non-computability and Decidability and undecidability. Course outcomes • Write a formal notation for strings, languages and machines. • Design finite automata to accept a set of strings of a language. • For a given language determine whether the given language is regular or not. • Design context free grammars to generate strings of context free language. • Determine equivalence of languages accepted by Push Down Automata and languages generated by context free grammars. • Write the hierarchy of formal languages, grammars and machines. • Distinguish between computability and non-computability and Decidability and undecidability. Significance
Non-deterministic Finite Automata, Finite Automata with Output -
Moore and Mealy machines, Equivalence of Moore and Mealy machines; Regular Languages; Non-regular Languages; Decidability.
Context-Free Grammars. Trees; Regular Grammars; Chomsky's Normal
Form; Pushdown Automata; Context- Free Languages; Non- Context- Free Languages; Parsing; Decidability for CFG - Emptiness, Finiteness and Membership questions about CFG.
Turing Machines (TM); Post Machines (PM), simulating a PM on TM.
Recursively Enumerable Languages; Encoding of Turing Machines;
Phrase Structure Grammar; Context Sensitive Grammar; Defining the Computer and Computable Functions; Church’s Thesis; Halting Problem for Turing Machines. Recommended Books (Latest Edition) (Not limited to following list)
• Cohen, Daniel I. A., “Introduction to Computer Theory”,
John Wiley & Sons. • Hopcroft, J. E. & Ullman, J. D., “Introduction to Automata Theory, Languages and Computation”, Narosa Publishing House. • Lewis, H. R., Papadilypriou, C. H., “Elements of the Theory of Computation”, PHI. • Mishra, K. L. P. & Chandrashekaran, N., “Theory of Computer Science”, PHI • Xavier S. P. E, “Theory of Automata, Formal Languages and Computation”, New Age International Publishers