sub name :principles of programming languages
TRANSCRIPT
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester& Section: V –B Section
UNIT - I
Preliminary Concepts: Reasons for studying, concepts of programming languages,
Programming domains, Language Evaluation Criteria, influences on Language design, Language
categories, Programming Paradigms – Imperative, Object Oriented, functional Programming
,Logic Programming. Programming Language Implementation – Compilation and Virtual
Machines, programming Environments
UNIT - II
Syntax and Semantics: general Problem of describing Syntax and Semantics, formal methods
of describing syntax - BNF, EBNF for common programming languages features, parse trees,
ambiguous grammars, attribute grammars, denotational semantics and axiomatic semantics for
common programming language features.
UNIT - III
Data types: Introduction, primitive, character, user defined, array, associative, record, union,
pointer and reference types, design and implementation uses related to these types. Names,
Variable, concept of binding, type checking, strong typing, type compatibility, named constants,
variable initialization. Abstract Data types: Abstractions and encapsulation, introductions to
data abstraction, design issues, language examples, C++ parameterized ADT, object oriented
programming in small talk, C++, Java, C#, Ada 95
UNIT - IV
Expressions and Statements: Arithmetic relational and Boolean expressions, Short circuit
evaluation mixed mode assignment, Assignment Statements, Control Structures – Statement
Level, Compound Statements, Selection, Iteration, Unconditional Statements, guarded
commands.
UNIT - V
Subprograms and Blocks: Fundamentals of sub-programs, Scope and lifetime of variable, static
and dynamic scope, Design issues of subprograms and operations, local referencing
environments, parameter passing methods, overloaded sub-programs, generic sub-programs,
parameters that are sub-program names, design issues for functions user defined overloaded
operators, co routines. Concurrency: Subprogram level concurrency, semaphores, monitors,
massage passing, Java threads, C# threads.
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester& Section: V –B Section
Course Outlines:
1. Introduction to Programming languages.
2. Different categories of programming languages.
3. Implementation of languages
4. Syntax and semantic rules for languages
5. Data types existing.
6. OOP languages features.
7. Arithmetic, Booleanexpressions, iterative and control statements.
8. Sub program implementation, parameter passing.
9. Overloading concepts.
10. Concurrency in programming languages.
Student Learning Outcomes:
Upon the successful completion of this course students will be able to:
1. What are syntaxand semantic rules of programming languages?
2. How to implement programming languages?
3. How to use data types?
4. How to use various expressions and control statements?
5. How to use subprograms and how to overload them?
6. How to implement concurrency in programming languages?
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester& Section: V –B Section
Session
No Topics to be covered
Date
Teaching
Method
Remarks
1 Introduction PL 11.06.2012 BB
UNIT 1
2 Reasons for studying, concepts of
programming languages 12.06.2012 BB
3 Programming domains 13.06.2012 BB
4
Language Evaluation Criteria 14.06.2012
BB 5
15.06.2012
6 influences on Language design
18.06.2012 BB 7
19.06.2012
8 Language categories 20.06.2012 BB
9 Programming Paradigms 21.06.2012 BB
10
Programming Language
Implementation
22.06.2012 BB
11
25.06.2012
12 programming Environments 26.06.2012 BB
13 Review of unit I 27.06.2012 BB
14 general Problem of describing
Syntax and Semantics 28.06.2012 BB
UNIT 2
15 general Problem of describing
Syntax and Semantics
29.06.2012 BB
16 02.07.2012 BB
17 formal methods of describing
syntax rules
03.07.2012 BB
18 34.0.2012 BB
19 BNF rules
05.07.2012 BB
20 06.07.2012 BB
21 EBNF rules
09.07.2012 BB
22 10.07.2012 BB
23 parse trees
11.07.2012 BB
24 12.07.2012 BB
25 ambiguous grammars, attribute
grammars
16.07.2012 BB
26 17.07.2012 BB
27 ambiguous grammars, attribute
grammars
18.07.2012 BB
28 19.07.2012 BB
29 denotational semantics and
axiomatic semantics introduction
20.07.2012 BB
30 denotational semantics and
axiomatic semantics description
23.07.2012 BB
31 denotational semantics and 24.07.2012 BB
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester& Section: V –B Section
axiomatic semantics description
32 denotational semantics and
axiomatic semantics description
25.07.2012 BB
33 Review of unit II 26.07.2012 BB
34 Data type introduction 27.07.2012 BB
35 primitive, character data types 30.07.2012 BB
36 user defined, array, associative
types 31.07.2012
BB
37 user defined, array, associative
types 01.08.2012
BB
38 record, union, pointer and
reference types 02.08.2012
BB
39 record, union, pointer and
reference types 03.0.2012
BB
I MID EXAMINATIONS (05-08-2012 TO 07-08-2012)
UNIT 3
40 Names, Variable, concept of
binding
08-08-2012 BB
UNIT 3
41 13-08-2012 BB
42 type checking, strong typing, type
compatibility,
14-08-2012 BB
43 16-08-2012 BB
44 named constants, variable
initialization, Abstract data types
introduction
17-08-2012 BB
45 20-08-2012
BB
46 Design issues,Language example
C++
22-08-2012 BB
47 23-08-2012 BB
48 OOPs Small talk,Ada,C++,java
24-08-2012 BB
49 27-08-2012 BB
50 OOPs Small talk,Ada,C++,java
28-08-2012 BB
51 29-08-2012 BB
52 Introduction to expresions 30-08-2012 BB
UNIT 4
53 Arithmetic relational and Boolean
expressions 31-08-2012
BB
54 Arithmetic relational and Boolean
expressions 03-09-2012 BB
55 Short circuit evaluation 04-09-2012 BB
56 mixed mode assignment,
assignment statements 05-09-2012
BB
57 Control structures at statement
level ,Compound statements
06-09-2012 BB
58 07-09-2012 BB
59 Compound statements ,Selection 10-09-2012 BB
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester& Section: V –B Section
iteration and unconditional
statements
UNIT 5
60
Compound statements ,Selection
iteration and unconditional
statements
11-09-2012 BB
61 Guarded commands 12-09-2012 BB
62
Fundamentals of sub-programs,
Scope and lifetime of variable,
static and dynamic scope
13-09-2012 BB
63
Fundamentals of sub-programs,
Scope and lifetime of variable,
static and dynamic scope
17-09-2012 BB
64 Design issues of subprograms
and operations, local referencing
environments
18-09-2012 BB
65
19-09-2012 BB
66 Parameter passing methods,
overloaded sub-programs
20-09-2012 BB
67 21-09-2012 BB
68 generic sub-programs 24-09-2012 BB
69 generic sub-programs 25-09-2012 BB
70
parameters that are sub-program
names, design issues for
functions user defined overloaded
operators
26-09-2012 BB
71
parameters that are sub-program
names, design issues for
functions user defined overloaded
operators
27-09-2012 BB
72 co routines 19-09-2012 BB
73 Introduction to concurrency,
Subprogram level concurrency
28-09-2012 BB
74 Monitors, message passing 01-10-2012 BB
75 semaphores 03-10-2012 BB
76 C++ threads, Java threads 04-10-2012 BB
77 Content beyond the syllabus
Case study of
LISP,COBAL,C,JAVA, Etc
05-10-2012 BB
78
08-10-2012 BB
79 Review of previous papers 09-10-2012 BB
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester& Section: V –B Section
TEXT BOOK
Concepts of Programming Languages Robert .W. Sebesta 6/e, Pearson Education
REFERENCES
1. Programming languages –Ghezzi, 3/e, John Wiley
2. Programming Languages Design and Implementation – Pratt and Zelkowitz,
Fourth EditionPHI/Pearson Education
3. Programming languages –Watt, Wiley Dreamtech
Course Delivery:
UNIT 1 2 3 4 5 5
WEEK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prepared by
Approved by
Signature
HOD/CSE
Name B.Sivaramakrishna
Designation Asst.Professor/CSE
Date 12.06.2012
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester & Section: V –A Section
UNIT - I
Preliminary Concepts: Reasons for studying, concepts of programming languages,
Programming domains, Language Evaluation Criteria, influences on Language design, Language
categories, Programming Paradigms – Imperative, Object Oriented, functional Programming
,Logic Programming. Programming Language Implementation – Compilation and Virtual
Machines, programming Environments
UNIT - II
Syntax and Semantics: general Problem of describing Syntax and Semantics, formal methods
of describing syntax - BNF, EBNF for common programming languages features, parse trees,
ambiguous grammars, attribute grammars, denotational semantics and axiomatic semantics for
common programming language features.
UNIT - III
Data types: Introduction, primitive, character, user defined, array, associative, record, union,
pointer and reference types, design and implementation uses related to these types. Names,
Variable, concept of binding, type checking, strong typing, type compatibility, named constants,
variable initialization. Abstract Data types: Abstractions and encapsulation, introductions to
data abstraction, design issues, language examples, C++ parameterized ADT, object oriented
programming in small talk, C++, Java, C#, Ada 95
UNIT - IV
Expressions and Statements: Arithmetic relational and Boolean expressions, Short circuit
evaluation mixed mode assignment, Assignment Statements, Control Structures – Statement
Level, Compound Statements, Selection, Iteration, Unconditional Statements, guarded
commands.
UNIT - V
Subprograms and Blocks: Fundamentals of sub-programs, Scope and lifetime of variable, static
and dynamic scope, Design issues of subprograms and operations, local referencing
environments, parameter passing methods, overloaded sub-programs, generic sub-programs,
parameters that are sub-program names, design issues for functions user defined overloaded
operators, co routines. Concurrency: Subprogram level concurrency, semaphores, monitors,
massage passing, Java threads, C# threads.
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester & Section: V –A Section
Course Outlines:
1. Introduction to Programming languages.
2. Different categories of programming languages.
3. Implementation of languages
4. Syntax and semantic rules for languages
5. Data types existing.
6. OOP languages features.
7. Arithmetic, Booleanexpressions, iterative and control statements.
8. Sub program implementation, parameter passing.
9. Overloading concepts.
10. Concurrency in programming languages.
Student Learning Outcomes:
Upon the successful completion of this course students will be able to:
1. What are syntaxand semantic rules of programming languages?
2. How to implement programming languages?
3. How to use data types?
4. How to use various expressions and control statements?
5. How to use subprograms and how to overload them?
6. How to implement concurrency in programming languages?
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester & Section: V –A Section
Session
No Topics to be covered
Date
Teaching
Method
Remarks
1 Introduction PL 11.06.2012 BB
UNIT 1
2 Reasons for studying, concepts of
programming languages 13.06.2012 BB
3 Programming domains 14.06.2012 BB
4
Language Evaluation Criteria 15.06.2012
BB 5
17.06.2012
6 influences on Language design
18.06.2012 BB 7
20.06.2012
8 Language categories 21.06.2012 BB
9 Programming Paradigms 22.06.2012 BB
10
Programming Language
Implementation
24.06.2012 BB
11
25.06.2012
12 programming Environments 27.06.2012 BB
13 Review of unit I 28.06.2012 BB
14 general Problem of describing
Syntax and Semantics 29.06.2012 BB
UNIT 2
15 general Problem of describing
Syntax and Semantics
01.07.2012 BB
16 02.07.2012 BB
17 formal methods of describing
syntax rules
04.07.2012 BB
18 05.07.2012 BB
19 BNF rules
06.07.2012 BB
20 08.07.2012 BB
21 EBNF rules
09.07.2012 BB
22 11.07.2012 BB
23 parse trees
12.07.2012 BB
24 15.07.2012 BB
25 ambiguous grammars, attribute
grammars
16.07.2012 BB
26 18.07.2012 BB
27 ambiguous grammars, attribute
grammars
19.07.2012 BB
28 20.07.2012 BB
29 denotational semantics and
axiomatic semantics introduction
22.07.2012 BB
30 denotational semantics and
axiomatic semantics description
23.07.2012 BB
31 denotational semantics and 25.07.2012 BB
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester & Section: V –A Section
axiomatic semantics description
32 denotational semantics and
axiomatic semantics description
26.07.2012 BB
33 Review of unit II 27.07.2012 BB
34 Data type introduction 29.07.2012 BB
35 primitive, character data types 30-07.2012 BB
36 user defined, array, associative
types 01.08.2012
BB
37 user defined, array, associative
types 02.08.2012
BB
38 record, union, pointer and
reference types 03.08.2012
BB
I MID EXAMINATIONS (05-08-2012 TO 07-08-2012)
39 Names, Variable, concept of
binding
08-08-2012 BB
UNIT 3
40 12-08-2012 BB
41 type checking, strong typing, type
compatibility,
13-08-2012 BB
42 16-08-2012 BB
43 named constants, variable
initialization, Abstract data types
introduction
17-08-2012 BB
44 19-08-2012
BB
45 Design issues,Language example
C++
20-08-2012 BB
46 22-08-2012 BB
47 OOPs Small talk,Ada,C++,java
23-08-2012 BB
48 24-08-2012 BB
49 OOPs Small talk,Ada,C++,java
26-08-2012 BB
50 27-08-2012 BB
51 Introduction to expresions 29-08-2012 BB UNIT 4
52 Arithmetic relational and Boolean
expressions 30-08-2012
BB
53 Arithmetic relational and Boolean
expressions 31-08-2012 BB
54 Short circuit evaluation 02-09-2012 BB
55 mixed mode assignment,
assignment statements 03-09-2012
BB
56 Control structures at statement
level ,Compound statements
05-09-2012 BB
57 06-09-2012 BB
58 Compound statements ,Selection
iteration and unconditional
07-09-2012 BB
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester & Section: V –A Section
TEXT BOOK
Concepts of Programming Languages Robert .W. Sebesta 6/e, Pearson Education
statements
59
Compound statements ,Selection
iteration and unconditional
statements
10-09-2012 BB
60 Guarded commands 12-09-2012 BB
61
Fundamentals of sub-programs,
Scope and lifetime of variable,
static and dynamic scope
13-09-2012 BB
UNIT 5
62
Design issues of subprograms
and operations, local referencing
environments
16-09-2012 BB
63 Parameter passing methods,
overloaded sub-programs
17-09-2012 BB
64
generic sub-programs
19-09-2012 BB
65
parameters that are sub-program
names, design issues for
functions user defined overloaded
operators
20-09-2012 BB
66 co routines
23-09-2012 BB
67 Introduction to concurrency,
Subprogram level concurrency
24-09-2012 BB
68 Monitors, message passing 26-09-2012 BB
69 semaphores 27-09-2012 BB
70 Monitors, message passing 28-09-2012 BB
71 semaphores 01-10-2012 BB
72 C++ threads, Java threads 03-10-2012 BB
73 Content beyond the syllabus
Case study of
LISP,COBAL,C,JAVA, Etc
04-10-2012 BB
74 05-10-2012 BB
75
07-10-2012 BB
76 Review of previous papers 08-10-2012 BB
LESSON PLAN Date:
10.06.2012
To 10.10.2012
Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES
Branch: B.Tech CSE Semester & Section: V –A Section
REFERENCES
1. Programming languages –Ghezzi, 3/e, John Wiley
2. Programming Languages Design and Implementation – Pratt and Zelkowitz,
Fourth EditionPHI/Pearson Education
3. Programming languages –Watt, Wiley Dreamtech
Course Delivery:
UNIT 1 2 3 4 5 5
WEEK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prepared by
Approved by
Signature
HOD/CSE
Name B.Sivaramakrishna
Designation Asst.Professor/CSE
Date 15.06.2012
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Code & Sub Name : T123 – AUTOMATA THEORY AND
FORMAL LANGUAGES
Branch: CSE(A) Year:III.B.Tech Semester : V
T123 – AUTOMATA THEORY AND FORMAL LANGUAGES
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
----------------------------------------------------------------------------------------------------------
UNIT - I
Fundamentals, Introduction to Finite Automata, finite automaton model, acceptance of
strings, and languages, deterministic finite automaton and non deterministic finite
automaton, transition diagrams , NFA with ϵ-transitions - Significance, acceptance of
languages. Conversions and Equivalence: Equivalence between NFA with and without ϵ-
transitions, NFA to DFA conversion, minimization of FSM, equivalence between two FSM’s,
Finite Automata with output- Moore and Melay machines.
UNIT - II
Regular Languages: Regular sets, regular expressions, identity rules, Constructing finite
Automata for a given regular expressions, Conversion of Finite Automata to Regular
expressions. Pumping lemma of regular sets, closure properties of regular sets.
UNIT - III
Grammar Formalism: Regular grammars-right linear and left linear grammars, Context free
grammar, derivation trees, Right most and leftmost derivation of strings, Ambiguity in context
free grammars.
Minimization of Context Free Grammars. Chomsky normal form, Greiback normal form,
Pumping Lemma for Context Free Languages. Enumeration of properties of CFL
UNIT - IV
Push Down Automata: Push down automata, definition, model, acceptance of CFL,
Acceptance by final state and acceptance by empty state and its equivalence. Equivalence
of CFL and PDA and Interco version.
UNIT - V
Turing Machine: Turing Machine, definition, model, design of TM, Computable functions,
Techniques of Turing Machine Construction Undesirability: Properties of Recursive and
Recursively Enumerable Languages; Universal Turing Machines (without any reference to
undecidable problems), undesirability of posts. Correspondence problem, The Chomsky
Hierarchy: Regular grammars, unrestricted grammars, Context sensitive languages.
TEXT BOOKS
1. “Introduction to Automata Theory Languages and Computation”. Hopcroft H.E. and
Ullman J. D. Pearson Education
2. Introduction to Computer Theory, Daniel I.A. Cohen, John Wiley.
REFERENCES
1. Introduction to languages and the Theory of Computation, John C Martin, TMH
2. “Elements of Theory of Computation”, Lewis H.P. & Papadimition C.H. Pearson /PHI.
3. Theory of Computer Science – Automata languages and computation - Mishra and
Chandrashekaran, 2nd edition, PHI
4. Introduction to Theory of Computation –Sipser 2nd edition Thomson
Course Objectives:
o Introduce concepts in automata theory and theory of computation
o Identify different formal language classes and their relationships
o Design grammars and recognizers for different formal languages
o Prove or disprove theorems in automata theory using its properties
o Determine the decidability and intractability of computational problems
Course Outcomes:
Upon the successful completion of this course students will be able to:
1. Demonstrate an understanding of abstract models of computing, including deterministic
(DFA), non-deterministic (NFA), and Turing (TM) machine models. (1: Fundamental
knowledge)
2. Understand the relative computing power of the different abstract machine models.
3. Demonstrate an understanding of regular expressions and grammars,including
contextfree and context-sensitive grammars. (1: Fundamental knowledge)
4. Understand the relationships between language classes, including regular, context-free,
context-sensitive, recursive, and recursively enumerable languages. (1: Fundamental
knowledge)
5. Understand the associations between language classes and machine models.
6. Understand the associations between language classes and language descriptors (i.e.,
grammars and regular expressions). (1: Fundamental knowledge)
7. Understand what decidable and undecidable problems are. (1: Fundamental knowledge)
8. Apply advanced proof techniques such as reductions and diagonalization. (2: Scientific,
computational, and engineering problem solving)
LESSON PLAN
Date: 10-06-13
EWD:09-10-13
Sub Code & Sub Name : T123 – AUTOMATA THEORY AND
FORMAL LANGUAGES
Branch: CSE(A) Year:III.B.Tech Semester : V
UNIT - I Session
No
Topics to be covered
No. of
Classes
Date
Teaching Method
UNIT-1
1 Fundamentals, Introduction to Finite
Automata 2
10.06.2013
11.06.2013 BB
2 Finite automaton model 1 12.06.2013 BB 3 Acceptance of
strings, and languages 1 13.06.2013 BB
4
Deterministic finite automaton 3
15.06.2013
17.06.2013
18.06.2013
BB
5 Non deterministic finite
automaton, transition diagrams 2
19.06.2013
20.06.2013 BB
6 NFA with ϵ-transitions - Significance,
acceptance of languages 2
22.06.2013
24.06.2013 BB
7 Conversions and Equivalence: Equivalence
between NFA with and without ϵ-
transitions
1 25.06.2013 BB
8 NFA to DFA conversion 1 26.06.2013 BB
9 Minimization of FSM 1 27.06.2013 BB
10 Equivalence between two FSM’s 1 29.06.2013 BB
11 Finite Automata with output- Moore and
Melay machines.
2 01.07.2013
02.07.2013 BB
UNIT - 2
1 Regular Languages: Regular sets,
Regular expressions, identity rules, 2
03.07.2013
04.07.2013 BB
2 Constructing finite
Automata for a given regular expressions 2
06.07.2013
08.07.2013 BB
3 Conversion of Finite Automata to Regular
expressions 3 09.07.2013
10.07.2013
11.07.2013 BB
4 Pumping lemma of regular sets 1 15.07.2013 BB
5 Closure properties of regular sets
3 16.07.2013
17.07.2013
18.07.2013 BB
UNIT-3
1
Grammar Formalism: Regular grammars-
right linear and left linear grammars 3
20.07.2013
22.07.2013
23.07.2013
BB
2 Context free grammar
1 24.07.2013
BB
3
Derivation trees, Right most and leftmost
derivation of strings
3
25.07.2013
27.07.2013
29.07.2013
BB
4
Ambiguity in context
free grammars.
2
30.07.2013
31.07.2013
BB
5 Minimization of Context Free Grammars.
Chomsky normal form 3 01.08.2013
03.08.2013
08.08.2013 BB
6
Greiback normal form,
3
12.08.2013
13.08.2013
14.08.2013
BB
7 Pumping Lemma for Context Free
Languages 2
15.08.2013
17.08.2013
BB
8 Enumeration of properties of CFL 3
19.08.2013
20.08.2013
21.08.2013 BB
UNIT-4
1 Push Down Automata: Push down
automata, definition, model 2
22.08.2013
24.08.2013 BB
2 Model, acceptance of CFL
2 26.08.2013
27.08.2013 BB
3
Acceptance by final state and acceptance
by empty state and its equivalence 2
28.08.2013
29.08.2013
BB
4 Equivalence
of CFL and PDA and Interco version.
3
29.08.2013
31.08.2013
02.09.2013 BB
UNIT-5
1 Turing Machine: Turing Machine,
definition, model.
3
03.09.2013
04.09.2013
05.09.2013 BB
2 Design of TM, Computable functions 3
07.09.2013
09.09.2013
10.09.2013 BB
3 Techniques of Turing Machine 2 11.09.2013
12.09.2013 BB
4 Construction Undesirability: Properties of 3 16.09.2013
BB
Recursive and Recursively Enumerable
Languages;
17.09.2013
18.09.2013
5 Universal Turing Machines (without any
reference to undecidable problems), 2
19.09.2013
21.09.2013 BB
6 Undesirability of posts. Correspondence
problem 3 23.09.2013
24.09.2013
25.09.2013 BB
7 The Chomsky hierarchy: Regular
grammars, unrestricted grammars 3 26.09.2013
28.09.2013
30.09.2013 BB
8 Context sensitive languages 2
01.10.2013
02.10.2013
BB
Revision on Unit-1 03.10.2013
Revision on Unit-2 05.10.2013
Revision on Unit-3 07.10.2013
Revision on Unit-4 08.10.2013
Revision on Unit-5 09.10.2013
Prepared by Approved by
Signature
Name K .K. SWAMY HOD/CSE
Designation Assistant Professor/CSE Professor
Date
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Code & Sub Name : T123 – AUTOMATA THEORY AND
FORMAL LANGUAGES
Branch: CSE(B) Year:III.B.Tech Semester : V
T123 – AUTOMATA THEORY AND FORMAL LANGUAGES
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
----------------------------------------------------------------------------------------------------------
UNIT - I
Fundamentals, Introduction to Finite Automata, finite automaton model, acceptance of
strings, and languages, deterministic finite automaton and non deterministic finite
automaton, transition diagrams , NFA with ϵ-transitions - Significance, acceptance of
languages. Conversions and Equivalence: Equivalence between NFA with and without ϵ-
transitions, NFA to DFA conversion, minimization of FSM, equivalence between two FSM’s,
Finite Automata with output- Moore and Melay machines.
UNIT - II
Regular Languages: Regular sets, regular expressions, identity rules, Constructing finite
Automata for a given regular expressions, Conversion of Finite Automata to Regular
expressions. Pumping lemma of regular sets, closure properties of regular sets.
UNIT - III
Grammar Formalism: Regular grammars-right linear and left linear grammars, Context free
grammar, derivation trees, Right most and leftmost derivation of strings, Ambiguity in context
free grammars.
Minimization of Context Free Grammars. Chomsky normal form, Greiback normal form,
Pumping Lemma for Context Free Languages. Enumeration of properties of CFL
UNIT - IV
Push Down Automata: Push down automata, definition, model, acceptance of CFL,
Acceptance by final state and acceptance by empty state and its equivalence. Equivalence
of CFL and PDA and Interco version.
UNIT - V
Turing Machine: Turing Machine, definition, model, design of TM, Computable functions,
Techniques of Turing Machine Construction Undesirability: Properties of Recursive and
Recursively Enumerable Languages; Universal Turing Machines (without any reference to
undecidable problems), undesirability of posts. Correspondence problem, The Chomsky
Hierarchy: Regular grammars, unrestricted grammars, Context sensitive languages.
TEXT BOOKS
1. “Introduction to Automata Theory Languages and Computation”. Hopcroft H.E. and
Ullman J. D. Pearson Education
2. Introduction to Computer Theory, Daniel I.A. Cohen, John Wiley.
REFERENCES
1. Introduction to languages and the Theory of Computation, John C Martin, TMH
2. “Elements of Theory of Computation”, Lewis H.P. & Papadimition C.H. Pearson /PHI.
3. Theory of Computer Science – Automata languages and computation - Mishra and
Chandrashekaran, 2nd edition, PHI
4. Introduction to Theory of Computation –Sipser 2nd edition Thomson
Course Objectives:
o Introduce concepts in automata theory and theory of computation
o Identify different formal language classes and their relationships
o Design grammars and recognizers for different formal languages
o Prove or disprove theorems in automata theory using its properties
o Determine the decidability and intractability of computational problems
Course Outcomes:
Upon the successful completion of this course students will be able to:
1. Demonstrate an understanding of abstract models of computing, including deterministic
(DFA), non-deterministic (NFA), and Turing (TM) machine models. (1: Fundamental
knowledge)
2. Understand the relative computing power of the different abstract machine models.
3. Demonstrate an understanding of regular expressions and grammars,including
contextfree and context-sensitive grammars. (1: Fundamental knowledge)
4. Understand the relationships between language classes, including regular, context-free,
context-sensitive, recursive, and recursively enumerable languages. (1: Fundamental
knowledge)
5. Understand the associations between language classes and machine models.
6. Understand the associations between language classes and language descriptors (i.e.,
grammars and regular expressions). (1: Fundamental knowledge)
7. Understand what decidable and undecidable problems are. (1: Fundamental knowledge)
8. Apply advanced proof techniques such as reductions and diagonalization. (2: Scientific,
computational, and engineering problem solving)
LESSON PLAN
Date: 10-06-13
EWD:09-10-13
Sub Code & Sub Name : T123 – AUTOMATA THEORY AND
FORMAL LANGUAGES
Branch: CSE(A) Year:III.B.Tech Semester : V
UNIT - I Session
No
Topics to be covered
No. of
Classes
Date
Teaching Method
UNIT-1
1 Fundamentals, Introduction to Finite
Automata 2
10.06.2013
11.06.2013 BB
2 Finite automaton model 1 12.06.2013 BB 3 Acceptance of
strings, and languages 1 14.06.2013 BB
4
Deterministic finite automaton 3
15.06.2013
17.06.2013
18.06.2013
BB
5 Non deterministic finite
automaton, transition diagrams 2
19.06.2013
21.06.2013 BB
6 NFA with ϵ-transitions - Significance,
acceptance of languages 2
22.06.2013
24.06.2013 BB
7 Conversions and Equivalence: Equivalence
between NFA with and without ϵ-
transitions
1 25.06.2013 BB
8 NFA to DFA conversion 1 26.06.2013 BB
9 Minimization of FSM 1 28.06.2013 BB
10 Equivalence between two FSM’s 1 29.06.2013 BB
11 Finite Automata with output- Moore and
Melay machines. 2
01.07.2013
02.07.2013 BB
UNIT - 2
1 Regular Languages: Regular sets,
Regular expressions, identity rules, 2
03.07.2013
05.07.2013 BB
2 Constructing finite
Automata for a given regular expressions 2
06.07.2013
08.07.2013 BB
3 Conversion of Finite Automata to Regular
expressions 3 09.07.2013
10.07.2013
12.07.2013 BB
4 Pumping lemma of regular sets 1 15.07.2013 BB
5 Closure properties of regular sets
3 16.07.2013
17.07.2013
19.07.2013 BB
UNIT-3
1
Grammar Formalism: Regular grammars-
right linear and left linear grammars 3
20.07.2013
22.07.2013
23.07.2013
BB
2 Context free grammar
1 24.07.2013
BB
3
Derivation trees, Right most and leftmost
derivation of strings
3
26.07.2013
27.07.2013
29.07.2013
BB
4
Ambiguity in context
free grammars.
2
30.07.2013
31.07.2013
BB
5 Minimization of Context Free Grammars.
Chomsky normal form 3 02.08.2013
03.08.2013
08.08.2013 BB
6
Greiback normal form,
3
12.08.2013
13.08.2013
14.08.2013
BB
7 Pumping Lemma for Context Free
Languages 2
16.08.2013
17.08.2013
BB
8 Enumeration of properties of CFL 3
19.08.2013
20.08.2013
21.08.2013 BB
UNIT-4
1 Push Down Automata: Push down
automata, definition, model 2
23.08.2013
24.08.2013 BB
2 Model, acceptance of CFL
2 26.08.2013
27.08.2013 BB
3 Acceptance by final state and acceptance
by empty state and its equivalence 2
28.08.2013
30.08.2013
BB
4 Equivalence
of CFL and PDA and Interco version. 3
30.08.2013
31.08.2013
02.09.2013 BB
UNIT-5
1 Turing Machine: Turing Machine,
definition, model. 3
03.09.2013
04.09.2013
06.09.2013 BB
2 Design of TM, Computable functions 3
07.09.2013
09.09.2013
10.09.2013 BB
3 Techniques of Turing Machine 2 11.09.2013
13.09.2013 BB
4 Construction Undesirability: Properties of
Recursive and Recursively Enumerable
Languages;
3
16.09.2013
17.09.2013
18.09.2013 BB
5 Universal Turing Machines (without any
reference to undecidable problems), 2
20.09.2013
21.09.2013 BB
6 Undesirability of posts. Correspondence
problem 3 23.09.2013
24.09.2013
25.09.2013 BB
7 The Chomsky hierarchy: Regular
grammars, unrestricted grammars 3 27.09.2013
28.09.2013
30.09.2013 BB
8 Context sensitive languages 2
01.10.2013
02.10.2013
BB
Revision on Unit-1 04.10.2013
Revision on Unit-2 05.10.2013
Revision on Unit-3 07.10.2013
Revision on Unit-4 08.10.2013
Revision on Unit-5 09.10.2013
Prepared by Approved by
Signature
Name K .K. SWAMY HOD/CSE
Designation Assistant Professor/CSE Professor
Date
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
UNIT- I
Introduction- Algorithm, Performance Analysis-Space Complexity, Time Complexity,
Asymptotic Notations-Big-Oh, Omega, Theta. Divide and Conquer- General Method, Binary
Search, Finding Maximum and Minimum, Merge Sort.
UNIT - II
The Greedy Method - Knapsack Problem, Tree vertex splitting, Job sequencing, Minimum-cost spanning trees, Kruskal’s algorithm, Optimal storage on tapes, Optimal merge pattern, Single source shortest paths.
UNIT - III
Dynamic Programming - General method, Multistage graph, All pairs shortest path, Single-source shortest path, Optimal Binary search trees, String Editing, 0/1 Knapsack, Reliability design, the traveling salesman problem, Flow shop scheduling.
UNIT - IV
Basic traversal & search techniques - Techniques for binary trees, techniques for graphs, connected components & spanning trees, Bi-connected components & DFS. Back tracking - The General Method, The 8-Queens Problem, Sum of subsets, Graph coloring, Hamiltonian cycle, Knapsack problem.
UNIT - V
Branch and Bound - The method, 0/1 Knapsack problem, Traveling salesperson, Efficiency considerations. NP hard and NP Complete Problems - Basic concepts, Cook’s Theorem, NP-Hard Graph problems, NP-Hard Scheduling problem, some simplified NP-Hard problems.
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
Session
No Topics to be covered
Date
Teaching
Method
Remarks
1 Introduction Class 10.06.2013 BB
UNIT 1
2 Algorithm 11.06.2013 BB
3 Pseudo Code Rules 12.06.2013 BB
4 Performance Analysis-Time
Complexity
13.06.2013 BB
5 Step Count Mechanisms
examples
15.06.2013 BB
6 Space Complexity 17.06.2013 BB
7 Asymptotic Notations-
Omega,Theta,Big-oh
18.06.2013 BB
8 Examples (Tutorial) 19.06.2013 BB
9 Divide-and Conquer Introduction 20.06.2013 BB
10 General Method and Applications 22.06.2013 BB
11 Binary Search, Analysis of binary
Search
24.06.2013 BB
12 Finding Minimum and Maximum 25.06.2013
BB
13 Merge Sort 26.06.2013 BB
14 Merge Sort analysis, Quick
sort(out of syllabus)
27.06.2013 BB
15 Tutorial 29.06.2013 BB
16 Revision 01.07.2013 BB
UNIT 2
17 Greedy Method - Introduction 02.07.2013 BB
18 Knapsack Problem 03.07.2013 BB
19 Tree vertex Splitting
04.07.2013 BB
20 06.07.2013 BB
21 Job sequencing with Dead Lines 08.07.2013 BB
22 Tutorial(Example Problems) 09.07.2013 BB
23 Minimum cost spanning Trees
and Kruskal’s Algorithm
10.07.2013 BB
24 11.07.2013 BB
25 Optimal storage on tapes
15.07.2013 BB
26 16.07.2013 BB
27 Optimal Merge Patterns
17.07.2013 BB
28 18.07.2013 BB
29 Single Source Shortest path 20.07.2013 BB
30 Tutorial(Example problems) 22.07.2013 BB
31 Revision 23.07.2013 BB
32 Dynamic Programming-
Introduction
24.07.2013 BB
UNIT 3 33 Multi Stage Graph 25.07.2013 BB
34 All pairs Shortest path
27.07.2013 BB
35 29.07.2013 BB
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
TEXT BOOK
36 Single source shortest path
30.07.2013 BB
37 31.07.2013 BB
38 Optimal Binary Search Tree
01.08.2013 BB
UNIT 3
39 03.08.2013 BB
40 String Editing
08.08.2013 BB
41 12.08.2013 BB
42 0/1 Knapsack Problem
13.08.2013 BB
43 14.08.2013 BB
44 Reliability Design
15.08.2013 BB
45 17.08.2013 BB
46 Traveling Sales person Problem 19.08.2013 BB
47 Tutorial(Example problems) 20.08.2013 BB
48 Flow shop Scheduling
21.08.2013 BB
49 22.08.2013 BB
50 Revision 24.08.2013 BB
51 Binary Tree Traversals-
Techniques
26.08.2013 BB
UNIT 4
52 Techniques For Graphs 27.08.2013 BB
53 Connected Components 28.08.2013 BB
54 Spanning Trees 29.08.2013 BB
56 Bi connected Components 29.08.2013 BB
57 Tutorial(Example problems) 31.08.2013 BB
58 DFS 02.09.2013 BB
59 Back Tracking-General Method 03.09.2013 BB
61 8-Queens Problem 05.09.2013 BB
62 Sum of Subsets problem
07.09.2013 BB
63 10.09.2013 BB
64 Hamilton Cycle 11.09.2013 BB
65 Graph Coloring 16.09.2013 BB
66 Knapsack Problem 17.09.2013 BB
67 Revision 21.09.2013 BB
68 Branch and Bound-0/1
Knapsack
23.09.2013 BB
UNIT 5
69 0/1 Knapsack 24.09.2013 BB
70 Traveling sales Person problem
26.09.2013 BB
71 28.09.2013 BB
72 NP-hard and NP-complete
Problems-Basic Concepts
01.10.2013 BB
73 Cooks Theorem 03.10.2013 BB
74 NP-Hard Graph Problem 05.10.2013 BB
75 NP-Hard Scheduling algorithms 07.10.2013 BB
76 Tutorial(Example problems) 08.10.2013 BB
77 Revision 09.10.2013 BB
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
Ellis Horowitz, Sartaj Sahni, ‘Fundamentals of Computer Algorithms’, Galgotia Pubs.
REFERENCES
Aho, Hopcroft & Ullman, ‘The Design and Analysis of Computer Algorithms’,Addison Wesley. Thomas H.Corman et al, ‘Introduction to Algorithms’, PHI
Course Delivery: UNIT 1 2 3 4 5
WEEK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prepared by
Approved by
Signature
Name S.Nagarjuna Reddy HOD/CSE
Designation Asst.Professor/CSE Professor
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
UNIT- I
Introduction- Algorithm, Performance Analysis-Space Complexity, Time Complexity,
Asymptotic Notations-Big-Oh, Omega, Theta. Divide and Conquer- General Method, Binary
Search, Finding Maximum and Minimum, Merge Sort.
UNIT - II
The Greedy Method - Knapsack Problem, Tree vertex splitting, Job sequencing, Minimum-cost spanning trees, Kruskal’s algorithm, Optimal storage on tapes, Optimal merge pattern, Single source shortest paths.
UNIT - III
Dynamic Programming - General method, Multistage graph, All pairs shortest path, Single-source shortest path, Optimal Binary search trees, String Editing, 0/1 Knapsack, Reliability design, the traveling salesman problem, Flow shop scheduling.
UNIT - IV
Basic traversal & search techniques - Techniques for binary trees, techniques for graphs, connected components & spanning trees, Bi-connected components & DFS. Back tracking - The General Method, The 8-Queens Problem, Sum of subsets, Graph coloring, Hamiltonian cycle, Knapsack problem.
UNIT - V
Branch and Bound - The method, 0/1 Knapsack problem, Traveling salesperson, Efficiency considerations. NP hard and NP Complete Problems - Basic concepts, Cook’s Theorem, NP-Hard Graph problems, NP-Hard Scheduling problem, some simplified NP-Hard problems.
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
Session
No Topics to be covered
Date
Teaching
Method
Remarks
1 Introduction Class 10.06.2013 BB
UNIT 1
2 Algorithm 11.06.2013 BB
3 Pseudo Code Rules 12.06.2013 BB
4 Performance Analysis-Time
Complexity
13.06.2013 BB
5 Step Count Mechanisms
examples
15.06.2013 BB
6 Space Complexity 17.06.2013 BB
7 Asymptotic Notations-
Omega,Theta,Big-oh
18.06.2013 BB
8 Examples (Tutorial) 19.06.2013 BB
9 Divide-and Conquer Introduction 20.06.2013 BB
10 General Method and Applications 22.06.2013 BB
11 Binary Search, Analysis of binary
Search
24.06.2013 BB
12 Finding Minimum and Maximum 25.06.2013
BB
13 Merge Sort 26.06.2013 BB
14 Merge Sort analysis, Quick
sort(out of syllabus)
27.06.2013 BB
15 Tutorial 29.06.2013 BB
16 Revision 01.07.2013 BB
UNIT 2
17 Greedy Method - Introduction 02.07.2013 BB
18 Knapsack Problem 03.07.2013 BB
19 Tree vertex Splitting
04.07.2013 BB
20 06.07.2013 BB
21 Job sequencing with Dead Lines 08.07.2013 BB
22 Tutorial(Example Problems) 09.07.2013 BB
23 Minimum cost spanning Trees
and Kruskal’s Algorithm
10.07.2013 BB
24 11.07.2013 BB
25 Optimal storage on tapes
15.07.2013 BB
26 16.07.2013 BB
27 Optimal Merge Patterns
17.07.2013 BB
28 18.07.2013 BB
29 Single Source Shortest path 20.07.2013 BB
30 Tutorial(Example problems) 22.07.2013 BB
31 Revision 23.07.2013 BB
32 Dynamic Programming-
Introduction
24.07.2013 BB
UNIT 3 33 Multi Stage Graph 25.07.2013 BB
34 All pairs Shortest path
27.07.2013 BB
35 29.07.2013 BB
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
TEXT BOOK
36 Single source shortest path
30.07.2013 BB
37 31.07.2013 BB
38 Optimal Binary Search Tree
01.08.2013 BB
UNIT 3
39 03.08.2013 BB
40 String Editing
08.08.2013 BB
41 12.08.2013 BB
42 0/1 Knapsack Problem
13.08.2013 BB
43 14.08.2013 BB
44 Reliability Design
15.08.2013 BB
45 17.08.2013 BB
46 Traveling Sales person Problem 19.08.2013 BB
47 Tutorial(Example problems) 20.08.2013 BB
48 Flow shop Scheduling
21.08.2013 BB
49 22.08.2013 BB
50 Revision 24.08.2013 BB
51 Binary Tree Traversals-
Techniques
26.08.2013 BB
UNIT 4
52 Techniques For Graphs 27.08.2013 BB
53 Connected Components 28.08.2013 BB
54 Spanning Trees 29.08.2013 BB
56 Bi connected Components 29.08.2013 BB
57 Tutorial(Example problems) 31.08.2013 BB
58 DFS 02.09.2013 BB
59 Back Tracking-General Method 03.09.2013 BB
61 8-Queens Problem 05.09.2013 BB
62 Sum of Subsets problem
07.09.2013 BB
63 10.09.2013 BB
64 Hamilton Cycle 11.09.2013 BB
65 Graph Coloring 16.09.2013 BB
66 Knapsack Problem 17.09.2013 BB
67 Revision 21.09.2013 BB
68 Branch and Bound-0/1
Knapsack
23.09.2013 BB
UNIT 5
69 0/1 Knapsack 24.09.2013 BB
70 Traveling sales Person problem
26.09.2013 BB
71 28.09.2013 BB
72 NP-hard and NP-complete
Problems-Basic Concepts
01.10.2013 BB
73 Cooks Theorem 03.10.2013 BB
74 NP-Hard Graph Problem 05.10.2013 BB
75 NP-Hard Scheduling algorithms 07.10.2013 BB
76 Tutorial(Example problems) 08.10.2013 BB
77 Revision 09.10.2013 BB
LESSON PLAN Date: 10-06-13
To 09-10-13
Sub Name : Design and Analysis of Algorithms
Branch: B.Tech CSE Semester& Section: V –A Section
Ellis Horowitz, Sartaj Sahni, ‘Fundamentals of Computer Algorithms’, Galgotia Pubs.
REFERENCES
Aho, Hopcroft & Ullman, ‘The Design and Analysis of Computer Algorithms’,Addison Wesley. Thomas H.Corman et al, ‘Introduction to Algorithms’, PHI
Course Delivery: UNIT 1 2 3 4 5
WEEK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prepared by
Approved by
Signature
Name S.Nagarjuna Reddy HOD/CSE
Designation Asst.Professor/CSE Professor
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: A
T254 – MICROPROCESSOR AND INTERFACING
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
----------------------------------------------------------------------------------------------------------
UNIT-I
Architecture of 8086 Microprocessor, Special functions of General purpose registers. 8086 flag
register and function of 8086 Flags, Addressing modes of 8086. Instruction set of 8086.
Assembler directives, simple programs, procedures, and macros, Assembly language programs
involving logical, Branch & Call instructions, sorting, evaluation of arithmetic expressions,
string manipulation.
UNIT-II
Pin diagram of 8086-Minimum mode and maximum mode of operation, Timing diagram,
Memory interfacing to 8086 (Static RAM & EPROM), Need for DMA. DMA data transfer
Method, Interfacing with 8237/8257.
UNIT-III
8255 PPI – various modes of operation and interfacing to 8086, Interfacing Keyboard, Displays,
8279 Stepper Motor and actuators, D/A and A/D converter interfacing.
UNIT-IV
Interrupt structure of 8086. Vector interrupt table. Interrupt service routines. Introduction to DOS
and BIOS interrupts, 8259 PIC Architecture and interfacing cascading of interrupt controller and
its importance, Serial data transfer schemes. Asynchronous and Synchronous data transfer
schemes, 8251 USART architecture and interfacing, TTL to RS 232C and RS232C to TTL
conversion, Sample program of serial data transfer, Introduction to High-speed serial
communications standards, USB.
UNIT-V
Introduction to 80286, Salient Features of 80386, Real and Protected Mode Segmentation &
Paging, Salient Features of Pentium, Branch Prediction. 8051 Microcontroller Architecture,
Register set of 8051, Modes of timer operation, Serial port operation, Interrupt structure of 8051,
Memory and I/O interfacing of 8051.
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: A
Course Description:
Development of microprocessor based systems for embedded applications.
Interfacing to input/output peripherals such as displays, keypads, sensors, digital-to-
analog and analog-to-digital converters, and communication devices among others.
Emphasizes hardware and software design. Requires a project that consists in the
development and laboratory demonstration of the working prototype of an embedded
application.
Course Objectives:
• To master the principles of computer architecture. We will cover the fundamentals of
computer architecture. The 8086, a popular microprocessor is used as the principal example.
Other common processors will also be reviewed.
• To learn programming in assembly language. The principles of assembly language will
be covered using the 8086 as the main example. We will also consider the relation of assembly
language to high level languages, C in particular, and the importance of high-level language
prototyping.
• To learn system integration. Study how to interface the 8086 with memory, analog-to-
digital converters, timers, keys, etc.
Course Outlines:
1. Introduction to various Intel processors
2. Study the 8086 microprocessor in detail
3. Study the entire instruction set of 8086
4. Study various Interfacing devices like 8251,8255,8257,8279 etc..
5. Study advanced processors like 80286,80386
6. Study about microcontrollers(8031/8051)
Student Learning Outcomes:
At the end of the course the students are expected to know how to specify, design,
and prototype a microprocessor-based embedded system. To achieve this objective the
students have to develop a semester consisting of specifying, designing, and prototyping
an embedded system solution to a real life problem.
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: A
S.No Planned Topic Date
No.of Lecture
Hrs
Remarks
Teaching
Method
1 UNIT-I
2 An over view of Intel
processors
10.06.2013
11.06.2013
12.06.2013 03
3 Architecture of 8086
Microprocessor.
13.06.2013
15.06.2013
17.06.2013 02
4 Special functions of General
purpose registers 18.06.2013
19.06.2013 01
5 8086 flag register and function of 8086 Flags.
20.06.2013
22.06.2013 01
6 Addressing modes of 8086. 24.06.2013
25.06.2013 03
7 Instruction set of 8086. 26.06.2013
27.06.2013 02
8 Assembler directives 29.06.2013
01.07.2013 01
9 Simple programs,
procedures, and macros. 02.07.2013
03.07.2013 02
10 Assembly language programs
involving logical. 04.07.2013 06.07.2013 03
11 Branch & Call instructions 08.07.2013 09.07.2013 02
12 sorting, evaluation of
arithmetic expressions, 10.07.2013
11.07.2013 02
13 string manipulation 15.07.2013
16.07.2013 01
14 UNIT-II
15 Pin diagram of 8086-Minimum mode and maximum mode of
operation.
17.07.2013
18.07.2013 03
16 Timing diagram. Memory interfacing to 8086 (Static
RAM & EPROM).
20.07.2013
22.07.2013 03
17 Need for DMA. DMA data
transfer Method. 23.07.2013
24.07.2013 03
18 Interfacing with 8237/8257. 25.07.2013
27.07.2013 01
19 UNIT-III
20 8255 PPI – various modes of operation and interfacing to
8086.
29.07.2013
30.07.2013 02
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: A
S.No Planned Topic Date
No.of Lecture
Hrs
Remarks
Teaching
Method
21 Interfacing Keyboard,
Displays 31.07.2013
01.08.2013 02
22 8279 Stepper Motor and
actuators.. 03.08.2013
08.08.2013 01
23 D/A and A/D converter
interfacing 12.08.2013
13.08.2013 01
24 UNIT-IV
25 Interrupt structure of 8086.
Vector interrupt table. 14.08.2013 02
26 Interrupt service routines. 15.08.2013
17.08.2013 02
27 Introduction to DOS and
BIOS interrupts 19.08.2013
20.08.2013 02
28 8259 PIC Architecture and
interfacing 21.08.2013
22.08.2013 02
29 Cascading of interrupt
controller and its importance 24.08.2013
26.08.2013 02
30 Serial data transfer schemes. 27.08.2013 28.08.2013 02
31 Asynchronous and
Synchronous data transfer schemes.
29.08.2013
29.08.2013 03
32 8251 USART architecture and
interfacing. 31.08.2013
02.09.2013 02
33 TTL to RS 232C and RS232C
to TTL conversion. 03.09.2013
05.09.2013 02
34 Sample program of serial
data transfer 07.09.2013
10.09.2013 02
35 Introduction to High-speed
serial communications standards, USB.
11.09.2013
16.09.2013 02
36 UNIT-V
37 Introduction to 80286, Salient
Features of 80386 17.09.2013
21.09.2013 02
38 Real and Protected Mode Segmentation & Paging
23.09.2013
24.09.2013 01
39 Salient Features of Pentium,
Branch Prediction 26.09.2013
28.09.2013 01
40 8051 Microcontroller
Architecture 01.10.2013 01
41 Register set of 8051, Modes
of timer operation, 03.10.2013 02
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: A
S.No Planned Topic Date
No.of Lecture
Hrs
Remarks
Teaching
Method
42 Serial port operation, Interrupt
structure of 8051 05.10.2013 01
43 Beyond the Syllabus
Memory and I/O interfacing of 8051
07.10.2013 01
44 RISC/CISC Machines
ARM Processors 08.10.2013
09.10.2013 02
TEXT BOOKS
1. Microprocessors and Interfacing 2nd revised edition – Douglas V. Hall,
Tata Mc. Graw Hill.
2. The 8051 Microcontroller, 3rd Edition – Kenneta J. Ayala, Thomson Delmar learning.
REFERENCES
1. Advanced microprocessor and Peripherals, 2nd Edition - A.K.Ray, K.M.Bhurchandi, Tata
Mc. Graw Hill.
2. The 8086/8088 family: Design Programming and Interfacing, John Uffenbeck, PHI
Learning.
3. Micro Controllers: Theory and Applications Ajay V. Deshmukh, Tata Mc.Graw Hill
Course Delivery Plan:
Units 1 2 3 4 5
Week 1
2
3
4
5
6
7
8 9
10
11
12 13
Prepared by
Approved by
Signature
Name S.SRINIVASA REEDY HOD/CSE
Designation Assistant Professor/ECE Professor
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: B
T254 – MICROPROCESSOR AND INTERFACING
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
----------------------------------------------------------------------------------------------------------
UNIT-I
Architecture of 8086 Microprocessor, Special functions of General purpose registers. 8086 flag
register and function of 8086 Flags, Addressing modes of 8086. Instruction set of 8086.
Assembler directives, simple programs, procedures, and macros, Assembly language programs
involving logical, Branch & Call instructions, sorting, evaluation of arithmetic expressions,
string manipulation.
UNIT-II
Pin diagram of 8086-Minimum mode and maximum mode of operation, Timing diagram,
Memory interfacing to 8086 (Static RAM & EPROM), Need for DMA. DMA data transfer
Method, Interfacing with 8237/8257.
UNIT-III
8255 PPI – various modes of operation and interfacing to 8086, Interfacing Keyboard, Displays,
8279 Stepper Motor and actuators, D/A and A/D converter interfacing.
UNIT-IV
Interrupt structure of 8086. Vector interrupt table. Interrupt service routines. Introduction to DOS
and BIOS interrupts, 8259 PIC Architecture and interfacing cascading of interrupt controller and
its importance, Serial data transfer schemes. Asynchronous and Synchronous data transfer
schemes, 8251 USART architecture and interfacing, TTL to RS 232C and RS232C to TTL
conversion, Sample program of serial data transfer, Introduction to High-speed serial
communications standards, USB.
UNIT-V
Introduction to 80286, Salient Features of 80386, Real and Protected Mode Segmentation &
Paging, Salient Features of Pentium, Branch Prediction. 8051 Microcontroller Architecture,
Register set of 8051, Modes of timer operation, Serial port operation, Interrupt structure of 8051,
Memory and I/O interfacing of 8051.
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: B
Course Description:
Development of microprocessor based systems for embedded applications.
Interfacing to input/output peripherals such as displays, keypads, sensors, digital-to-
analog and analog-to-digital converters, and communication devices among others.
Emphasizes hardware and software design. Requires a project that consists in the
development and laboratory demonstration of the working prototype of an embedded
application.
Course Objectives:
• To master the principles of computer architecture. We will cover the fundamentals of
computer architecture. The 8086, a popular microprocessor is used as the principal example.
Other common processors will also be reviewed.
• To learn programming in assembly language. The principles of assembly language will
be covered using the 8086 as the main example. We will also consider the relation of assembly
language to high level languages, C in particular, and the importance of high-level language
prototyping.
• To learn system integration. Study how to interface the 8086 with memory, analog-to-
digital converters, timers, keys, etc.
Course Outlines:
1. Introduction to various Intel processors
2. Study the 8086 microprocessor in detail
3. Study the entire instruction set of 8086
4. Study various Interfacing devices like 8251,8255,8257,8279 etc..
5. Study advanced processors like 80286,80386
6. Study about microcontrollers(8031/8051)
Student Learning Outcomes:
At the end of the course the students are expected to know how to specify, design,
and prototype a microprocessor-based embedded system. To achieve this objective the
students have to develop a semester consisting of specifying, designing, and prototyping
an embedded system solution to a real life problem.
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: B
S.No Planned Topic Date
No.of Lecture
Hrs
Remarks
Teaching
Method
1 UNIT-I
2 An over view of Intel
processors
10.06.2013
11.06.2013
12.06.2013 03
3 Architecture of 8086
Microprocessor.
13.06.2013
15.06.2013
17.06.2013 02
4 Special functions of General
purpose registers 18.06.2013
19.06.2013 01
5 8086 flag register and function of 8086 Flags.
20.06.2013
22.06.2013 01
6 Addressing modes of 8086. 24.06.2013
25.06.2013 03
7 Instruction set of 8086. 26.06.2013
27.06.2013 02
8 Assembler directives 29.06.2013
01.07.2013 01
9 Simple programs,
procedures, and macros. 02.07.2013
03.07.2013 02
10 Assembly language programs
involving logical. 04.07.2013 06.07.2013 03
11 Branch & Call instructions 08.07.2013 09.07.2013 02
12 sorting, evaluation of
arithmetic expressions, 10.07.2013
11.07.2013 02
13 string manipulation 15.07.2013
16.07.2013 01
14 UNIT-II
15 Pin diagram of 8086-Minimum mode and maximum mode of
operation.
17.07.2013
18.07.2013 03
16 Timing diagram. Memory interfacing to 8086 (Static
RAM & EPROM).
20.07.2013
22.07.2013 03
17 Need for DMA. DMA data
transfer Method. 23.07.2013
24.07.2013 03
18 Interfacing with 8237/8257. 25.07.2013
27.07.2013 01
19 UNIT-III
20 8255 PPI – various modes of operation and interfacing to
8086.
29.07.2013
30.07.2013 02
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: B
S.No Planned Topic Date
No.of Lecture
Hrs
Remarks
Teaching
Method
21 Interfacing Keyboard,
Displays 31.07.2013
01.08.2013 02
22 8279 Stepper Motor and
actuators.. 03.08.2013
08.08.2013 01
23 D/A and A/D converter
interfacing 12.08.2013
13.08.2013 01
24 UNIT-IV
25 Interrupt structure of 8086.
Vector interrupt table. 14.08.2013 02
26 Interrupt service routines. 15.08.2013
17.08.2013 02
27 Introduction to DOS and
BIOS interrupts 19.08.2013
20.08.2013 02
28 8259 PIC Architecture and
interfacing 21.08.2013
22.08.2013 02
29 Cascading of interrupt
controller and its importance 24.08.2013
26.08.2013 02
30 Serial data transfer schemes. 27.08.2013 28.08.2013 02
31 Asynchronous and
Synchronous data transfer schemes.
29.08.2013
29.08.2013 03
32 8251 USART architecture and
interfacing. 31.08.2013
02.09.2013 02
33 TTL to RS 232C and RS232C
to TTL conversion. 03.09.2013
05.09.2013 02
34 Sample program of serial
data transfer 07.09.2013
10.09.2013 02
35 Introduction to High-speed
serial communications standards, USB.
11.09.2013
16.09.2013 02
36 UNIT-V
37 Introduction to 80286, Salient
Features of 80386 17.09.2013
21.09.2013 02
38 Real and Protected Mode Segmentation & Paging
23.09.2013
24.09.2013 01
39 Salient Features of Pentium,
Branch Prediction 26.09.2013
28.09.2013 01
40 8051 Microcontroller
Architecture 01.10.2013 01
41 Register set of 8051, Modes
of timer operation, 03.10.2013 02
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name: MICROPROCESSOR AND INTERFACING
CSE-V-Semester & Section: B
S.No Planned Topic Date
No.of Lecture
Hrs
Remarks
Teaching
Method
42 Serial port operation, Interrupt
structure of 8051 05.10.2013 01
43 Beyond the Syllabus
Memory and I/O interfacing of 8051
07.10.2013 01
44 RISC/CISC Machines
ARM Processors 08.10.2013
09.10.2013 02
TEXT BOOKS
1. Microprocessors and Interfacing 2nd revised edition – Douglas V. Hall,
Tata Mc. Graw Hill.
2. The 8051 Microcontroller, 3rd Edition – Kenneta J. Ayala, Thomson Delmar learning.
REFERENCES
1. Advanced microprocessor and Peripherals, 2nd Edition - A.K.Ray, K.M.Bhurchandi, Tata
Mc. Graw Hill.
2. The 8086/8088 family: Design Programming and Interfacing, John Uffenbeck, PHI
Learning.
3. Micro Controllers: Theory and Applications Ajay V. Deshmukh, Tata Mc.Graw Hill
Course Delivery Plan:
Units 1 2 3 4 5
Week 1
2
3
4
5
6
7
8 9
10
11
12 13
Prepared by
Approved by
Signature
Name S.SRINIVASA REEDY HOD/CSE
Designation Assistant Professor/ECE Professor
LAKIREDDY BALI REDDY COLLEGE OF ENGINEERING
L B REDDY NAGAR, MYLAVARAM-521 230
Affiliated to JNTUK, Kakinada & Approved by AICTE New Delhi
Accredited by NBA of AICTE & Certified by ISO 9001:2000
DEPARTMENT OF CSE
Faculty Name: Mr. S. Srinivasa Reddy Date: 11-06-2013
Course & Sem: B TECH V SEM MICROPROCESSORS & INTERFACING LAB(A) AY: 2013 - 2014
S.NO. DESCRIPTION I Batch
Planned Performed
1. 1 INTRODUCTION 12-06-2013 19-06-2013
2. 3 DATA TRANSFER, EXCHANGE 25-06-2013 01-07-2013
3. 6 ADDITION ( ADD & ADC), SUBTRACTION 08-07-2013 15-07-2013
4. 8 MULTIPLICATION, DIVISION 22-07-2013
5. 11 PACKED BCD TO ASCII & ASCII TO PACKED BCD 29-07-2013
6. 13 SORTING 05-08-2013
7. 16 SUBROUTINES 12-08-2013
8. 18 DOS PROGRAMS USING MASM (CYCLE) 19-08-2013
9. 21 8255 BASED WAVEFORM GENERATION (CYCLE) 26-08-2013
10. 23 Stepper Motor I/F (CYCLE) 02-09-2013
11. 25 ADC I/F (CYCLE) 09-09-2013
12. 27 Key Board I/F (CYCLE) 16-09-2013
13. 30 Display I/F (CYCLE) 23-09-2013
14. 32 8051 PROGRAMS (CYCLE) 30-09-2013
15. 35 INTERNAL EXAMINATION (CYCLE) 07-10-2013
Signature of the Faculty HEAD OF THE DEPARTMENT, ECE
LAKIREDDY BALI REDDY COLLEGE OF ENGINEERING
L B REDDY NAGAR, MYLAVARAM-521 230
Affiliated to JNTUK, Kakinada & Approved by AICTE New Delhi
Accredited by NBA of AICTE & Certified by ISO 9001:2000
DEPARTMENT OF CSE
Faculty Name: Mr. B.V.N.R SIVA KUMAR & Mr. S. Srinivasa Reddy Date: 11-06-2013
Course & Sem: B TECH V SEM MICROPROCESSORS & INTERFACING LAB(B) AY: 2013 - 2014
S.NO. DESCRIPTION Planned Performed Signature
1. INTRODUCTION 13-06-2013 20-06-2013
2. DATA TRANSFER, EXCHANGE 26-06-2013 02-07-2013
3. ADDITION ( ADD & ADC), SUBTRACTION 09-07-2013
4. MULTIPLICATION, DIVISION 16-07-2013
5. PACKED BCD TO ASCII & ASCII TO PACKED BCD 23-07-2013
6. SORTING 30-07-2013
7. SUBROUTINES 06-08-2013
8. DOS PROGRAMS USING MASM (CYCLE) 13-08-2013
9. 8255 BASED WAVEFORM GENERATION (CYCLE) 20-08-2013
10. Stepper Motor I/F (CYCLE) 27-08-2013
11. ADC I/F (CYCLE) 03-09-2013
12. Key Board I/F (CYCLE) 10-09-2013
13. Display I/F (CYCLE) 17-09-2013
14. 8051 PROGRAMS (CYCLE) 24-09-2013
15. INTERNAL EXAMINATION (CYCLE) 01-10-2013
16. INTERNAL EXAMINATION (CYCLE) 08-10-2013
Signature of the Faculty HEAD OF THE DEPARTMENT, ECE
LESSON PLAN
Date: 10-06-13
EWD: 09-10-13
Sub. Name : Design and Analysis of Algorithms
Branch: CSE, 1-Semester,III & Sections: A &B T265 – OBJECT ORIENTED ANALYSIS AND DESIGN
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
---------------------------------------------------------------------------------------------------------------
UNIT - I Introduction to UML : Importance of modelling, principles of modelling, object oriented modelling, conceptual model of the UML, Architecture, Software Development Life Cycle. UNIT - II Basic Structural Modelling: Classes, Relationships, common Mechanisms, and diagrams. Advanced Structural Modelling: Advanced classes, advanced relationships, Interfaces, Types and Roles, Packages. UNIT - III Class & Object Diagrams: Terms, concepts, modelling techniques for Class & Object Diagrams. UNIT - IV Basic Behavioural Modelling-I : Interactions, Interaction diagrams Use cases, Use case Diagrams, Activity Diagrams UNIT - V Advanced Behavioural Modelling: Events and signals, state machines, processes and Threads, time and space, state chart diagrams. Architectural Modelling: Component, Deployment, Component diagrams and Deployment diagrams. TEXT BOOK 1. Grady Booch, James Rumbaugh, Ivar Jacobson : The Unified Modelling Language
User Guide, Pearson Education. REFERENCES 1. Meilir Page-Jones: Fundamentals of Object Oriented Design in UML, Pearson
Education. 2. Pascal Roques: Modeling Software Systems Using UML2, WILEY- Dreamtech India
Pvt. Ltd. 3. Atul Kahate: Object Oriented Analysis & Design, The McGraw-Hil Companies. 4. Appling UML and Patterns: An introduction to Object – Oriented Analysis and Design
and Unified Process, Craig Larman, Pearson Education.
LAKIREDDY BALI REDDY COLLEGE OF ENGINEERING
LESSON PLAN
Subject: OBJECT ORIENTED ANALYSIS AND DESIGN Department: CSE
Faculty Name: CH. V. NARAYANA . Class: III- B.TECH, I- SEM .sections: A
Session
No. Topics to be covered Date
Teaching
Method
Remarks
1 Introduction to UML :
10.06.2013 BB
UNIT I
2 Importance of Modeling, Principles of Modeling
11.06.2013 BB
3 Importance of Modeling, Principles of Modeling
12.06.2013
BB
4 Object Oriented modeling
13.06.2013 BB
5 Areas of UML Application
15.06.2013 BB
6 Conceptual model of the UML
17.06.2013 BB
7 Conceptual model of the UML
18.06.2013 BB
8 Conceptual model of the UML
19.06.2013 BB
9 UML Architecture
20.06.2013 BB
10 Software development processes
22.06.2013 BB
11 Software Development Life Cycle
24.06.2013 BB
12 Software Development Life Cycle
25.06.2013 BB
13 Revision
26.06.2013 BB
14 Revision
27.06.2013 BB
15 Slip Test on Unit-1
29.06.2013
16 Discussion
01.07.2013 BB
17 Introduction to Unit-II
02.07.2013 BB
UNIT II
18 Basic Structural Modeling: Classes
03.07.2013
BB
19 Basic Structural Modeling: Classes
04.07.2013 BB
20 Basic Structural modeling: Relationships
06.07.2013
BB
21 Relationships
08.07.2013 BB
22 Common Mechanisms: specifications
09.07.2013
BB
23 Common Mechanisms: Adornaments common divisions
10.07.2013
BB
24 Extensibility mechanisms
11.07.2013 BB
25 Diagrams
15.07.2013 BB
26 Diagrams: Class Diagrams
16.07.2013 BB
27 Diagrams: Object Diagrams
17.07.2013 BB
28 Diagrams: Interaction Diagrams
18.07.2013 BB
29 Diagrams: Object Diagrams
20.07.2013 BB
30 Advanced classes
22.07.2013 BB
31 advanced relationships
23.07.2013 BB
32 Interfaces& Its Properties
24.07.2013 BB
33 Types and Roles, Packages
25.07.2013 BB
34 Types and Roles, Packages
27.07.2013 BB
35 Revision class on unit-II
29.07.2013
36 Revision class on unit-1
30.07.2013
37 Slip test On Unit II
31.07.2013
38 Introduction to Unit-III
01.08.2013 BB
UNIT III
39 Advance class & Their Features 03.08.2013 BB
40 Advance class & Their Features 08.08.2013 BB
41 Common modeling Techniques of class Diagrams
12.08.2013 BB
42 Object Diagrams & their Features 13.08.2013 BB
43 Object Diagrams & their Features 14.08.2013 BB
44 Common modeling Techniques of Object Diagrams
15.08.2013 BB
45 Revision class on unit-II
17.08.2013
46 Slip test On Unit II
19.08.2013
47 Introduction to Unit-IV
20.08.2013 BB
UNIT IV
48 Basic Behavioral Modeling: Interactions
21.08.2013
BB
49 Interaction Diagrams: Sequence Diagrams
22.08.2013
BB
50 Interaction Diagrams: Collaboration Diagrams
24.08.2013
BB
51 Interaction Diagrams: Common modeling techniques
26.08.2013
BB
52 Interaction Diagrams: Common modeling techniques
27.08.2013 BB
53 Use case Diagrams
28.08.2013 BB
54 Use case Diagrams: Common Modeling Techniques
29.08.2013
BB
55 Activity Diagrams
29.08.2013 BB
56 Activity Diagrams: Common
31.08.2013 BB
Course Delivery:
UNIT 1 2 3 4 5
WEEK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prepared by
Approved by
Signature
Name CH. V. NARAYANA HOD/CSE
Designation Associate. Professor/CSE Professor
Modeling Techniques
UNIT IV 57 Revision class on unit-IV
02.09.2013 BB
58 Slip test On Unit IV
03.09.2013 BB
59 Introduction to Unit-V
05.09.2013 BB
UNIT V
60 Advanced Behavioral Modeling: Elements
07.09.2013
BB
61 The 4 kinds of Event
10.09.2013 BB
62 The signals and their relevance
11.09.2013 BB
63 state machines and their relevance
16.09.2013 BB
64 Threads and processes
17.09.2013 BB
65 time and space
21.09.2013 BB
66 State chart diagrams
23.09.2013 BB
67 state chart diagrams 24.09.2013
BB
68 Architectural Modeling-introduction
26.09.2013
BB
69 Components- discussion
28.09.2013 BB
70 Component diagrams
01.10.2013 BB
71 Deployment & Deployment diagrams
03.10.2013 BB
72 Revision class on unit-V
05.10.2013 BB
73 Slip test On Unit - V
07.10.2013
74 Beyond syllabus: unified process
08.10.2013 LCD
75 Elements of Unified processing
09.10.2013 LCD
LESSON PLAN
Date: 10-06-13
EWD: 09-10-13
Sub. Name : Design and Analysis of Algorithms
Branch: CSE, 1-Semester,III & Sections: A &B T265 – OBJECT ORIENTED ANALYSIS AND DESIGN
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
---------------------------------------------------------------------------------------------------------------
UNIT - I Introduction to UML : Importance of modelling, principles of modelling, object oriented modelling, conceptual model of the UML, Architecture, Software Development Life Cycle. UNIT - II Basic Structural Modelling: Classes, Relationships, common Mechanisms, and diagrams. Advanced Structural Modelling: Advanced classes, advanced relationships, Interfaces, Types and Roles, Packages. UNIT - III Class & Object Diagrams: Terms, concepts, modelling techniques for Class & Object Diagrams. UNIT - IV Basic Behavioural Modelling-I : Interactions, Interaction diagrams Use cases, Use case Diagrams, Activity Diagrams UNIT - V Advanced Behavioural Modelling: Events and signals, state machines, processes and Threads, time and space, state chart diagrams. Architectural Modelling: Component, Deployment, Component diagrams and Deployment diagrams. TEXT BOOK 1. Grady Booch, James Rumbaugh, Ivar Jacobson : The Unified Modelling Language
User Guide, Pearson Education. REFERENCES 1. Meilir Page-Jones: Fundamentals of Object Oriented Design in UML, Pearson
Education. 2. Pascal Roques: Modeling Software Systems Using UML2, WILEY- Dreamtech India
Pvt. Ltd. 3. Atul Kahate: Object Oriented Analysis & Design, The McGraw-Hil Companies. 4. Appling UML and Patterns: An introduction to Object – Oriented Analysis and Design
and Unified Process, Craig Larman, Pearson Education.
LAKIREDDY BALI REDDY COLLEGE OF ENGINEERING
LESSON PLAN
Subject: OBJECT ORIENTED ANALYSIS AND DESIGN Department: CSE
Faculty Name: CH. V. NARAYANA . Class: III- B.TECH, I- SEM .sections: B
Session
No. Topics to be covered Date
Teaching
Method
Remarks
1 Introduction to UML :
10.06.2013 BB
UNIT I
2 Importance of Modeling, Principles of Modeling
11.06.2013 BB
3 Importance of Modeling, Principles of Modeling
12.06.2013
BB
4 Object Oriented modeling
13.06.2013 BB
5 Areas of UML Application
15.06.2013 BB
6 Conceptual model of the UML
17.06.2013 BB
7 Conceptual model of the UML
18.06.2013 BB
8 Conceptual model of the UML
19.06.2013 BB
9 UML Architecture
20.06.2013 BB
10 Software development processes
22.06.2013 BB
11 Software Development Life Cycle
24.06.2013 BB
12 Software Development Life Cycle
25.06.2013 BB
13 Revision
26.06.2013 BB
14 Revision
27.06.2013 BB
15 Slip Test on Unit-1
29.06.2013
16 Discussion
01.07.2013 BB
17 Introduction to Unit-II
02.07.2013 BB
UNIT II
18 Basic Structural Modeling: Classes
03.07.2013
BB
19 Basic Structural Modeling: Classes
04.07.2013 BB
20 Basic Structural modeling: Relationships
06.07.2013
BB
21 Relationships
08.07.2013 BB
22 Common Mechanisms: specifications
09.07.2013
BB
23 Common Mechanisms: Adornaments common divisions
10.07.2013
BB
24 Extensibility mechanisms
11.07.2013 BB
25 Diagrams
15.07.2013 BB
26 Diagrams: Class Diagrams
16.07.2013 BB
27 Diagrams: Object Diagrams
17.07.2013 BB
28 Diagrams: Interaction Diagrams
18.07.2013 BB
29 Diagrams: Object Diagrams
20.07.2013 BB
30 Advanced classes
22.07.2013 BB
31 advanced relationships
23.07.2013 BB
32 Interfaces& Its Properties
24.07.2013 BB
33 Types and Roles, Packages
25.07.2013 BB
34 Types and Roles, Packages
27.07.2013 BB
35 Revision class on unit-II
29.07.2013
36 Revision class on unit-1
30.07.2013
37 Slip test On Unit II
31.07.2013
38 Introduction to Unit-III
01.08.2013 BB
UNIT III
39 Advance class & Their Features 03.08.2013 BB
40 Advance class & Their Features 08.08.2013 BB
41 Common modeling Techniques of class Diagrams
12.08.2013 BB
42 Object Diagrams & their Features 13.08.2013 BB
43 Object Diagrams & their Features 14.08.2013 BB
44 Common modeling Techniques of Object Diagrams
15.08.2013 BB
45 Revision class on unit-II
17.08.2013
46 Slip test On Unit II
19.08.2013
47 Introduction to Unit-IV
20.08.2013 BB
UNIT IV
48 Basic Behavioral Modeling: Interactions
21.08.2013
BB
49 Interaction Diagrams: Sequence Diagrams
22.08.2013
BB
50 Interaction Diagrams: Collaboration Diagrams
24.08.2013
BB
51 Interaction Diagrams: Common modeling techniques
26.08.2013
BB
52 Interaction Diagrams: Common modeling techniques
27.08.2013 BB
53 Use case Diagrams
28.08.2013 BB
54 Use case Diagrams: Common Modeling Techniques
29.08.2013
BB
55 Activity Diagrams
29.08.2013 BB
56 Activity Diagrams: Common
31.08.2013 BB
Course Delivery:
UNIT 1 2 3 4 5
WEEK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prepared by
Approved by
Signature
Name CH. V. NARAYANA HOD/CSE
Designation Associate. Professor/CSE Professor
Modeling Techniques
UNIT IV 57 Revision class on unit-IV
02.09.2013 BB
58 Slip test On Unit IV
03.09.2013 BB
59 Introduction to Unit-V
05.09.2013 BB
UNIT V
60 Advanced Behavioral Modeling: Elements
07.09.2013
BB
61 The 4 kinds of Event
10.09.2013 BB
62 The signals and their relevance
11.09.2013 BB
63 state machines and their relevance
16.09.2013 BB
64 Threads and processes
17.09.2013 BB
65 time and space
21.09.2013 BB
66 State chart diagrams
23.09.2013 BB
67 state chart diagrams 24.09.2013
BB
68 Architectural Modeling-introduction
26.09.2013
BB
69 Components- discussion
28.09.2013 BB
70 Component diagrams
01.10.2013 BB
71 Deployment & Deployment diagrams
03.10.2013 BB
72 Revision class on unit-V
05.10.2013 BB
73 Slip test On Unit - V
07.10.2013
74 Beyond syllabus: unified process
08.10.2013 LCD
75 Elements of Unified processing
09.10.2013 LCD
LAKIREDDY BALI REDDY COLLEGE OF ENGINEERING
COMPUTER SCIENCE & ENGINEERING
LAB SCHEDULE FOR A.Y.:2013-2014
Sub: OOAD LAB CLASS: III B.Tech (B)
S.No Date Name of the Experiment Remarks 1 13-06-2013
20-06-2013 Introduction to Rational Software
2 26-06-2013 02-07-2013
Getting Familiarity with Uml Notation
3 09-07-2013 16-07-2013
Student Admission Procedure
4 23-07-2013 30-07-2013
Student Admission Procedure
5 06-08-2013 Automatic Teller Machine(ATM)
6 13-08-2013 Online Book Shopping
7 20-08-2013 Online Book Shopping
8 27-08-2013 Cellular Network
9 03-09-2013 Cellular Network
10 10-09-2013 Hospital Management System
11 17-09-2013 Hospital Management System
12 24-09-2013 Unified Library Application
13 01-10-2013 Unified Library Application
14 08-10-2013 Lab Internal Examination
HEAD OF THE DEPARTMENT
Name of the faculty:
1. Ch.Venkata Narayana
2. E. Ravi Kumar
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name : Software Testing Methodologies
Branch: CSE(A) Semester: III/I
T314 – SOFTWARE TESTING METHODOLOGIES
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
----------------------------------------------------------------------------------------------------------
UNIT - I
Introduction: Purpose of Testing Dichotomies, model for testing, consequences of bugs,
Taxonomy of bugs
UNIT - II
Flow Graphs and Path testing: Basic concepts , Predicates, Path predicates and achievable
paths, path sensitizing, path instrumentation, application of path testing. Transaction flow
testing: Transaction flows, transaction flow testing techniques. Data flow testing: Basics of
Data flow testing, strategies in dataflow testing, application of dataflow testing
UNIT - III
Domain Testing: Domains and paths, Nice and ugly domains, domain testing, domains and
interfaces testing, domains and testability
UNIT - IV
Paths, path products and Regular expressions: Path products & Path expression, reduction
procedure, applications, regular expressions and flow anomaly detection. Logic Based Testing:
Overview, decision tables, path expressions, kv charts, specifications
UNIT - V
State, state graphs and Transition Testing: State Graphs, good and bad state graphs, state
testing, testability tips. Graph matrices and Application: Motivational overview, matrix of
graph relations, power of a matrix, node, node reduction algorithm, building tools.
TEXT BOOK
Baris Beizer; “Software Testing Techniques”; International Thomson computer Press,Second
edition.
REFERENCES
1. Brain Marick; “The Craft of Software Testing”; Prentice Hall Series in
innovative technology.
2. Renu Rajani Pradeep Oak; “Software Testing, Effective methods, Tools
and Techniques”; TMHI
3. Software Testing Tools – Dr.K.V.K.K.Prasad, Dreamtech.
4. Software Testing in the Real World – Edward Kit, Pearson.
Effective methods of Software Testing, Perry, John Wiley.
Course Description
This course is designed to enable a clear understanding and knowledge of the foundations,
techniques, and tools in the area of software testing and its practice in the industry. The course
will prepare students to be leaders in software testing. Whether you are a developer or a tester,
you must test software. This course is a unique opportunity to learn strengths and weaknesses of
a variety of software testing techniques.
Course Objectives:
Understand the theoretical aspects of software testing.
Demonstrate the knowledge of the existing testing method
Demonstrate the knowledge of static and dynamic analysis methods
Demonstrate the knowledge of applying testing and analysis methods in software
development and maintenance
Course Outlines: The Purpose of Testing
The Taxonomy of Bugs
Flow Graphs and Path testing
Transaction flow testing
Data flow testing
Domain Testing
Logic Based Testing
State graphs and Transition Testing
Graph matrices and Application
Student Learning Outcomes: Upon the successful completion of this course students will be able to:
Understand the importance of testing and debugging.
Interpret a model for testing and understand the process of testing
Understand the concept of path testing.
Identify the components of a control flow diagram and compare the same with a
flowchart.
Understand the path sensitizing method and classify whether the path is achievable or
not.
Visualize the transaction flow and data flow in a software system.
Understand the importance and limitations of domain testing
Know the properties of ugly and nice domains.
Learn the domain testing strategy for different dimension domains.
Find the all possible paths (Max. Path Count) of a given flow graph.
Understand how complimentary operations such as PUSH / POP or GET / RETURN are
interpreted in a flowgraph
Learn about Decision Tables and their application
Understand and interpret KV Charts and know their limitations.
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name : Software Testing Methodologies
Branch: CSE (A) Semester: III/I
Session
No Topics to be covered Date
Teaching
Method Remarks
1.
1. Purpose of Testing
1.1. What We Do
1.2. Productivity and Quality in Software
1.3. Goals for Testing
10.06.2013 BB
2.
1.4. Phases in a Tester’s Mental Life
1.5. Test Design
1.6. Testing Isn’t Everything
1.7. The Pesticide Paradox and the
Complexity Barrier
11.06.2013 BB
3.
2. SOME DICHOTOMIES
2.1. Testing Versus Debugging
2.2. Function Versus Structure
2.3. The Designer Versus the Tester
12.06.2013 BB
4. 2.4. Modularity Versus. Efficiency
2.5. Small Versus Large
2.6. The Builder Versus the Buyer 13.06.2013 BB
5.
3. A MODEL FOR TESTING
3.1. The Project
3.2. Overview
3.3. The Environment
3.4. The Program
15.06.2013 BB
6. 3.5. Bugs
3.6. Tests 17.06.2013 BB
7. 3.7. Testing and Levels
3.8. The Role of Models 18.06.2013 BB
8.
4. A TAXONOMY OF BUGS
4.1. General
4.2. Requirements, Features, and
Functionality Bugs
19.06.2013 BB
9. 4.3. Structural Bugs
4.8. Testing and Design Style 20.06.2013 BB
10. 4.4. Data Bugs
4.5. Coding Bugs 22.06.2013 BB
11. 4.6. Interface, Integration, and System
Bugs
4.7. Test and Test Design Bugs
24.06.2013 BB
12. Tutorial and Test 25.06.2013 BB/LCD
13.
Flow Graphs and Path testing
1. Predicates, Path Predicates
1.1. General
1.2. Predicates.
26.06.2013 BB
14.
1.3. Predicate Expressions
1.4. Predicate Coverage
1.5. Testing Blindness
27.06.2013 BB
15.
2. Path–Testing Basics
2.1. Motivation and Assumptions
2.2. Control Flow graphs
29.06.2013 BB
16. 2.3. Path Testing 01.07.2013 BB
Session
No Topics to be covered Date
Teaching
Method Remarks
17.
2.4. Loops
2.5. More on Testing Multi–Entry/Multi–
Exit Routines
02.07.2013 BB
18. 2.6. Effectiveness of Path Testing
2.7. Variations 03.07.2013 BB
19.
3. Path Sensitizing
3.1. Review; Achievable and
Unachievable Paths.
3.2. Pragmatic Observations
04.07.2013 BB
20.
3.3. Heuristic Procedures for Sensitizing
Paths
3.4. Examples
06.07.2013 BB
21.
4. Path Instrumentation
4.1. The Problem
4.2. General Strategy
4.3. Link Markers
08.07.2013 BB
22.
4.4. Link Counters
4.5. Other Instrumentation Methods.
4.6. Implementation
09.07.2013 BB
23.
5. Application Of Path Testing
5.1. Integration, Coverage, and Paths in
Called Components
5.2. New Code
5.3. Maintenance
5.4. Rehosting
10.07.2013 BB
24.
TRANSACTION-FLOW TESTING
3. Transaction Flows
6.1. Definitions
6.2. Example
6.3. Usage
11.07.2013 BB
25. 6.4. Implementation
6.5. Perspective 15.07.2013 BB
26. 6.6. Complications
6.7. Transaction-Flow Structure 16.07.2013 BB
27. 7. Transaction-Flow Testing Techniques
7.1. Get the Transaction Flows
7.2. Inspections, Reviews, Walkthroughs
17.07.2013 BB
28. 7.3. Path Selection
7.4. Sensitization 18.07.2013 BB
29. 7.5. Instrumentation
7.6. Test Databases
7.7. Execution
20.07.2013 BB
30. DATA-FLOW TESTING
8. DATA-FLOW TESTING BASICS
8.1. Motivation and Assumptions
22.07.2013 BB
31. 8.2. Date Flow-graphs
8.3. The Data-Flow Model 23.07.2013 BB
32.
9. DATA-FLOW TESTING
STRATEGIES
9.1. General
9.2. Terminology
24.07.2013 BB
33. 9.3. The Strategies
9.4. Slicing, Dicing, Data Flow, and
Debugging
25.07.2013 BB
34. Tutorial\Exam\Topics beyond Syllabus 27.07.2013 BB/LCD
Session
No Topics to be covered Date
Teaching
Method Remarks
35.
DOMAIN TESTING
1. DOMAINS AND PATHS
1.1. The Model
1.2. A Domain Is a Set
1.3. Domains, Paths, and Predicates
29.07.2013 BB
36.
1.4. Domain Closure
1.5. Domain Dimensionality
1.6. The Bug Assumptions
1.7. Restrictions
30.07.2013 BB
37.
2. NICE DOMAINS AND UGLY
DOMAINS
2.1. Where Do Domains Come From?
2.2. Specified Versus Implemented
Domains
31.07.2013 BB
38. 2.3. Nice Domains
2.4. Ugly Domains and How Programmers
and Testers Treat Them
01.08.2013 BB
39. 3. DOMAIN TESTING
3.1. Overview
3.2. Domain Bugs and How to Test
03.08.2013 BB
40. 3.3. Procedure
3.4. Variations, Tools, Effectiveness 08.08.2013 BB
41.
4. DOMAINS AND INTERFACE
TESTING
4.1. General
4.2. Domains and Range
4.3. Closure Compatibility
12.08.2013 BB
42.
4.4. Span Compatibility
4.5. Interface Range/Domain
Compatibility Testing
4.6. Finding the Values
13.08.2013 BB
43. 5. DOMAINS AND TESTABILITY
5.1. General
5.2. Linearizing Transformations
14.08.2013 BB
44. 5.3. Coordinate Transformations
5.4. A Canonical Program Form
5.5. Great Insights?
15.08.2013 BB
45. Tutorial\Exam\Topics beyond Syllabus 17.08.2013 BB/LCD
46.
1. PATH PRODUCTS AND PATH
EXPRESSIONS
1.1. Overview
1.2. Basic Concepts
1.3. Path Products
1.4. Path Sums
19.08.2013 BB
47.
1.5 Distributive Laws
1.6. Absorption Rule
1.7. Loops
1.8. Identity Elements
20.08.2013 BB
48.
2. A REDUCTION PROCEDURE
2.1. Overview
2.2. Cross-Term Step (Step 4)
2.3. Parallel Term (Step 6)
21.08.2013 BB
49. 2.4. Loop Term (Step 7)
2.5. Comments, Identities, and Node-
Removal Order
22.08.2013 BB
50.
3. APPLICATIONS
3.1. General
3.2. How Many Paths in a Flowgraph?
3.3. Approximate Minimum Number of
Paths
24.08.2013 BB
Session
No Topics to be covered Date
Teaching
Method Remarks
51. 3.4. The Probability of Getting There
3.5. The Mean Processing Time of a
Routine
26.08.2013 BB
52. 3.6. Push/Pop, Get/Return
3.7. Limitations and Solutions 27.08.2013 BB
53.
4. REGULAR EXPRESSIONS AND
FLOW-ANOMALY DETECTION
4.1. The Problem
4.2. The Method
28.08.2013 BB
54. 4.3. A Data-Flow Testing Example
4.4. Generalizations, Limitations, and
Comments
29.08.2013 BB
55.
LOGIC-BASED TESTING
5. MOTIVATIONAL OVERVIEW
5.1. Programmers and Logic
5.2. Hardware Logic Testing
29.08.2013 BB
56. 5.3. Specification Systems and Languages
5.4. Knowledge-Based Systems
5.5. Overview
31.08.2013 BB
57.
6. DECISION TABLES
6.1. Definitions and Notation
6.2. Decision-Table Processors
6.3. Decision Tables as a Basis for Test
Case Design
02.09.2013 BB
58. 6.4. Expansion of Immaterial Cases
6.5. Test Case Design
6.6. Decision Tables and Structure
03.09.2013 BB
59. 7. PATH EXPRESSIONS AGAIN
7.1. General
7.2. Boolean Algebra
05.09.2013 BB
60. 7.3. Boolean Equations 07.09.2013
61. 8. KV CHARTS
8.1. The Problem
8.2. Simple Forms
10.09.2013 BB
62. 8.3. Three Variables
8.4. Four Variables and More
8.5. Even More Testing Strategies?
11.09.2013 BB
63.
9. SPECIFICATIONS
9.1. General
9.2. Finding and Translating the Logic
9.3. Ambiguities and Contradictions
9.4. Don’t-Care and Impossible Terms
16.09.2013 BB
64. Tutorial\Exam\Topics beyond Syllabus 17.09.2013 BB
65.
1. STATE GRAPHS
1.1. States
1.2. Inputs and Transitions
1.3. Outputs
17.09.2013 BB
66. 1.4. State Tables
1.5. Time Versus Sequence
1.6. Software Implementation
21.09.2013
67.
2. GOOD STATE GRAPHS AND BAD
2.1. General
2.2. State Bugs
2.3. Transition Bugs
23.09.2013 BB
68. 2.4. Output Errors
2.5. Encoding Bugs 24.09.2013 BB
69. 3. STATE TESTING
3.1. Impact of Bugs
3.2. Principles
26.09.2013 BB
Session
No Topics to be covered Date
Teaching
Method Remarks
70.
3.3. Limitations and Extensions
3.4. What to Model
3.5. Getting the Data
3.6. Tools
28.09.2013 BB
71.
4. TESTABILITY TIPS
4.1. A Balm for Programmers
4.2. How Big, How Small?
4.3. Switches, Flags, and Unachievable
Paths
4.4. Essential and Inessential Finite-State
Behavior
4.5. Design Guidelines
01.10.2013 BB
72.
5. MOTIVATIONAL OVERVIEW
5.1. The Problem with Pictorial Graphs
5.2. Tool Building
5.3. Doing and Understanding Testing
Theory
5.4. The Basic Algorithms
03.10.2013 BB
73.
6. THE MATRIX OF A GRAPH
6.1. Basic Principles
6.2. A Simple Weight
6.3. Further Notation
05.10.2013 BB
74.
7. RELATIONS
7.1. General
7.2. Properties of Relations
7.3. Equivalence Relations
7.4. Partial Ordering Relations
07.10.2013 BB
75.
8. THE POWERS OF A MATRIX
8.1. Principles
8.2. Matrix Powers and Products
8.3. The Set of All Paths
8.4. Loops
8.5. Partitioning Algorithm
5.6. Breaking Loops And Applications
08.10.2013 BB
76.
9. NODE-REDUCTION ALGORITHM
9.1. General
9.2. Some Matrix Properties
9.3. The Algorithm
9.4. Applications
9.5. Some Hints
09.10.2013 BB
Prepared by Approved by
Signature
Name G.V.Suresh HOD/CSE
Designation Associate Professor/CSE Professor
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name : Software Testing Methodologies
Branch: CSE(B) Semester: III/I
T314 – SOFTWARE TESTING METHODOLOGIES
Lecture : 4 Periods/week Internal Marks : 25
Tutorial : 1 External Marks : 75
Credits : 4 External Examination : 3 Hrs
----------------------------------------------------------------------------------------------------------
UNIT - I
Introduction: Purpose of Testing Dichotomies, model for testing, consequences of bugs,
Taxonomy of bugs
UNIT - II
Flow Graphs and Path testing: Basic concepts , Predicates, Path predicates and achievable
paths, path sensitizing, path instrumentation, application of path testing. Transaction flow
testing: Transaction flows, transaction flow testing techniques. Data flow testing: Basics of
Data flow testing, strategies in dataflow testing, application of dataflow testing
UNIT - III
Domain Testing: Domains and paths, Nice and ugly domains, domain testing, domains and
interfaces testing, domains and testability
UNIT - IV
Paths, path products and Regular expressions: Path products & Path expression, reduction
procedure, applications, regular expressions and flow anomaly detection. Logic Based Testing:
Overview, decision tables, path expressions, kv charts, specifications
UNIT - V
State, state graphs and Transition Testing: State Graphs, good and bad state graphs, state
testing, testability tips. Graph matrices and Application: Motivational overview, matrix of
graph relations, power of a matrix, node, node reduction algorithm, building tools.
TEXT BOOK
Baris Beizer; “Software Testing Techniques”; International Thomson computer Press,Second
edition.
REFERENCES
1. Brain Marick; “The Craft of Software Testing”; Prentice Hall Series in
innovative technology.
2. Renu Rajani Pradeep Oak; “Software Testing, Effective methods, Tools
and Techniques”; TMHI
3. Software Testing Tools – Dr.K.V.K.K.Prasad, Dreamtech.
4. Software Testing in the Real World – Edward Kit, Pearson.
Effective methods of Software Testing, Perry, John Wiley.
Course Description
This course is designed to enable a clear understanding and knowledge of the foundations,
techniques, and tools in the area of software testing and its practice in the industry. The course
will prepare students to be leaders in software testing. Whether you are a developer or a tester,
you must test software. This course is a unique opportunity to learn strengths and weaknesses of
a variety of software testing techniques.
Course Objectives:
Understand the theoretical aspects of software testing.
Demonstrate the knowledge of the existing testing method
Demonstrate the knowledge of static and dynamic analysis methods
Demonstrate the knowledge of applying testing and analysis methods in software
development and maintenance
Course Outlines: The Purpose of Testing
The Taxonomy of Bugs
Flow Graphs and Path testing
Transaction flow testing
Data flow testing
Domain Testing
Logic Based Testing
State graphs and Transition Testing
Graph matrices and Application
Student Learning Outcomes: Upon the successful completion of this course students will be able to:
Understand the importance of testing and debugging.
Interpret a model for testing and understand the process of testing
Understand the concept of path testing.
Identify the components of a control flow diagram and compare the same with a
flowchart.
Understand the path sensitizing method and classify whether the path is achievable or
not.
Visualize the transaction flow and data flow in a software system.
Understand the importance and limitations of domain testing
Know the properties of ugly and nice domains.
Learn the domain testing strategy for different dimension domains.
Find the all possible paths (Max. Path Count) of a given flow graph.
Understand how complimentary operations such as PUSH / POP or GET / RETURN are
interpreted in a flowgraph
Learn about Decision Tables and their application
Understand and interpret KV Charts and know their limitations.
LESSON PLAN Date: 10-06-13
EWD: 09-10-13
Sub Name : Software Testing Methodologies
Branch: CSE (B) Semester: III/I
Session
No Topics to be covered Date
Teaching
Method Remarks
1.
1. Purpose of Testing
1.1. What We Do
1.2. Productivity and Quality in Software
1.3. Goals for Testing
10.06.2013 BB
2.
1.4. Phases in a Tester’s Mental Life
1.5. Test Design
1.6. Testing Isn’t Everything
1.7. The Pesticide Paradox and the
Complexity Barrier
11.06.2013 BB
3.
2. SOME DICHOTOMIES
2.1. Testing Versus Debugging
2.2. Function Versus Structure
2.3. The Designer Versus the Tester
12.06.2013 BB
4. 2.4. Modularity Versus. Efficiency
2.5. Small Versus Large
2.6. The Builder Versus the Buyer 13.06.2013 BB
5.
3. A MODEL FOR TESTING
3.1. The Project
3.2. Overview
3.3. The Environment
3.4. The Program
15.06.2013 BB
6. 3.5. Bugs
3.6. Tests 17.06.2013 BB
7. 3.7. Testing and Levels
3.8. The Role of Models 18.06.2013 BB
8.
4. A TAXONOMY OF BUGS
4.1. General
4.2. Requirements, Features, and
Functionality Bugs
19.06.2013 BB
9. 4.3. Structural Bugs
4.8. Testing and Design Style 20.06.2013 BB
10. 4.4. Data Bugs
4.5. Coding Bugs 22.06.2013 BB
11. 4.6. Interface, Integration, and System
Bugs
4.7. Test and Test Design Bugs
24.06.2013 BB
12. Tutorial and Test 25.06.2013 BB/LCD
13.
Flow Graphs and Path testing
1. Predicates, Path Predicates
1.1. General
1.2. Predicates.
26.06.2013 BB
14.
1.3. Predicate Expressions
1.4. Predicate Coverage
1.5. Testing Blindness
27.06.2013 BB
15.
2. Path–Testing Basics
2.1. Motivation and Assumptions
2.2. Control Flow graphs
29.06.2013 BB
16. 2.3. Path Testing 01.07.2013 BB
Session
No Topics to be covered Date
Teaching
Method Remarks
17.
2.4. Loops
2.5. More on Testing Multi–Entry/Multi–
Exit Routines
02.07.2013 BB
18. 2.6. Effectiveness of Path Testing
2.7. Variations 03.07.2013 BB
19.
3. Path Sensitizing
3.1. Review; Achievable and
Unachievable Paths.
3.2. Pragmatic Observations
04.07.2013 BB
20.
3.3. Heuristic Procedures for Sensitizing
Paths
3.4. Examples
06.07.2013 BB
21.
4. Path Instrumentation
4.1. The Problem
4.2. General Strategy
4.3. Link Markers
08.07.2013 BB
22.
4.4. Link Counters
4.5. Other Instrumentation Methods.
4.6. Implementation
09.07.2013 BB
23.
5. Application Of Path Testing
5.1. Integration, Coverage, and Paths in
Called Components
5.2. New Code
5.3. Maintenance
5.4. Rehosting
10.07.2013 BB
24.
TRANSACTION-FLOW TESTING
3. Transaction Flows
6.1. Definitions
6.2. Example
6.3. Usage
11.07.2013 BB
25. 6.4. Implementation
6.5. Perspective 15.07.2013 BB
26. 6.6. Complications
6.7. Transaction-Flow Structure 16.07.2013 BB
27. 7. Transaction-Flow Testing Techniques
7.1. Get the Transaction Flows
7.2. Inspections, Reviews, Walkthroughs
17.07.2013 BB
28. 7.3. Path Selection
7.4. Sensitization 18.07.2013 BB
29. 7.5. Instrumentation
7.6. Test Databases
7.7. Execution
20.07.2013 BB
30. DATA-FLOW TESTING
8. DATA-FLOW TESTING BASICS
8.1. Motivation and Assumptions
22.07.2013 BB
31. 8.2. Date Flow-graphs
8.3. The Data-Flow Model 23.07.2013 BB
32.
9. DATA-FLOW TESTING
STRATEGIES
9.1. General
9.2. Terminology
24.07.2013 BB
33. 9.3. The Strategies
9.4. Slicing, Dicing, Data Flow, and
Debugging
25.07.2013 BB
34. Tutorial\Exam\Topics beyond Syllabus 27.07.2013 BB/LCD
Session
No Topics to be covered Date
Teaching
Method Remarks
35.
DOMAIN TESTING
1. DOMAINS AND PATHS
1.1. The Model
1.2. A Domain Is a Set
1.3. Domains, Paths, and Predicates
29.07.2013 BB
36.
1.4. Domain Closure
1.5. Domain Dimensionality
1.6. The Bug Assumptions
1.7. Restrictions
30.07.2013 BB
37.
2. NICE DOMAINS AND UGLY
DOMAINS
2.1. Where Do Domains Come From?
2.2. Specified Versus Implemented
Domains
31.07.2013 BB
38. 2.3. Nice Domains
2.4. Ugly Domains and How Programmers
and Testers Treat Them
01.08.2013 BB
39. 3. DOMAIN TESTING
3.1. Overview
3.2. Domain Bugs and How to Test
03.08.2013 BB
40. 3.3. Procedure
3.4. Variations, Tools, Effectiveness 08.08.2013 BB
41.
4. DOMAINS AND INTERFACE
TESTING
4.1. General
4.2. Domains and Range
4.3. Closure Compatibility
12.08.2013 BB
42.
4.4. Span Compatibility
4.5. Interface Range/Domain
Compatibility Testing
4.6. Finding the Values
13.08.2013 BB
43. 5. DOMAINS AND TESTABILITY
5.1. General
5.2. Linearizing Transformations
14.08.2013 BB
44. 5.3. Coordinate Transformations
5.4. A Canonical Program Form
5.5. Great Insights?
15.08.2013 BB
45. Tutorial\Exam\Topics beyond Syllabus 17.08.2013 BB/LCD
46.
1. PATH PRODUCTS AND PATH
EXPRESSIONS
1.1. Overview
1.2. Basic Concepts
1.3. Path Products
1.4. Path Sums
19.08.2013 BB
47.
1.5 Distributive Laws
1.6. Absorption Rule
1.7. Loops
1.8. Identity Elements
20.08.2013 BB
48.
2. A REDUCTION PROCEDURE
2.1. Overview
2.2. Cross-Term Step (Step 4)
2.3. Parallel Term (Step 6)
21.08.2013 BB
49. 2.4. Loop Term (Step 7)
2.5. Comments, Identities, and Node-
Removal Order
22.08.2013 BB
50.
3. APPLICATIONS
3.1. General
3.2. How Many Paths in a Flowgraph?
3.3. Approximate Minimum Number of
Paths
24.08.2013 BB
Session
No Topics to be covered Date
Teaching
Method Remarks
51. 3.4. The Probability of Getting There
3.5. The Mean Processing Time of a
Routine
26.08.2013 BB
52. 3.6. Push/Pop, Get/Return
3.7. Limitations and Solutions 27.08.2013 BB
53.
4. REGULAR EXPRESSIONS AND
FLOW-ANOMALY DETECTION
4.1. The Problem
4.2. The Method
28.08.2013 BB
54. 4.3. A Data-Flow Testing Example
4.4. Generalizations, Limitations, and
Comments
29.08.2013 BB
55.
LOGIC-BASED TESTING
5. MOTIVATIONAL OVERVIEW
5.1. Programmers and Logic
5.2. Hardware Logic Testing
29.08.2013 BB
56. 5.3. Specification Systems and Languages
5.4. Knowledge-Based Systems
5.5. Overview
31.08.2013 BB
57.
6. DECISION TABLES
6.1. Definitions and Notation
6.2. Decision-Table Processors
6.3. Decision Tables as a Basis for Test
Case Design
02.09.2013 BB
58. 6.4. Expansion of Immaterial Cases
6.5. Test Case Design
6.6. Decision Tables and Structure
03.09.2013 BB
59. 7. PATH EXPRESSIONS AGAIN
7.1. General
7.2. Boolean Algebra
05.09.2013 BB
60. 7.3. Boolean Equations 07.09.2013
61. 8. KV CHARTS
8.1. The Problem
8.2. Simple Forms
10.09.2013 BB
62. 8.3. Three Variables
8.4. Four Variables and More
8.5. Even More Testing Strategies?
11.09.2013 BB
63.
9. SPECIFICATIONS
9.1. General
9.2. Finding and Translating the Logic
9.3. Ambiguities and Contradictions
9.4. Don’t-Care and Impossible Terms
16.09.2013 BB
64. Tutorial\Exam\Topics beyond Syllabus 17.09.2013 BB
65.
1. STATE GRAPHS
1.1. States
1.2. Inputs and Transitions
1.3. Outputs
17.09.2013 BB
66. 1.4. State Tables
1.5. Time Versus Sequence
1.6. Software Implementation
21.09.2013
67.
2. GOOD STATE GRAPHS AND BAD
2.1. General
2.2. State Bugs
2.3. Transition Bugs
23.09.2013 BB
68. 2.4. Output Errors
2.5. Encoding Bugs 24.09.2013 BB
69. 3. STATE TESTING
3.1. Impact of Bugs
3.2. Principles
26.09.2013 BB
Session
No Topics to be covered Date
Teaching
Method Remarks
70.
3.3. Limitations and Extensions
3.4. What to Model
3.5. Getting the Data
3.6. Tools
28.09.2013 BB
71.
4. TESTABILITY TIPS
4.1. A Balm for Programmers
4.2. How Big, How Small?
4.3. Switches, Flags, and Unachievable
Paths
4.4. Essential and Inessential Finite-State
Behavior
4.5. Design Guidelines
01.10.2013 BB
72.
5. MOTIVATIONAL OVERVIEW
5.1. The Problem with Pictorial Graphs
5.2. Tool Building
5.3. Doing and Understanding Testing
Theory
5.4. The Basic Algorithms
03.10.2013 BB
73.
6. THE MATRIX OF A GRAPH
6.1. Basic Principles
6.2. A Simple Weight
6.3. Further Notation
05.10.2013 BB
74.
7. RELATIONS
7.1. General
7.2. Properties of Relations
7.3. Equivalence Relations
7.4. Partial Ordering Relations
07.10.2013 BB
75.
8. THE POWERS OF A MATRIX
8.1. Principles
8.2. Matrix Powers and Products
8.3. The Set of All Paths
8.4. Loops
8.5. Partitioning Algorithm
5.6. Breaking Loops And Applications
08.10.2013 BB
76.
9. NODE-REDUCTION ALGORITHM
9.1. General
9.2. Some Matrix Properties
9.3. The Algorithm
9.4. Applications
9.5. Some Hints
09.10.2013 BB
Prepared by Approved by
Signature
Name G.V.Suresh HOD/CSE
Designation Associate Professor/CSE Professor