100% found this document useful (3 votes)
1K views2 pages

Cp7201 Tfoc Lesson Plan Theoretical Foundations of Computer Science

This document outlines the syllabus for the course CP7201 Theoretical Foundations of Computer Science. It is divided into 5 units covering topics such as sets, logic, lambda calculus, graph structures, and state machines. Each unit lists 12-15 topics that will be covered in the unit along with references from textbooks and papers that provide more information on each topic. The course aims to provide foundational knowledge in discrete mathematics, logic, functional programming, and computability theory that are important for understanding theoretical computer science.

Uploaded by

appasami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
1K views2 pages

Cp7201 Tfoc Lesson Plan Theoretical Foundations of Computer Science

This document outlines the syllabus for the course CP7201 Theoretical Foundations of Computer Science. It is divided into 5 units covering topics such as sets, logic, lambda calculus, graph structures, and state machines. Each unit lists 12-15 topics that will be covered in the unit along with references from textbooks and papers that provide more information on each topic. The course aims to provide foundational knowledge in discrete mathematics, logic, functional programming, and computability theory that are important for understanding theoretical computer science.

Uploaded by

appasami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

CP7201 THEORETICAL FOUNDATIONS OF COMPUTER SCIENCE

UNIT I FOUNDATIONS 12
1. Sets 6(115-137) 9(12-15)
2. relations 6(573-607)
3. equivalence relations 6(607-618) 9(128-140)
4. partial orders 6(618-633)
5. functions 6(138-155) 9(39-45)
6. recursive functions 6(345-354)
7. sequences 6(156-170)
8. induction principle 6(311-340)
9. structural induction 6(354-357)
10. recursive algorithms 6(360-371)
11. counting 6(385-399) 9(46-55)
12. pigeonhole principle 6(399-405)
13. permutations and combinations 6(407-415) 9(100-102)
14. recurrence relations 6(502-526)

UNIT II LOGIC AND LOGIC PROGRAMMING 12
1. Propositional logic 1(3-39) 2(9-40) 3(25-117) 6(1-35) 8(01-78)
2. Syntax Interpretations and models 2(17-19)
3. Deduction theorems 2(43-44) 8(25-30)
4. Normal forms Inference rules 1(51-61) 3(49-60) 8(53-67)
5. SAT solvers 8(68-77)
6. Predicate logic Syntax 1(41-107) 2(101-125) 3(118-234) 6(36-56) 8(93-157)
7. Proof theory 8(107-121)
8. Semantics of predicate logic 2(109-117) 8(122-130)
9. Undecidability of predicate logic 2(121-125) 8(131-135)
10. Inferences in first(order logic) 6(69-79)
11. Logic programming Definite programs 2(173-199)
12. SLD resolution 1(109-141) 2(176-180)
13. Normal programs
14. SLDNF resolution
15. Introduction to Prolog - 1(141-151) 2(181-185) 5(566-586)

UNIT III LAMBDA CALCULUS AND FUNCTIONAL PROGRAMMING 12
1. Lambda notation for functions 4(11-39 ) 5(140
2. Syntax 4(23-24) 5(140-142)
3. Curried functions 4(140-142) 5(143-158)
4. Parametric polymorphism 4(175-178) 5(144)
5. Lambda reduction 5(147)
6. Alpha reduction 5(148)
7. Beta reduction 4(24-26) 5(148)
8. Beta abstraction 5(149)
9. Extensionality theorem 5(150)
10. Delta reduction 5(150)
11. Reduction strategies 5(151)
12. Normal forms 5(152)
13. Church-Rosser Theorems 4(152-153) 5(153)
14. Pure lambda calculus 5(156)
15. Constants 5(157)
16. Arithmetic 4(61-65) 5(157)
17. Conditionals 4(145-159)
18. Iteration 4(51-53)
19. Recursion 4(51-61 )
20. Introduction to functional programming 4(187-206)



UNIT IV GRAPH STRUCTURES 12
1. Tree Structures 6(745-784) 7(258-262) 9(185-186)
2. Graph structures 6(641-650) 7(179-192)
3. Graph representations 6(668-677) 7(179-192) 9(178-183)
4. Regular graph structures 7(244-257)
5. Random graphs 7(262-268)
6. Connectivity 6(678-692) 7(283-293)
7. Cycles 6(665) 7(294-305)
8. Graph Coloring 6(727-734) 7(306-315)
9. Cliques, Vertex Covers, Independent sets 6(739) 7(316-318)
10. Spanning Trees 6(785-802) 7(335-339) 9(199-206)
11. Network flows 7(340-342) 9(232-238)
12. Matching 7(343-351) 9(216-220)

UNIT V STATE MACHINES 12
1. Languages and Grammars 6(847-858)(878-888) 10(15-16) 11(79-203)
2. Finite State Machines 6(858-865) 10(55-90) 11(35-77)
3. State machines and languages 6(858-865) 10(15-90) 11(79-154)
4. Turing Machines 6(888-899) 10(93-123) 11(287-342)
5. Computational Complexity 10(169-221) 11(387-477)
6. Computability 10(127-166)
7. Decidability 11(343-384)
8. Church's Thesis 12(1-17)

REFERENCES:
1. Uwe Schoning, Logic for Computer Scientists, Birkhauser, 2008.
2. M. Ben-Ari, Mathematical logic for computer science, Second Edition, Springer, 2003.
3. John Harrison, Handbook of Practical Logic and Automated Reasoning, Cambridge University Press, 2009.
4. Greg Michaelson, An introduction to functional programming through lambda calculus, Dover Publications, 2011.
5. Kenneth Slonneger and Barry Kurtz, Formal syntax and semantics of programming languages, Addison Wesley, 1995.
6. Kenneth H. Rosen, Discrete Mathematics and its applications, Seventh Edition, Tata McGraw Hill, 2011.
7. Sriram Pemmaraju and Steven Skiena, Computational Discrete Mathematics, Cambridge University Press, 2003.
8. M. Huth and M. Ryan, Logic in Computer Science Modeling and Reasoning about systems, 2
nd
Ed. Cambridge
University Press, 2004.
9. Norman L. Biggs, Discrete Mathematics, Second Edition, Oxford University Press, 2002.
10. Juraj Hromkovic, Theoretical Computer Science, Springer, 1998.
11. J. E. Hopcroft, Rajeev Motwani, and J. D. Ullman, Introduction to Automata Theory, Languages, and
Computation, Third Edition, Pearson, 2008.
12. Church's Thesis




Prepared by: G.Appasami /AP/CSE/Dr. Pauls Engineering College

You might also like