02
LESSON PLAN
LP- CP 7201
Sub Code & Name : CP7201 THEORETICAL FOUNDATIONS OF
COMPUTER SCIENCE
Unit: I
Semester: II
LP Rev. No: 00
Date: 18-01-2014
Page
1 of 6
Unit syllabus:
Credit 4
UNIT I
FOUNDATIONS
12
Time
Ref, Page
No
50 m
6(111-132),
912-14)
6(463-480)
6(481-498)
50 m
10
11
12
50 m
50 m
50 m
1
2
3
4
5
6
7
Topics to be covered
50 m
50 m
50 m
50 m
50 m
50 m
50 m
6(499-509)
6(510-517)
6(518-524)
6(133-145,
150-153),
9(39-44)
6(294-302,
311-320)
6(264-274,
303-308)
6(335-354)
6(355-360)
6(393-400)
Teaching
Method
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
DOC/LP/01/28.02.02
LESSON PLAN
LP- CP 7201
LP Rev. No: 00
UNIT II
Semester: II
Date: 18-01-2014
Page 2 of 6
12
Propositional logic syntax interpretations and models deduction theorems normal forms
inference rules SAT solvers Davis Putnam procedure binary decision diagrams predicate
logic syntax proof theory semantics of predicate logic Normal form unification
inferences in first-order logic logic programming definite programs SLD resolution
normal programs SLDNF resolution introduction to Prolog
Objective: This unit gives an in-depth knowledge in Propositional logic, First-order logic and
logic programming.
Sess
ion
No
Topics to be covered
Time
Ref, Page
No
8(1-5),
2(7-20)
8(2-28),
8(53-68)
13
50 m
14
Deduction theorems.
Normal forms Semantic equivalence, satisfiability and
validity
Normal Forms- Conjunctive normal forms and validity, Horn
clauses and satisfiability
Inference rules
SAT solvers A linear solver, A cubic solver
SAT solvers - Davis Putnam procedure
Propositional logic - binary decision diagrams
predicate logic syntax
- proof theory (natural deduction rules,
Quantifier equivalences)
Semantics of predicate logic Models, Semantic entailment,
semantics of equality
Normal form, Unification
50 m
50 m
50 m
15
16
17
18
19
20
21
22
23
24
Teaching
Method
BB
BB
50 m
8(53-68),
6(63-70)
BB
50 m
50 m
50 m
50 m
8(68-78)
2(111-115)
2(95-108)
8(93-122)
BB
BB
BB
BB
50 m
8(122-130)
BB
50 m
2(167-180,
189-194)
2
2(205-215)
BB
5(566-580)
BB
50 m
3 hrs
BB
BB
DOC/LP/01/28.02.02
LESSON PLAN
LP- CP 7201
LP Rev. No: 00
Date: 18-01-2014
Page 3 of 6
Semester: II
12
Lambda notation for functions syntax curried functions parametric polymorphism lambda
reduction alpha reduction beta reduction beta abstraction extensionality theorem delta
reduction reduction strategies normal forms Church-Rosser Theorems pure lambda
calculus constants arithmetic conditionals Iteration recursion introduction to functional
programming
Objective: To apply lambda calculus and to introduce functional programming.
Sess
ion
Topics to be covered
No
25 Lambda notation for functions syntax, curried
functions, parametric polymorphism
26 Semantics of Lambda expressions
Lambda reduction: Alpha reduction, Beta reduction,
Beta abstraction
27 Lambda reduction: Extensibility theorem, delta
reduction
28 Reduction Strategies: Normal forms, Church-Rosser
Theorems I and II
29 Churchs thesis, Correlation with parameter passing
30 Constants in the Pure Lambda Calculus
31 Arithmetic - conditionals
32 Iterations
33 Recursion: Conditional expressions, Paradoxical
combinatory, Fixed point identity
34 Introduction to functional programming: Names and
values, Executions order, Repetition in
imperative and functional languages.
35 Data structures in functional languages, Functions as
values, the origins of functional languages.
36 Exercises
Time
Teaching
Method
50 m
Ref, Page
No
5(140145)
50 m
5(145-149)
BB
50 m
5(149-150)
BB
50 m
5(151-153)
BB
50 m
50 m
50 m
50 m
50 m
BB
BB
BB
BB
BB
50 m
5(154-156)
5(156,157)
4(50, 78-82)
4(65-81)
5(388-392),
4(65-81)
4(1-11)
50 m
4(1-11)
BB
50 m
BB
BB
BB
DOC/LP/01/28.02.02
LESSON PLAN
LP- CP 7201
LP Rev. No: 00
Sub Code & Name : CP 7201 THEORETICAL FOUNDATIONS OF
COMPUTER SCIENCE
Unit: IV
UNIT IV
Semester: II
GRAPH STRUCTURES
Date: 18-01-2014
Page 4 of 6
12
Tree Structures Graph structures graph representations regular graph structures random
graphs Connectivity Cycles Graph Coloring Cliques, Vertex Covers, Independent sets Spanning Trees network flows matching
Topics to be covered
Time
Ref, Page No
Teaching
Method
50 m
6(627-649)
50 m
6(533-564),
9(178-183)
6(565-576)
BB
BB
BB
50 m
50 m
50 m
50 m
50 m
50 m
3 hrs
6(545, 577-584)
6(610-616),
9(187-190)
6(622),
9(211-216,224)
6(624)
6(668-670)
6(670-673)
6(673-678)
9(225-238)
9(216-220)
50 m
50 m
50 m
50 m
BB
BB
BB
BB
BB
BB
BB
BB
BB
DOC/LP/01/28.02.02
LESSON PLAN
LP- CP 7201
LP Rev. No: 00
Sub Code & Name : CP 7201 THEORETICAL FOUNDATIONS OF
COMPUTER SCIENCE
Unit: V
Semester: II
Date: 18-01-2014
Page 5 of 6
12
Languages and Grammars Finite State Machines State machines and languages Turing
Machines Computational Complexity computability Decidability Church's Thesis
Objective: To explain computational models, computability, and complexity.
Sess
ion
No
49
Topics to be covered
Languages and Grammars:
Time
Ref, Page
No
50 m
6(729-736)
Teaching
Method
BB
50 m
6(729-736)
BB
50 m
50 m
6(740-745)
6(748-757)
BB
BB
50 m
6(741-764)
BB
6(765-768)
6(771-781),
10(93-120)
6(771-781)
6(771-781)
6(771-781),
10(169-193)
6(771-781),
10(127-165)
6(771-781)
BB
BB
50 m
50 m
56
57
58
50 m
50 m
50 m
59
50 m
60
50 m
BB
BB
BB
BB
BB
DOC/LP/01/28.02.02
LESSON PLAN
LP- CP 7201
Sub Code & Name : CP 7201 THEORETICAL FOUNDATIONS OF
COMPUTER SCIENCE
Unit: -
Semester: II
LP Rev. No: 00
Date: 18-01-2014
Page
6 of 6
I II I II
1
I II
I II
I II I II
2
7
I II
I II I II
3
10
11
12
13
14
I II
I II
4
I II
I II
I II I II
5
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, Second Edition, 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.
Prepared by
Approved by
Signature
Name
Date
Ms. N. Revathi
Asst. Prof./IT
18-01-2014
Dr. D. Balasubramanian
HoD/IT
18-01-2014
15