Institute of Engineering & Management

Dept. of Information Technology

2nd YEAR

Course Curriculum

Department of IT

Page 1

Institute of Engineering & Management

COURSE: CS402-FORMAL LANGUAGE AND AUTOMATA THEORY PROGRAMME:INFORMATION TECHNOLOGY

DEGREE:B. TECH

COURSE: Formal Language and Automata Theory

SEMESTER: 6

COURSECODE: CS402

COURSE TYPE: Theory

COURSE AREA/DOMAIN: Theory of Computation

CONTACTHOURS: 4(weekly)

CORRESPONDINGLABCOURSE CODE (IFANY):---

LABCOURSE NAME:---

CREDITS: 4

Course pre-requisites

CODE CS20 1 CS30 2 CS50 3

COURSE NAME Basic Computation & Principles of Computer Programming Data structures and algorithms

DESCRIPTION Programming basics

S II

Concept of algorithms

III

Discrete Mathematics

Elementary discrete mathematics including the notion of set,function,relation,product,partial order,equivalence relation,graph& tree. They should have a thorough understanding of the principle of

V

Course Objectives To develop an understanding of computability and complexity To develop an ability to design machine models for various computation problems Course Outcomes Students would be able to determine computability of problems Students would be able to design algorithms using machine models Students would be able to apply the knowledge in compiler design, text and image processing. The student will be able to define a system and recognize the behavior of a system. They will be able to minimize a system and compare different systems. Department of IT

Page 2

Institute of Engineering & Management Programme Outcomes addressed in this course An ability to apply knowledge of mathematics, science, and engineering An ability to identify, formulate and solve engineering problems (e) An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice (k) Syllabus Module 1 UNIT

II III IV V

DETAILS Fundamentals: Basic definition of sequential circuit, block diagram, mathematical representation, concept of transition table and transition diagram (Relating of Automata concept to sequential circuit concept) Design of sequence detector, Introduction to finite state model Finite state machine: Definitions, capability & state equivalent, kth- equivalent Merger graph, Merger table, Compatibility graph Finite memory definiteness, testing table & testing graph Deterministic finite automaton and non deterministic finite automaton

1 1 1 1

VI

Transition diagrams and Language recognizers.

1

VII

Finite Automata: NFA with Î transitions - Significance, acceptance of languages. Conversions and Equivalence: Equivalence between NFA with and without Î transitions. NFA to DFA conversion

1

I

VIII

IX X

Minimization of FSM, Equivalence between two FSM’s , Limitations of FSM Application of finite automata, Finite Automata with output- Moore & Mealy machine

HOURS 2

2

1 2

Module 2 UNIT I II

DETAILS Regular Languages: Regular sets. Regular expressions, identity rules. Arden’s theorem state and prove

III

Constructing finite Automata for a given regular expressions, Regular string accepted by NFA/DFA Pumping lemma of regular sets. Closure properties of regular sets (proofs not i d) Formalism: Regular grammars-right linear and left linear grammars. Grammar

1

Equivalence between regular linear grammar and FA

1

IV V VI

Department of IT

HOURS 1 1 1 1

Page 3

Institute of Engineering & Management VII

Inter conversion, Context free grammar

1

VIII

Derivation trees, sentential forms. Right most and leftmost derivation of strings. (Concept only)

1

UNIT I

DETAILS Context Free Grammars, Ambiguity in context free grammars

HOURS 1

II

Minimization of Context Free Grammars.

1

III

Chomsky normal form and Greibach normal form

1

IV

Pumping Lemma for Context Free Languages

1

V

Enumeration of properties of CFL (proofs omitted). Closure property of CFL, Ogden’s lemma & its applications Push Down Automata: Push down automata, definition.

Module 3

VI

VIII

Acceptance of CFL, Acceptance by final state and acceptance by empty state and its equivalence Equivalence of CFL and PDA, interconversion. (Proofs not required).

IX

Introduction to DCFL and DPDA.

VII

1 1 1 1 1

Module 4 UNIT I II III IV V

DETAILS Turing Machine : Turing Machine, definition, model Design of TM, Computable functions Church’s hypothesis, counter machine Types of Turing machines (proofs not required) Universal Turing Machine, Halting problem

HOURS 1 1 1 1 2

Gaps in the syllabus - to meet industry/profession requirements

How to apply machine models in designing programming logic

PROPOSED ACTIONS Lab

PO MAPPING b

Interconnection between Compiler and Automata Theory

Extra Class

b

S.NO.

DESCRIPTION

1 2

Topics beyond syllabus/advanced topics S.

DESCRIPTION

HOURS

1

Multi Tape Turing Machine and its Applications

1

Department of IT

Page 4

Institute of Engineering & Management 2

Decidability and Un decidability

1

Web Source References S.

URL

1

https://class.coursera.org/automata/lecture/preview

Delivery/Instructional Methodologies S.

DESCRIPTION

1

Chalk and Talk

2

Study Material

3

Power Point Presentation

Assessment Methodologies S.

TYPE

1

DESCRIPTION Student Assignment

2

Tests

Direct

3

University Examination

Direct

4

Student Feedback

Indirect

Direct

Course Plan S. NO.

Day

Module

Day 1 Day 2

Topic Need for this subject, Decision making as computation

I

Concept of sequential circuit

Day 3

Flip Flop and concept of memory

Day 4

Definition of Finite State Automaton

Day 5 Day 6 Department of IT

II

Transition table and diagram, Mathematical representation Worked out examples Page 5

Institute of Engineering & Management Day 7 Day 8

III

Merger graph, Merger table, Compatibility graph Finite memory definiteness, testing table & testing graph

Day 9

Definition of language and grammar

Day 10

Rules – single symbol, concatenation, union, Kleene Closure

Day 11

IV

Day 12 Day 13 Day 14

Closure properties Worked out examples

V

Definition, Conversion from NFA to DFA Worked out examples

Day 15

Introduction, Equivalent States, Distinguished State

Day 16

Myhill-Nerode Theorem

Day 17

VI

Day 18 Day 19 Day 20

Partitioning method with worked out example VII

Day 21 Day 22

Table filling method with worked out example

Arden’s Theorem Worked out example Limitations of Finite State Machines

VIII

Day 23

Pumping Lemma for Regular Language Worked out examples

S. NO.

Day

24

Day 24

Revisiting Formal Grammar, Generalization of grammar with increased power

25

Day 25

Introduction to Context Free Grammar and Context Free Language

26

Day 26

27

Day 27

Closure properties of Context Free Language

28

Day 28

Normal forms – Chomsky and Greibach Normal Form

Department of IT

Module

IX

Topic

Mathematical Definition of Context Free Language

Page 6

Institute of Engineering & Management 29

Day 29

Worked out examples

30

Day 30

Limitations of Context Free Language

32

Day 31

32

Day 32

Worked out examples

33

Day 33

Push Down Automata: Push down automata, definition.

34

Day 34

Acceptance of CFL, Acceptance by final state and acceptance by empty state and its equivalence

35

Day 35

Equivalence of CFL and PDA, interconversion. (Proofs not required).

36

Day 36

Introduction to DCFL and DPDA.

37

Day 37

Turing Machine : Turing Machine, definition, model

38

Day 38

39

Day 39

Church’s hypothesis, counter machine

40

Day 40

Types of Turing machines (proofs not required)

41

Day 41

Universal Turing Machine

42

Day 42

Halting problem

Department of IT

X

XI

XII

Pumping Lemma for Context Free Language

Design of TM, Computable functions

Page 7

Institute of Engineering & Management

COURSE: CS 492- SOFTWARE TOOLS LAB PROGRAMME:

INFORMATION TECHNOLOGY

DEGREE:B. TECH

COURSE: Software Tools

SEMESTER: IV

CREDITS: 2

COURSECODE: CS492

COURSE TYPE: Practical

COURSE AREA/DOMAIN: Laboratory Skills

CONTACT HOURS: 3 (weeks)

CORRESPONDING THEORY COURSE CODE : Software Engg (IT603)

THEORY COURSE NAME: Software Tools

Course pre-requisites Problem Solving and Basics of Learning Visual Basic 6.0 Developing a project in Visual Basic 6.0 and Microsoft Access Laboratory Educational Objectives To develop conceptual understanding of Window Based Application To implement various Visual Basic 6.0 Tools/ Controls (such as, Label, Button, Text Box etc.). To develop understanding of database connection in Visual Basic 6.0.

Laboratory Outcomes Models: Identify the concept of Window-Based application and ability to implement it using Visual Basic 6.0 (VB). (LO-2) Experiment: Ability to do basic VB programming (LO-3) Design: Design and build a window-based project to meet desired specifications and tests it using appropriate testing strategy and/or equipments. (LO4) Teamwork: Work effectively in teams to accomplish the assigned responsibilities in an integral manner. (LO – 5) Communication: Communicate effectively about laboratory work both orally and in writing journals/technical reports. (LO – 6) Department of IT

Page 8

Institute of Engineering & Management Ethics and Awareness: Behave with highest ethical standards with concern to global, environmental, economic, social issues & lifelong learning, and awareness of contemporary issues. (LO-7) Syllabus Introduction to Visual Basic. Concept about Form, Project, Application, Tools, Toolbox, Controls & Properties. Idea about Labels, Buttons, Text Boxes. Data basics, Different type variables & their use in VB, Sub-functions & Procedure details, Input box () & Msgbox (). Making decisions, looping Implementation of List boxes & Data lists, List Box control, Combo Boxes, Data Arrays, Frames, Buttons, Check Boxes, Timer Control Programming with data, ODBC data base connectivity. Data Form Wizard, query, menus and graphics in VB Applications. Case studies using any of the following items including relevant form design with the help of visual programming aids. a) Payroll accounting system. b) Library circulation management system. c) Inventory control system. d) University examination & grading system. e) Patient information system. f) Tourist information system. g) Judiciary information system. h) Flight reservation system. i) Bookshop automation software. j) Time management software. Lab Assignments ASSIGNMENT NO 1 1. Write a program in VB to implement a calculator that will take 2 numbers as user input and provides the output on pressing +,-,*,/ buttons. 2. Write a program in VB that will ask the user to enter his/her name in a text box, school name in another textbox and has to choose a gender from radio button group. Then the following message will be display by pressing a command button. Ex. Welcome Rohan. He studied at Puri Zilla School.

Department of IT

Page 9

Institute of Engineering & Management 3.Write a program in VB that will ask the user to enter numbers in a textbox followed by a click on button for 10 times. At the 11th time a message will be displayed which will prompt that “your maximum limit is 10 ” and it will display the sum of the 10 numbers. 4. Create a VB form where the student will enter his/her name in a textbox and will choose the department(IT, CSE, ECE) and section(A, B) from dropdownlists.By pressing the submit button a message will be displayed . Eg.Ram is studying in section A of CSE department. 5. In the above form add a radio button group which will show gender and a checkbox group showing hobbies(playing,dancing,singing,gardening etc). Now by pressing the submit button two messages will be displayed. Eg: Ram is studying in section A of CSE department. His hobbies are playing and gardening. ASSIGNMENT NO. 2 6. Design a form in the following way:

Explanation: a) By pressing “>” the selected item from first list should be copied to second list and should be removed from first list. b) By pressing “>>” button the all items from first list should be copied to second list and should be removed from first list. c) By pressing “