Foundations of Computational Models: Principles in Computer Science
This course provides students with a comprehensive foundation in computer science and essential mathematical principles. It aims to strengthen students' capability to implement rigorous mathematical arguments and prepares them for advanced courses, such as Algorithm Analysis, Artificial Intelligence, and Compiler Design. Upon completion, students will be proficient in finite-state automata, context-free grammars, pushdown automata, regular expressions, and Turing machines, as well as understanding computability limits and computational efficiency concepts.
Foundations of Computational Models: Principles in Computer Science
E N D
Presentation Transcript
CSCI – 340: Computational Models (Source: Textbook preface) The purpose of this course is to : • To familiarize students with the foundations and principles of computer science. • To strengthen the students’ ability to carry out formal rigorous mathematical arguments. • To teach material that is prerequisite to advanced computer science course such as Analysis of Algorithm, AI, and Compiler Design.
Course Objectives The student who successfully completes this course should be able to: • Define, interpret, and construct finite-state automata; apply these formalisms to practical programming problems. • Define, interpret, and construct context-free grammars, pushdown automata; apply these formalisms to practical programming problems. • Define, interpret, and construct regular expressions; apply these formalisms to computer algorithms. • Understand the theory of Turing machines and its relevance to computability. • Understand the limits of algorithmic computability. • Understand the concepts of efficiency of computation, language families, and complexity classes P and NP. • Parsing Techniques. • Matrix Algebra