Top Banner
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.
65

Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

Feb 22, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sub Name :PRINCIPLES OF 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

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.

Page 2: Sub Name :PRINCIPLES OF 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

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?

Page 3: Sub Name :PRINCIPLES OF 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

Page 4: Sub Name :PRINCIPLES OF 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

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

Page 5: Sub Name :PRINCIPLES OF 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

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

Page 6: Sub Name :PRINCIPLES OF 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

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

Page 7: Sub Name :PRINCIPLES OF 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

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.

Page 8: Sub Name :PRINCIPLES OF 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

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?

Page 9: Sub Name :PRINCIPLES OF 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

Page 10: Sub Name :PRINCIPLES OF 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

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

Page 11: Sub Name :PRINCIPLES OF 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

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

Page 12: Sub Name :PRINCIPLES OF 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

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

Page 13: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 14: Sub Name :PRINCIPLES OF PROGRAMMING 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)

Page 15: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 16: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 17: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 18: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 19: Sub Name :PRINCIPLES OF PROGRAMMING 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)

Page 20: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 21: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 22: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 23: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 24: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 25: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 26: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 27: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 28: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 29: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 30: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 31: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 32: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 33: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 34: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 35: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 36: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 37: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 38: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 39: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 40: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 41: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 42: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 43: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 44: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 45: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 46: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 47: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 48: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 49: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 50: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 51: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 52: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 53: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 54: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 55: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 56: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 57: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 58: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 59: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 60: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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.

Page 61: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 62: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 63: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 64: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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

Page 65: Sub Name :PRINCIPLES OF PROGRAMMING LANGUAGES

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