60
Department of Computer Science & Engineering II B.Tech. - II Semester Course Handouts (2017 18) Name of the student Roll No. Kallam Haranadhareddy Institute of Technology NH-5, Chowdavaram, Guntur-522 019 Approved by AICTE, New Delhi; Affiliated to JNTUK, Kakinada) Accredited by NAAC with ‘A’ Grade & An ISO 9001:2015 Certified Institution

Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Department of

Computer Science & Engineering

II B.Tech. - II Semester

Course Handouts (2017 – 18)

Name of the student

Roll No.

Kallam Haranadhareddy Institute of Technology NH-5, Chowdavaram, Guntur-522 019

Approved by AICTE, New Delhi; Affiliated to JNTUK, Kakinada) Accredited by NAAC with ‘A’ Grade & An ISO 9001:2015 Certified Institution

Page 2: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur

Department of Computer Science

II B.Tech

Course

Kallam Haranadhareddy Institute of Technology

NH-5, Chowdavaram, Guntur

Approved by AICTE, New Delhi; Affiliated to JNTUK, Kakinada)

Accredited by NAAC with ‘A’ Grade & An ISO

E, Kallam Haranadhareddy Institute of Technology, Guntur - 19

Department of Computer Science & Engineering

I B.Tech - II Semester

Course Handouts (2017 – 18)

Kallam Haranadhareddy Institute of Technology

5, Chowdavaram, Guntur-522 019

Approved by AICTE, New Delhi; Affiliated to JNTUK, Kakinada)

Accredited by NAAC with ‘A’ Grade & An ISO 9001:2015 Certified Institution

Engineering

Approved by AICTE, New Delhi; Affiliated to JNTUK, Kakinada)

9001:2015 Certified Institution

Page 3: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19

INDEX

S.No Description Page No

1 College Vision & Mission 1

2 Department Vision & Mission 1

3 Program Educational Objectives (PEOs) 1

4 Graduate Attributes (GAs) 1

5 Program Outcomes (POs) 2

6 Program Specific Outcomes (PSOs) 2

7 JNTUK Academic Calendar 3

8 Department Academic Process Calendar 4

9 Course Structure 5

10 Evaluation Pattern 5

11 Quality of Internal Question Papers and Assignment Questions 6

12 Timetable 7

13 Full Details of All Theory & Lab Courses as per Course Structure

Theory: SE, JAVA, ADS, CO, FLAT, PPL

Labs: ADS, JAVA

8

14 Programming Laboratory Courses Assessment Guidelines 55

15 Laboratory Course Evaluation Rubrics 56

Page 4: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 1

COLLEGE VISION & MISSION

Institute Vision:

To be a quality - oriented technical institution known for global academic excellence and

professional human values.

Institute Mission:

To provide quality instruction with competent and knowledgeable faculty and well

equipped laboratories to meet global standard.

To achieve academic distinction through novel teaching and learning practice.

To encourage students by providing merit scholarships

To prepare the graduates to accomplish professional practice, employability,

entrepreneurial development and higher education.

To inculcate self-discipline, accountability and values in the learners for effective and

informed citizenship

To focus on MoUs with premier institutes and renowned industries for effective

industry- institution interaction to become an R&D centre through skill development

professional up-gradation and innovation

DEPARTMENT VISION & MISSION

CSE Vision:

Imparting quality technical education to students in the field of Computer Science and

Engineering to produce technically competent software and hardware personnel with

advanced skills, knowledge and behavior to meet the computational global real time

challenges.

CSE Mission:

To impart quality technical education through training in fundamentals of theoretical

computer science.

To educate students to be life-long learners and successful leaders who contributes to

economic growth of the nation.

To develop ethical values in students to lead the life with good human values.

PROGRAM EDUCATIONAL OBJECTIVES (PEOs)

PEO 1 Graduates shall effectively apply their engineering knowledge for analysis of real

computing problems and design, implementation of solutions.

PEO 2

Graduates utilize breadth and depth of theoretical computer science to adopt

emerging technologies and tools for changing needs of industry or for pursuing

higher studies

PEO 3 Graduates shall continue to enhance technical skills through lifelong learning,

exhibit social and ethical responsibilities and effective communication skills

PEO 4 Graduates shall be employed in software and hardware industries or pursue higher

studies or become entrepreneurs

GRADUATE ATTRIBUTES (GAS) PRESCRIBED BY NBA:

i. Engineering Knowledge

ii. Problem Analysis

iii. Design & Development of Solutions

iv. Investigation of Complex Problem

v. Modern Tools Usage

vi. Engineer and Society

vii.Environment & Sustainability

viii. Ethics

Page 5: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 2

ix. Individual & Team work

x. Communication

xi. Lifelong Learning

xii.Project management & Finance

PROGRAM OUTCOMES (POs)

PO 1: Engineering knowledge: Apply the knowledge of mathematics, science, engineering

fundamentals, and an engineering specialization to the solution of complex engineering

problems.

PO 2: Problem analysis: Identify, formulate, review research literature, and analyze

complex engineering problems reaching substantiated conclusions using first principles of

mathematics, natural sciences, and engineering sciences.

PO 3: Design/development of solutions: Design solutions for complex engineering

problems and design system components or processes that meet the specified needs with

appropriate consideration for the public health and safety, and the cultural, societal, and

environmental considerations.

PO 4: Conduct investigations of complex problems: Use research-based knowledge and

research methods including design of experiments, analysis and interpretation of data, and

synthesis of the information to provide valid conclusions.

PO 5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and

modern engineering and IT tools including prediction and modeling to complex engineering

activities with an understanding of the limitations.

PO 6: The engineer and society: Apply reasoning informed by the contextual knowledge

to assess societal, health, safety, legal and cultural issues and the consequent responsibilities

relevant to the professional engineering practice.

PO 7: Environment and sustainability: Understand the impact of the professional

engineering solutions in societal and environmental contexts, and demonstrate the

knowledge of, and need for sustainable development.

PO 8: Ethics: Apply ethical principles and commit to professional ethics and

responsibilities and norms of the engineering practice.

PO 9: Individual and team work: Function effectively as an individual, and as a member

or leader in diverse teams, and in multidisciplinary settings.

PO 10: Communication: Communicate effectively on complex engineering activities with

the engineering community and with society at large, such as, being able to comprehend and

write effective reports and design documentation, make effective presentations, and give and

receive clear instructions.

PO 11: Project management and finance: Demonstrate knowledge and understanding

of the engineering and management principles and apply these to one’s own work, as a

member and leader in a team, to manage projects and in multidisciplinary environments.

PO 12: Life-long learning: Recognize the need for, and have the preparation and ability

to engage in independent and life-long learning in the broadest context of technological

change

PROGRAM SPECIFIC OUTCOMES (PSOs)

PSO 1: The CSE graduates will be able to use programming methodologies to solve

problems by suitable open source softwares.

PSO 2: The CSE graduates will be able to interpret the fundamental concepts, functionality

of hardware and software aspects of computer systems.

PSO 3: The CSE graduates will be able to implement software engineering practices and

methodologies for the analysis, design, development, operation & maintenance of software.

Page 6: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 3

JNTUK Academic Calendar for II B.Tech 2016 Batch

Page 7: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 4

KALLAM HARANADHAREDDY INSTITUTE OF TECHNOLOGY COMPUTER SCIENCE & ENGINEERING DEPARTMENT

B.Tech II - IV YEAR II Semester– ACADEMIC CALENDAR 2017-18

SNO Event / Activity Scheduled Date

1 Commencement of Class work 20-11-2017

2 Submission of List of Students not reported up to 21-12 -2017 22-12-2017

3 Submission of attendance up to 31-12-2017 04-01-2018

4 Assignment – I Submission Date 05-01-2018

5 Mid-1 ( Online & Descriptive) B.Tech II & III Year 15-01-2018 to 20-01-2018

6 Distribution of Corrected Scripts of Mid Test- I and Online Entry

of Mid-1 Marks ( B.Tech II, III Year) 23-01-2018

7 Mid-1 ( Online & Descriptive) B.Tech IV Year 22-01-2018 to 27-01-2018

8 Distribution of Corrected Scripts of Mid Test- I and Online Entry of Mid-1 Marks ( B.Tech IV Year)

31-01-2018

9 Submission of attendance up to 31-01-2018 05-02-2018

10 Meeting / counseling with parents of students having less than

65% of aggregate attendance 13-02-2018 to 15-02-2018

11 Submission of attendance up to 28-02-2018 05-03-2018

12 Issue of Progress Report and meeting with parents of

underperforming students of II, III and IV years 13-03-2018 to 15-03-2018

13 Feedback 26-03-2018 to 28-03-2018

14 Mid-2 ( Online & Descriptive) B.Tech II & III Year 19-03-2018 to 24-03-2018

15 Submission of Final Attendance Statements 21-03-2018

16 Display of Class Test II Marks, Final Attendance and Detention

List 23-03-2018

17 Last Date of Instruction (B.Tech II & III Year) 24-03-2018

18 Mid-2 ( Online & Descriptive) B.Tech IV Year 26-03-2018 to 31-03-2018

19 Commencement of Practical Examination( B.Tech II & III Year) 26-03-2018 to 31-03-2018

20 Commencement of Theory Examinations ( B.Tech II & III Year) 02-04-2018 to 14-04-2018

21 Commencement of Theory Examinations ( B.Tech IV Year) 09-04-2018 to 21-04-2018

Page 8: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 5

B.TECH. COMPUTERSCIENCE AND ENGINEERING II Year II Semester

COURSE STRUCTURE

S.No Subject Code Subject T P C

1 C209 Software Engineering 4 - 3

2 C210 Java Programming 4 - 3

3 C211 Advanced Data Structure 4 - 3

4 C212 Computer Organization 4 - 3

5 C213 Formal Languages and Automata Theory 4 - 3

6 C214 Principles of Programming Languages 4 - 3

7 C215 Advanced Data Structures Lab - 3 2

8 C216 Java Programming Lab - 3 2

TOTAL CREDITS 22

EVALUATION PATTERN

Distribution and weightage of marks

i. The performance of a student in each semester shall be evaluated subject - wise with a

maximum of 100 marks for theory subject and 75 marks for practical subject.

ii. For theory subjects the distribution shall be 30 marks for internal evaluation and 70

marks for the end -examinations.

iii. For theory subjects, during the semester there shall be 2 tests. The weightage of

internal marks for 30 consists of Descriptive - 15, Assignment – 05, Objective – 10

(Conducted at College level with 20 multiple choice question with a weightage of

1/2Mark each). The objective examination is for 20 minutes duration. The subjective

examination is for 90 minutes duration conducted for 15 marks. Each subjective type

test question paper shall contain 3 questions and all questions need to be answered.

The Objective examination conducted for 10 marks and subjective examination

conducted for 15 marks are to be added to the assignment marks of 5 for finalizing

internal marks for 30. 80% for the best of two and 20% for the other will be taken for

internal marks. As the syllabus is framed for 6 units, the 1st mid examination (both

Objective and Subjective) is conducted in 1-3 units and second test in 4-6 units of

each subject in a semester.

iv. The end semester examination is conducted covering the topics of all Units for 70

marks. Part - A contains a mandatory question (Brainstorming / Thought provoking/

case study) for 14 marks. Part - B has 6 questions (One from each Unit). The student

has to answer 4 out of 6 questions in Part -B and carries a weightage of 14 marks

each.

v. For practical subjects there shall be continuous evaluation during the semester for 25

internal marks and 50 end examination marks. The Internal 25 marks shall be awarded

as follows: day to day work - 10 marks, Record-5 marks and the remaining 10 marks

to be awarded by conducting an internal laboratory test. The end examination shall be

conducted by the teacher concerned and external examiner.

vi. For the subject having design and estimation, the distribution shall be 30 marks for

Page 9: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 6

internal evaluation (20 marks for day to day work and 10 marks for internal test) and

70 marks for end examination. There shall be two internal tests in a semester and the

better of the two shall be considered for the award of marks for internal tests.

vii. Laboratory marks and the internal marks awarded by the college are not final. The

marks are subject to scrutiny and sealing by the university whenever felt desirable.

The internal and laboratory marks awarded by the college will he referred to a

committee.The committee shall arrive at a scaling factor and the marks will be scaled

as per the scaling factor.The recommendations of the committee are final and binding.

The laboratory records and internal test papers shall be preserved in the respective

departments as per the university norms and shall be produced to the committees of

university as and when they ask for.

Quality of Internal Question Papers and Assignment Questions

The quality of internal semester question papers and assignments are assessed by the

module coordinators and classified as per level of difficulty into three levels:

Level 1 – These are the questions that the students “must know” –These questions

constitute the fundamental concepts of a subject and it is mandatory that every student

knows these concepts. Further, these questions are at the lower level of Blooms taxonomy

like Remembering and Understanding. Lack of these fundamental concepts would mean

that the student is not fit for passing this course.

Level 2 – These are the questions that the students “Need to Know” – These questions

test the skill of the student at a higher level of Blooms taxanomy like Applying and

Analyzing, the student should be able to apply the fundamental knowledge gained in a

course to analyze a typical problem and arrive at conclusions.

Level 3 – These are the questions that have the status of “Good to know” – These

questions test the highest skills levels of Blooms taxanomy like Evaluate and Create. A

student would be considered to have achieved proficiency in the subject if he/she is able to

answer the questions in level 3 and is able to apply the concepts for finding engineering

solutions.

The module coordinators regularly analyze the assignment and internal papers and

classify them into the above three levels and ensure that a good balance is maintained

for all the three levels. A recommended distribution of marks at the three levels is as

follows - Level 1 -60%, Level 2 -30%, Level 3 – 10%.

Page 10: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 7

TIME TABLE

Page 11: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 8

Course Title: Software Engineering

Sub Code : C209

Contact Hours per week : 3(L) + 1(T)

Course Coordinator : Mrs. P. Nagalakshmi

Course Advisor (if any) : Mrs. P. Nagalakshmi

Module Coordinator : Mr. V Rajiv Jetson

Course coordinator phone : 9666073198

Course coordinator e-mail : lakshmip29.gmail.com

Course coordinator location : Room No.: 2S-01

Course Coordinator availability : Monday 10.00am – 11.00am

Thursday 4:00pm - 5:00pm

Resource link: :

Pre-requisite Courses : Computer programming

Course Description:

In this course students will learn about the fundamentals of software engineering, process

models, requirement analysis and specifications, function- oriented design, coding, testing

software reliability and maintenance.

Overview of learning activities:

1. Lecture and Class Discussions.

2. Assignment work.

3. Tutorial/Quiz sessions

4. Power Point Presentations

Overview of learning resources: Prescribed & Suggested Text Books

1. Software Engineering -A Practitioner’s Approach, Roger S. Pressman, Seventh

Edition, McGrawHill International Edition.

2. Fundamentals of Software Engineering, Rajib Mall, Third Edition, PHI.

3. Software Engineering, Ian Sommerville, Ninth edition, Pearson education.

Software Links:

1. http://nptel.ac.in/downloads/106105087/

2. http://www.nptel.ac.in/courses/Webcoursecontents/IIT%20Kharagpur/Soft%20

Engg/New_index1.html.

3. http://engineeringppt.blogspot.in/2011/12/software-engineering-pressman-ppt-

pdf.html

Overview of assessment: Internal Test.

Quiz

Assignments.

University Exams

SYLLABUS

UNIT-I: Software and Software Engineering: The Nature of Software, The Unique Nature of

WebApps, Software Engineering, Software Process, Software Engineering Practice, Software

Myths. Process Models: A Generic Process Model, Process Assessment and Improvement,

Prescriptive Process Models, Specialized Process Models, The Unified Process, Personal and

Team Process Models, Process Terminology, Product and Process.

Page 12: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 9

UNIT-II: Requirements Analysis And Specification: Requirements Gathering and Analysis,

Software Requirement Specification (SRS), Formal System Specification. Software Design:

Overview of the Design Process, How to Characterise of a Design?, Cohesion and Coupling,

Layered Arrangement of Modules, Approaches to Software Design

UNIT –III: Function-Oriented Software Design: Overview of SA/SD Methodology, Structured

Analysis, Developing the DFD Model of a System, Structured Design, Detailed Design, Design

Review, over view of Object Oriented design. User Interface Design: Characteristics of Good

User Interface, Basic Concepts, Types of User Interfaces, Fundamentals of Component-based

GUI Development, A User Interface Design Methodology.

UNIT–IV: Coding And Testing: Coding, Code Review, Software Documentation, Testing,

Unit Testing, Black-Box Testing, White-Box Testing, Debugging, Program Analysis Tool,

Integration Testing, Testing Object-Oriented Programs, System Testing, Some General Issues

Associated with Testing

UNIT–V: Software Reliability And Quality Management: Software Reliability, Statistical

Testing, Software Quality, Software Quality Management System, ISO 9000, SEI Capability

Maturity Model. Computer Aided Software Engineering: Case and its Scope, Case

Environment, Case Support in Software Life Cycle, Other Characteristics of Case Tools,

Towards Second Generation CASE Tool, Architecture of a Case Environment

UNIT–VI: Software Maintenance: Software maintenance, Maintenance Process Models,

Maintenance Cost, Software Configuration Management.

Software Reuse: what can be Reused? Why almost No Reuse So Far? Basic Issues in Reuse

Approach, Reuse at Organization Level.

TEXT BOOKS:

1. Software engineering A practitioner’s Approach, Roger S. Pressman, Seventh Edition

McGrawHill International Edition.

2. Fundamentals of Software Engineering, Rajib Mall, Third Edition, PHI.

3. Software Engineering, Ian Sommerville, Ninth edition, Pearson education.

REFERENCE BOOKS:

1. Software Engineering : A Primer, Waman S Jawadekar, Tata McGraw-Hill, 2008

2. Software Engineering, A Precise Approach, Pankaj Jalote, Wiley India, 2010.

3. Software Engineering, Principles and Practices, Deepak Jain, Oxford University Press.

4. Software Engineering1: Abstraction and modeling,Diner Bjorner, Springer International

edition, 2006.

COURSE OBJECTIVES :

To understand the software life cycle models.

To understand the software requirements and SRS document.

To understand the importance of modeling and modeling languages.

To design and develop correct and robust software products.

To understand the quality control and how to ensure good quality software.

To understand the planning and estimation of software projects.

To understand the implementation issues, validation and verification procedures.

To understand the maintenance of software

Page 13: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 10

COURSE OUTCOMES (COs):

1. Discuss about process and various process models in software development.

2. Describe requirements analysis, specifications and design process.

3. Explain Function oriented design and user interface design

4. Verify and Validate a software using various testing techniques.

5. Discuss about Software reliability and quality management concepts.

6. Explain about Software maintenance and reuse concepts.

Mapping of COs with POs, PSOs:

LESSON PLAN

Course Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

CO1: Discuss about

process and various

process models in

software

development.

2 3 3

CO2:Describe

requirements

analysis,

specifications and

design process.

2 3 3 3 3

CO3:Explain

Function oriented

design and user

interface design.

2 2 3 3 3

CO4:Verify and

Validate a software

using various testing

techniques.

2 1 3 2 3

CO5: Discuss about

Software reliability

and quality

management

concepts.

2 1 3 3

CO6: Explain about

Software

maintenance and

reuse concepts.

2 3 1 3

S. No. Title

No of

Classes

Required

Total

I

Introduction to software and software engineering 1

The Nature of Software, The Unique Nature of WebApps 2

Software Engineering, Software Process, Software Engineering Practice,

Software Myths.

3

Process Models: A Generic Process Model, Process Assessment and 2

Page 14: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 11

QUESTION BANK

UNIT

NO.

S.NO. QUESTIONS Bloom’s

Taxonomy

Mapped

with CO

I 1 Define software engineering and Give a

generic view of Software Engineering. 2 CO1

Improvement 13

Prescriptive Process Models, Specialized Process Models, The Unified

Process, Personal and Team Process Models

3

Process Terminology, Product and Process 2

II

Requirements Analysis And Specification: Requirements Gathering and

Analysis,

2

10

Software Requirement Specification (SRS), Formal System

specification.

2

Software Design:Overview of the Design Process, How to characterize

of a design

2

Cohesion and Coupling Approaches to Software Design 2

Layered Arrangement of Modules 2

III

Function-Oriented Software Design: Overview of SA/SD Methodology,

Structured Analysis,

2

12

Developing the DFD Model of a System, Structured Design, Detailed

Design,

2

Design Review, over view of Object Oriented design. 2

User Interface Design: Characteristics of Good User Interface, Basic

Concepts,

2

Types of User Interfaces, Fundamentals of Component-based GUI

Development,

2

A User Interface Design Methodology 2

IV

Coding And Testing: Coding, Code Review, 2

13

Software Documentation, Testing, Unit Testing, Black-Box Testing,

White-Box Testing, Debugging,

4

Program Analysis Tool, Integration Testing, 2

Testing Object-Oriented Programs, 2

System Testing, Some General Issues Associated with Testing 3

V

Software Reliability And Quality Management: Software Reliability,

Statistical Testing,

3

16

Software Quality, Software Quality Management System, 2

ISO 9000, SEI Capability Maturity Model. 2

Computer Aided Software Engineering: Case and its Scope, Case

Environment, Case Support in Software Life Cycle,

4

Other Characteristics of Case Tools, Towards Second Generation CASE

Tool,

3

Architecture of a Case Environment 2

VI

Software Maintenance: Software maintenance, Maintenance Process

Models,

3

10

Maintenance Cost, Software Configuration Management. 3

Software Reuse: what can be Reused? Why almost No Reuse So Far? 2

Basic Issues in Reuse Approach, Reuse at Organization Level. 2

TOTAL: 74

Page 15: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 12

2 Elaborate on evolution of software. Give the

comparison of software and software system

product

3 CO1

3 Compare the incremental model and the spiral

model. 3 CO1

4 Define software. List and explain about the

elements of a software process.

2 CO1

5 Explain briefly Software development

lifecycle.

3 CO1

6 What are the challenges of software

engineering?

4 CO1

II 1 Explain the ways and means for collecting the

software requirements and how are they

organized and represented?

3 CO2

2 Explain the software requirement analysis and

modeling 3 CO2

3 Describe various prototyping techniques and

object oriented analysis and modeling

principles.

3 CO2

4 Narrate the importance of software

specification of requirements.

2 CO2

5 Explain cohesion and coupling 3 CO2

6 Briefly Explain Formal system specification 4 CO2

III 1 What are the characteristics of a good design?

Describe different types of coupling and

cohesion. How design evaluation is

performed?

2 CO3

2 What is transform mapping? Explain the

process with an illustration. Describe its

strength and weakness.

2 CO3

3 Explain the importance of user interface design

in sale of software 3 CO3

4 Give the comparison of transaction mapping

and transform mapping 2 CO3

5 Explain about structured analysis 3 CO3

6 How to develop DFD model of a system 3 CO3

IV 1 What is black box testing? Is it necessary to

perform this? Explain various test activities.

3 CO4

2 Discuss how the testing models may be used

together to test a program schedule.

3 CO4

3 What are the various testing strategies to

software testing? Discuss them briefly.

2 CO4

4 Why testing is important with respect to

software? 4 CO4

5 Explain general issues associated with Testing 3 CO4

6 Explain Integration testing 4 CO4

Page 16: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 13

V 1 Explain statistical testing 4 CO4

2 What is case support in software life cycle 2 CO5

3 Explain Architecture of a Case Environment 2 CO5

4 What is SEI Capability Maturity Model?

Explain.

3 CO5

5 Explain software Quality and Reliability 4 CO5

6 Explain computer aided software engineering 4 CO5

VI 1 Discuss the concept of software maintenance

process.

3 CO6

2 Describe software maintenance activities and

explain the re-engineering.

2 CO6

3 What is meant by SQA? Discuss in detail SQA

activities.

3 CO6

4 Distinguish between verification and

validation.

2 CO6

5 Explain software configuration management. 3 CO6

6 What are the Basic Issues in Reuse Approach? 2 CO6

7 Explain Reuse at Organization Level. 4 CO6

E-learning materials:

Question-Papers html

1. http://www.khitguntur.ac.in/cse.php#cseqp.php

Prepared by

Mrs. P Nagalakshmi

Assistant Professor, CSE

Page 17: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 14

Course Title: Java Programming

Sub Code : C210

Contact Hours per week : 3(L) + 1(T)

Course Coordinator : Dr. MD. UMAR KHAN

Course Advisor (if any) : Dr. MD. UMAR KHAN

Module Coordinator : Dr. MD. UMAR KHAN

Course coordinator phone : 9440012145

Course coordinator e-mail : [email protected]

Course coordinator location : Room No.: 2S-01

Course Coordinator availability : Monday 3:00pm - 4:00pm

Friday 11.00am – 12.00pm

Resource link: :

Pre-requisites Courses : C, C++

Course Description:

This course introduces computer programming using the JAVA programming language with

object-oriented programming principles. Emphasis is placed on event-driven programming

methods, including creating and manipulating objects, classes, and using Java for network level

programming and middleware development. Upon completion students should be able to

design, code, test, and debug JAVA language programs.

Overview of learning activities:

1. Lecture and Class Discussions.

2. Assignment work.

3. Tutorial/Quiz sessions

4. Power Point Presentations

Overview of learning resources: Prescribed & Suggested Text Books

1. The complete Reference Java, 8th edition, Herbert Schildt, TMH

2. Programming in JAVA, Sachin Malhotra, SaurabhChoudary, Oxford.

3. Introduction to java programming, 7th edition by Y Daniel Liang, Pearson. Freely Accessible Internet Sites

1. https://www.slideshare.net/VeerabadraBadra/introduction-to-java-9266993

2. http://www.nptelvideos.com/java/java_video_lectures_tutorials.php

3. http://www.iitk.ac.in/esc101/08Jul/notes.html

4. https://lecturenotes.in/subject/73/java-programming

Computer Software

jdk-7-windows-i586

jdk-1_5_0_05-windows-i586-p

Overview of assessment: Internal Test.

Quiz

Assignments.

University Exams.

SYLLABUS

UNIT-I:Introduction to OOP, procedural programming language and object oriented language,

principles of OOP, applications of OOP, history of java, java features, JVM, program structure.

Page 18: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 15

Variables, primitive data types, identifiers, literals, operators, expressions, precedence rules and

associativity, primitive type conversion and casting, flow of control.

UNIT-II:Classes and objects, class declaration, creating objects, methods, constructors and

constructor overloading, garbage collector, importance of static keyword and examples, this

keyword, arrays,command line arguments, nested classes.

UNIT-III:Inheritance, types of inheritance, super keyword, final keyword, overriding and

abstract class. Interfaces, creating the packages, using packages, importance of CLASSPATH

and java.lang package. Exception handling, importance of try, catch, throw, throws and finally

block, userdefined exceptions, Assertions.

UNIT-IV:Multithreading: introduction, thread life cycle, creation of threads, thread priorities,

thread synchronization, communication between threads. Reading data from files and writing

data to files, random access file,

UNIT-V:Applet class, Applet structure, Applet life cycle, sample Applet programs. Event

handling: event delegation model, sources of event, Event Listeners, adapter classes, inner

classes.

UNIT-VI:AWT: introduction, components and containers, Button, Label, Checkbox,

Radio Buttons, List Boxes, Choice Boxes, Container class, Layouts, Menu and Scrollbar.

TEXT BOOKS: 1) The complete Reference Java, 8th edition, Herbert Schildt, TMH..

2) Programming in JAVA, Sachin Malhotra, SaurabhChoudary, Oxford.

3) Introduction to java programming, 7th edition by Y Daniel Liang, Pearson.

COURSE OBJECTIVES:

1. Understanding the OOP’s concepts, classes and objects, threads, files, applets, swings

and act.

2. This course introduces computer programming using the JAVA programming language

with object-oriented programming principles.

3. Emphasis is placed on event-driven programming methods, including creating and

manipulating objects, classes, and using Java for network level programming an

middleware development

COURSE OUTCOMES (COs):

CO1:Discuss the Object oriented programming and fundamentals of Java programming

language.

CO2:Describe and Use classes, objects, constructors in Java programming language.

CO3: Explain about various types of Inheritance and exceptional handling mechanism.

CO4: Illustrate about multithreading and use I/O files concepts in java language.

CO5:Develop applets by using event handling mechanisms.

CO6:Discuss and develop applications using Abstract Window Toolkit concepts.

Mapping of COs with POs, PSOs:

Course Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

Page 19: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 16

LESSON PLAN

Unit/To

pic No.

Topic Name No of

Classes

Requir

ed

I UNIT-I

1.1 Introduction to OOP 1

1.2 procedural programming language and object oriented language 1

1.3 Principles of OOP

of OOP

1

1.4 applications of OOP, history of java 1

1.5 java features 1

1.6 JVM, program structure 1

1.7 Variables, primitive data types 1

1.8 identifiers, literals 1

1.9 Operators 2

1.10 expressions, precedence rules and associativity

associativity

1

1.11 primitive type conversion and casting 1

1.12 flow of control 2

II UNIT-II

2.1 Classes and objects, class declaration 1

2.2 creating objects 1

2.3 Creating methods 1

2.4 Creating constructors 1

2.5 Constructor overloading 1

CO1 Discuss the Object

oriented programming

and fundamentals of

Java programming

language.

3 2 3 1

CO2:Describe and Use

classes, objects,

Constructors in Java

programming

language..

2 1 1 2 2 3 1

CO3: Explain about

various types of

Inheritance and

exceptional handling

mechanism.

3 2 1 1 3 1

CO4: Illustrate about

multithreading and use

I/O files concepts in

java language.

2 1 1 3 1

CO5:Develop applets

by using event handling

mechanisms.

3 2 3 2 3 2

CO6:Discuss and

develop applications

using Abstract Window

Toolkit concepts.

3 2 3 2 3 2

Page 20: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 17

2.6 garbage collector, importance of static keyword 1

2.7 Examples 2

2.8 this keyword, arrays, 1

2.9 command line arguments 1

2.10 nested classes

1

III UNIT-III

3.1 Inheritance, 1

3.2 types of inheritance 1

3.3 super keyword, examples 1

3.4 final keyword, examples 1

3.5 overriding and abstract class 1

3.6 Interfaces, 1

3.7 creating the packages, using packages 1

3.8 importance of CLASSPATH 1

3.9 java.lang package

package.

3

3.10 Exception handling 1

3.11 importance of try, catch, throw, throws and finally block 1

3.12 Userdefined exceptions, Assertions 1

IV UNIT-IV

4.1 Multithreading: introduction 1

4.2 thread life cycle, 1

4.3 creation of threads 2

4.4 thread priorities, thread synchronization 2

4.5 communication between threads 2

4.6 Reading data from files and writing data to files 1

4.7 random access file, 1

V UNIT-V

5.1 Applet class, 2

5.2 Applet structure, 1

5.3 Applet life cycle, 1

5.4 sample Applet programs 2

5.5 Event handling: event delegation model 1

5.6 sources of event 1

5.7 Event Listeners 1

5.8 adapter classes 1

5.9 inner classes 1

VI UNIT-VI

6.1 AWT: introduction, 2

6.2 components and containers 1

6.3 Button, Label, Checkbox 2

6.4 Radio Buttons 1

6.5 List Boxes, Choice Boxes, 2

6.6 Container class, 1

6.7 Layouts, 1

6.8 Menu and Scrollbar 2

TOTAL 70

QUESTION BANK

Page 21: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 18

UNIT – I

1 What are the drawbacks of procedural languages? Explain the

need of object oriented programming with suitable program.

3 CO1

2 Discuss the lexical issues of Java. 2 CO1

3 Compare procedural languages with object oriented languages 3 CO1

4 Explain the important features of Java. 3 CO1

5 Discuss the principles of object oriented languages in detail. 2 CO1

6 What is the role and responsibility of JVM in program

execution?

3 CO1

7 List and explain Java buzzwords. Which factors are making

Java famous language?

1 CO1

8 Give the program structure of Java 3 CO1

9 Differentiate between abstraction and information hiding 2 CO1

10 List the applications of object oriented programming. 1 CO1

UNIT – II

1 Illustrate constructor overloading. 3 CO2

2 Explain precedence rules and associativity concept 3 CO2

3 List various types of statements and quote suitable examples

for each type.

1 CO2

4 With a program illustrate the use of command line arguments. 3 CO2

5 What are the primitive data types in Java? Write about type

conversions.

3 CO2

6 What is a constructor? What is its requirement in

programming? Explain with program.

3 CO2

7 How to create objects? Does Java support object destruction?

Justify your answer

2 CO2

8 Write a Java program to find the sum of the squares of the

diagonal elements of a square matrix.

3 CO2

9 What are the naming conventions for Java identifiers? 3 CO2

10 Illustrate the usage of ‘this’ keyword. 3 CO2

UNIT – III

1 Explain multilevel inheritance with the help of abstract class in

your program.

3 CO3

2 How to handle multiple catch blocks for a nested try block?

Explain with an example.

2 CO3

3 Explain multilevel inheritance with the help of abstract class in

your program

3 CO3

4 How to define a user exception in a program? Illustrate with an

example.

2 CO3

5 Write a program to implement multiple inheritances. 3 CO3

6 What is an exception? How are exceptions handled in Java

programming? Explain

3 CO3

7 What are the benefits of inheritance? Explain various forms of

inheritance with suitable code segments.

3 CO3

8 How to create and use a package in Java program? 2 CO3

9 Give the basic keywords used in exception handling. 3 CO3

10 Differentiate class, abstract class and interface. 2 CO3

UNIT – IV

1 Describe Java’s thread model. 2 CO4

2 What is a stream? What is the difference between byte streams 3 CO4

Page 22: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 19

and character streams? How are they used to capture input

from the user?

3 Write a program to implement multi thread programming. 3 CO4

4 Explain thread synchronization 3 CO4

5 Describe the need of thread synchronization. How is it

achieved in Java programming? Explain with a suitable

program.

2 CO4

6 Differentiate between FileReader and BufferReader. 2 CO4

7 Explain thread life cycle and thread creation in Java. 3 CO4

8 Write a program to read user name from console and display

some message for that user using streams.

3 CO4

9 Define thread. How is it different from a process? 1 CO4

10 Write about thread suspension and resume 3 CO4

UNIT – V

1 What is the role of event listeners in event handling? List the

Java event listeners

3 CO5

2 Write an applet to display the mouse cursor position in that

applet window

3 CO5

3 Explain delegation event model in detail 3 CO5

4 Write an applet to display a smiley with a greeting message to

the user.

3 CO5

5 What is an applet? Explain its life cycle. 3 CO5

6 Write a program to handle mouse events and mouse motion

events.

3 CO5

7 Discuss the applet structure and compare it with application

structure

2 CO5

8 Write a program to handle keyboard events. 3 CO5

9 Give the sources of action event and item event 3 CO5

10 What is an adapter class? Give any two examples for it. 3 CO5

UNIT – VI

1 Discuss various AWT containers with examples 2 CO6

2 Construct an application to explain the use of JTabbedPane 3 CO6

3 What is the significance of Layout managers? Discuss briefly

various layout managers.

3 CO6

4 Write a note on split Pane 3 CO6

5 Write a program to create a frame for a simple arithmetic

calculator using swing components and layout mangers

3 CO6

6 Compare the features of Applet with JApplet. 3 CO6

7 Construct a frame with necessary components for bus

reservation system of an agent.

3 CO6

8 Write a note on dialog box usage in user interfaces. 3 CO6

9 List the features of Menu component of AWT. 1 CO6

10 Differentiate between grid layout and gridbag layout managers. 2 CO6

Recommended books

1. The complete Reference Java, 8th edition, Herbert Schildt, TMH

2. Introduction to java programming, 7th edition by Y Daniel Liang, Pearson.

Prepared by

Dr. MD. Umarkhan

Professor, CSE

Page 23: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 20

Course Title: Advanced Data Structures

Sub Code : C211

Contact Hours per week : 3(L) + 1(T)

Course Coordinator : Mr. B. Satyanarayana Reddy

Course Advisor (if any) : Mr. B. Satyanarayana Reddy

Module Coordinator : Mr. P. Laxmikanth

Course coordinator phone : 9963585097

Course coordinator e-mail : [email protected]

Course coordinator location : Room No.: 2S-01

Course Coordinator availability : Wednesday 4.00pm - 5.00pm

Thursday 4.00pm - 5.00pm

Resource link: :

Pre-requisites Courses : C Programming, Data Structures

Course Description:

The course included some concepts belongs to Data structures like Trees, External Sorting

techniques etc. and also introduces more advanced concepts of Data structures like Hash tables,

directories, AVL Trees, Heaps, Binomial Queues, Red-Black Trees, Tries and some concepts

regarding files and operations on files. In Computer Science, Data structures play a vital role.

After completion of this course, students will be able to design and develop applications using

advanced data structures.

Overview of learning activities:

1. Lecture and Class Discussions.

2. Assignment work.

3. Tutorial/Quiz sessions

4. Power Point Presentations

Overview of learning resources: Prescribed & Suggested Text Books

1. Data Structures, a Pseudocode Approach, Richard F Gilberg, Behrouz A. Forouzan,

Cengage

2. Fundamentals of Data Structures in C++, Ellis Horowitz, Sartaj Sahni and Dinesh

Mehta, 2nd Edition, Universities Press (India) Pvt. Ltd

3. Data structures and Algorithm Analysis in C++, 2nd Edition, Mark Allen Weiss,

Pearson. Reference Books

1. File Structures :An Object oriented approach with C++, 3rd ed, Michel J Folk, Greg

Riccardi, Bill Zoellick

2. C and Data Structures: A Snap Shot oriented Treatise with Live examples from

Science and Engineering, NB Venkateswarlu & EV Prasad, S Chand, 2010 Freely Accessible Internet Sites

1. https://www.slideshare.net/shakil0304003/advanced-data-structure Computer Software

1. LINUX or TURBO C

Overview of assessment:

Internal Test.

Quiz

Assignments.

University Exams

Page 24: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 21

SYLLABUS

UNIT-I: SORTING

External Sorting, Introduction, K-way Merging - Buffer Handling for parallel Operation- Run

Generation- Optimal Merging of Runs.

UNIT-II: HASHING

Introduction-Static Hashing- Hash Table- Hash Functions- Secure Hash Function- Overflow

Handling- Theoretical Evaluation of Overflow Techniques, Dynamic Hashing- Motivation for

Dynamic Hashing -Dynamic Hashing Using Directories- Directory less Dynamic, Hashing,

UNIT-III: PRIORITY QUEUES (HEAPS)

Model, Simple Implementation, Binary Heap-Structure Property-Heap-Order Property-Basic

Heap Operations- Other Heap Operation, Applications of Priority Queues- The Selection

Problem Event Simulation Problem, Binomial Queues- Binomial Queue Structure – Binomial

Queue Operation- Implementation of Binomial Queues

UNIT-IV: EFFICIENT BINARY SEARCH TREES

Optimal Binary Search Trees, AVL Trees, Red-Black Trees, Definition- Representation of a

Red- Black Tree- Searching a Red-Black Tree- Inserting into a Red Black Tree- Deletion from

Red-Black Tree- Joining Red-Black Trees, Splitting a Red-Black tree.

UNIT-V: MULTIWAY SEARCH TREES

M-Way Search Trees, Definition and Properties- Searching an M-Way Search Tree, B-Trees,

Definition and Properties- Number of Elements in a B-tree- Insertion into B-Tree- Deletion

from a B-Tree- B+-Tree Definition- Searching a B+-Tree- Insertion into B+-tree- Deletion

from a B+-Tree.

UNIT-VI: DIGITAL SEARCH STRUCTURES

Digital Search Trees, Definition- Search, Insert and Delete- Binary tries and Patricia, Binary

Tries, Compressed Binary Tries- Patricia, Multiway Tries- Definitions- Searching a Trie-

Sampling Strategies- Insertion into a Trie- Deletion from a Trie- Keys with Different Length-

Height of a Trie- Space Required and Alternative Node Structure- Prefix Search and

Applications- Compressed Tries- Compressed Tries With Skip Fields- Compressed Tries With

Labeled Edges- Space Required by a Compressed Tries, Tries and Internet Packet Forwarding

,- IP Routing- 1-Bit Tries- ixed-Stride Tries-Variable-Stride Tries.

TEXT BOOKS:

1. Data Structures, a Pseudocode Approach, Richard F Gilberg, Behrouz A Forouzan, Cengage

2. Fundamentals of Data Structures in C++, Ellis Horowitz, Sartaj Sahni and Dinesh Mehta,

2nd Edition, Universities Press (India) Pvt. Ltd

3. Data structures and Algorithm Analysis in C++, 2nd Edition, Mark Allen Weiss, Pearson

REFERENCES:

1. File Structures :An Object oriented approach with C++, 3rd ed, Michel J Folk, Greg

Riccardi, Bill Zoellick

2. C and Data Structures: A Snap Shot oriented Treatise with Live examples from Science

and Engineering, NB Venkateswarlu & EV Prasad, S Chand, 2010

Course Objectives:

Describe and implement a variety of advanced data structures (hash tables, priority

queues, balanced search trees, graphs).

Analyze the space and time complexity of the algorithms studied in the course.

Page 25: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 22

Identify different solutions for a given problem; analyze advantages and disadvantages

to different solutions.

Demonstrate an understanding of external memory and external search and sorting

algorithms.

Course Outcomes:

1) Describe various external sorting techniques.The student will be familiar with

advanced data structures such as hash tables.

2) Identify the use of hash table data structure.

3) Discuss about priority queues such as heaps, binomial queues.

4) Explain about efficient binary search trees such as AVL Trees, RED-BLACK Trees.

5) Illustrate about multi-way search tree and its applications.

6) Discuss about digital search trees and their applications.

MAPPING OF COs WITH POs, PSOs:

Course

Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

CO1: Describe various external

sorting

techniques.

3 2 3 2 2 2 3

CO2: Identify the

use of hash table

data structure.

3 2 3 2 2 2 2

CO3:Discuss

about priority

queues such as

heaps, binomial

queues.

3 2 3 2 2 2

CO4: Explain about efficient

binary search trees

such as AVL

Trees, RED-

BLACK Trees.

3 2 3 2 2 2

CO5: Illustrate about multi-way

search tree and its

applications.

3 2 3 2 2 2

CO6: Discuss

about digital

search trees and

their applications.

3 3 2 2 2 3

Page 26: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 23

LESSON PLAN

S. No. Title

No of

Classes

Required

Total

I

UNIT-I: SORTING

External Sorting- Introduction 1

10 K-way Merging 2

Buffer Handling for parallel Operation 2

Run Generation 2

Optimal Merging of Runs. 2

TUTORIAL-1 1

II

UNIT-II: HASHING

Introduction- 1

11

Static Hashing- Hash Table 1

Hash Functions- Secure Hash Function 1

Overflow Handling 2

Theoretical Evaluation of Overflow Techniques, 1

Dynamic Hashing- Motivation for Dynamic Hashing 1

Dynamic Hashing Using Directories 2

Directory less Dynamic Hashing, 1

TUTORIAL-2 1

III

UNIT-III: PRIORITY QUEUES (HEAPS)

Model, Simple Implementation, 1

10

Binary Heap-Structure Property-Heap-Order Property 1

Basic Heap Operations- Other Heap Operation 2

Applications of Priority Queues- The Selection Problem Event

Simulation Problem

1

Binomial Queues- Binomial Queue Structure 1

Binomial Queue Operation 2

Implementation of Binomial Queues 1

TUTORIAL-3 1

IV

UNIT-IV: EFFICIENT BINARY SEARCH TREES

Optimal Binary Search Trees, 1

11

AVL Trees, 3

Red-Black Trees, Definition- Representation of a Red- Black Tree- 1

Searching a Red-Black Tree- 1

Inserting into a Red Black Tree- 1

Deletion from Red-Black Tree- 1

Joining Red-Black Trees, 1

Splitting a Red-Black tree. 1

TUTORIAL-4 1

V

UNIT-V: MULTIWAY SEARCH TREES

M-Way Search Trees, Definition and Properties 1

12

Searching an M-Way Search Tree, 1

B-Trees, Definition and Properties, Number of Elements in a B-

tree

1

Insertion into B-Tree 2

Deletion from a B-Tree 2

B+-Tree Definition, Insertion into B+-tree 2

Page 27: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 24

QUESTION BANK

Unit No.

Q. No

Questions

Blooms

Taxonomy

Level

Course Outcome

I

1 Explain the difference between external

sorting and internal sorting

7

CO1

2 Describe the process of K-way merging

of the given sorted runs with an example.

4

3 What is the need of buffers in external

sorting? Discuss about buffer handling.

4

4 Illustrate the run generation methods

with suitable examples.

6

5 Explain the process of optimal merging

of runs

4

II

1 Define hashing. Explain different types

of hash functions.

4

CO2 2 Define collision. Explain different types

of collision resolution strategies.

4

3 Differentiate static hashing with dynamic

hashing.

7

4 Compare and contrast the efficiency of

static hashing techniques.

8

5 Discuss about dynamic hashing using

directories.

4

6 Explain the concept of directory less

dynamic hashing.

4

III

1 What is a priority queue? Explain about

structure property and order property of

priority queue implementation.

4

2 List and explain the basic binary heap 4

Searching a B+-Tree- , Deletion from a B+-Tree. 2

TUTORIAL-5 1

VI

UNIT-VI: DIGITAL SEARCH STRUCTURES

Digital Search Trees, Definition 1

15

Search, Insert and Delete 1

Binary tries and Patricia, Binary Tries, Compressed Binary Tries-

Patricia,

2

Multiway Tries- Definitions- Searching a Trie 1

Sampling Strategies- Insertion into a Trie- Deletion from a Trie 2

Keys with Different Length- Height of a Trie 1

Space Required and Alternative Node Structure- Prefix Search and

Applications

1

Compressed Tries- Compressed Tries With Skip Fields 1

Compressed Tries With Labeled Edges, Space Required by a

Compressed Tries, Tries

1

Internet Packet Forwarding ,- IP Routing 1

1-Bit Tries- fixed-Stride Tries-Variable-Stride Tries. 2

TUTORIAL-6 1

TOTAL 69

Page 28: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 25

operations.

CO3

3 Name any two applications of priority

queues and explain how priority queue

simplifies the implementation.

7

4 What is a binomial queue? Discuss about

its structure.

4

5 Explain about the operations on binomial

queues.

4

6 Discuss about applications of binomial

queues.

4

IV

1 Describe optimal binary search trees. 4

CO4

2 What is a height balanced tree? Explain. 4

3 List the properties of AVL trees. 2

4 Illustrate the insertion operation of AVL

trees.

6

5 Illustrate the deletion operation of AVL

trees.

6

6 List the properties of Red-Black tree. 2

7 Explain about insertion and deletion

operations in red-black trees.

4

8 Explain about join and split operations in

red-black trees.

4

V

1 Define m-way search tree. List its

properties.

2

CO5

2 What are the properties of B-trees. 2

3 Illustrate the process of inserting an

element into a B-Tree.

6

4 Illustrate the process of deleting an

element into a B-Tree.

6

5 Illustrate the process of inserting an

element into a B+-Tree.

6

6 Illustrate the process of deleting an

element into a B+-Tree.

6

VI

1 Define a digital search tree. List and

explain the operations on digital search

tree.

4

CO6

2 Explain about insert, delete operations on

binary tries.

4

3 Explain about insert, delete operations on

multi-way tries.

4

4 Describe prefix based search with

example.

4

5 Differentiate compressed tries with skip

fields and compressed tries with labeled

edges.

4

6 How tries are useful in internet packet

forwarding? Explain.

4

7 Compare and contrast fixed stride tries

with variable stride tries.

7

Page 29: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 26

E-learning materials

NPTEL

http://www.nptelvideos.com/computer_science/datastructures_algorithms.php

Question-Papers html

1. http://www.khitguntur.ac.in/cse.php#cseqp.php

Recommended books

1. Data Structures using C by Reema Thareja,Second Edition, OXFORD University

Press

2. Data Structures and Algorithms, Concepts, Techniques and Applications by GAV

PAI, McGrawHill Edition.

Prepared by

Mr. B. Satyanarayana Reddy,

Professor, Dept. of CSE, KHIT

Page 30: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 27

Course Title: Computer Organization

Sub Code : C212

Contact Hours per week : 3(L) + 1(T)

Course Coordinator : Mr. B.SRIKANTH

Course Advisor (if any) : Mr. B.SRIKANTH

Module Coordinator : Mr. B.SRIKANTH

Course coordinator phone : 9963480304

Course coordinator e-mail : srikanth.busa @gmail.com

Course coordinator location : Room No.: 2S-01

Course Coordinator availability : Saturday 4:00pm - 5:00pm

Friday 3.00pm – 4.00pm

Resource link: :

Pre-requisites Courses : Mathematics

Course Description:

The course should stress the hierarchical structure of a computer. It should incorporate a simple

assembly language to serve as an example of how the various components interact. The logic

design part of the outline is specific and essential to this course. The functional logic design

level is emphasized rather than circuit details, which will be covered in engineering courses.

The functional level provides the student with an understanding of the mechanics of

information transfer and control within the computer system.

Overview of learning activities:

1. Lecture and Class Discussions.

2. Assignment work.

3. Tutorial/Quiz sessions

4. Power Point Presentations

Overview of learning resources: Prescribed & Suggested Text Books

1) Computer Organization, Carl Hamacher, Zvonks Vranesic, Safea Zaky, 5th Edition,

McGraw Hill.

2) Computer Architecture and Organization, John P. Hayes, 3rd Edition, McGraw Hill. Reference Books

1) Computer Organization and Architecture – William Stallings Sixth Edition,

Pearson/PHI

2) Structured Computer Organization – Andrew S. Tanenbaum, 4th Edition PHI/Pearson

3) Fundamentals or Computer Organization and Design, - Sivaraama Dandamudi Springer

Int. Edition.

4) “Computer Organization and Design: The Hardware/Software Interface” by David A.

5) Patterson and John L. Hennessy.

6) J .P. Hayes, "Computer Architecture and Organization", McGraw-Hill, 1998. Freely Accessible Internet Sites

https://www.tutorialspoint.com/computer_organization/index.asp

SYLLABUS

UNIT -I:Basic Structure Of Computers: Functional unit, Basic Operational concepts, Bus

structures, System Software, Performance, The history of computer development.

Page 31: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 28

UNIT -II:Machine Instruction and Programs: Instruction and Instruction Sequencing: Register

Transfer Notation, Assembly Language Notation, Basic Instruction Types, Addressing Modes,

Basic Input/output Operations, and The role of Stacks and Queues in computer programming

equation. Component of Instructions: Logic Instructions, shift and Rotate Instructions.

UNIT -III:Type of Instructions: Arithmetic and Logic Instructions, Branch Instructions,

Addressing Modes, Input/output Operations.

UNIT -IV:INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts: Interrupt

Hardware, Enabling and Disabling Interrupts, Handling Multiple Devices, Direct Memory

Access, Buses: Synchronous Bus, Asynchronous Bus, Interface Circuits, Standard I/O

Interface: Peripheral Component Interconnect (PCI) Bus, Universal Serial Bus (USB)

UNIT -V: The MEMORY SYSTEMS: Basic memory circuits, Memory System Consideration,

Read- Only Memory: ROM, PROM, EPROM, EEPROM, Flash Memory, Cache Memories:

Mapping Functions, INTERLEAVING Secondary Storage: Magnetic Hard Disks, Optical

Disks,

UNIT-VI: Processing Unit: Fundamental Concepts: Register Transfers, Performing An

Arithmetic Or Logic Operation, Fetching a Word from Memory, Execution of Complete

Instruction, hardwired Control.

Micro programmed Control: Microinstructions, Micro program Sequencing, Wide Branch

Addressing Microinstructions with next –Address Field.

TEXT BOOKS: 1. Computer Organization, Carl Hamacher, Zvonks Vranesic, Safea Zaky, 5th Edition,

McGraw Hill.

2. Computer Architecture and Organization, John P. Hayes, 3rd Edition, McGraw Hill.

REFERENCE BOOKS:

1. Computer Organization and Architecture – William Stallings Sixth Edition, Pearson/PHI

2. Structured Computer Organization – Andrew S. Tanenbaum, 4th Edition PHI/Pearson

3. Fundamentals or Computer Organization and Design, - Sivaraama Dandamudi Springer Int.

Edition.

4. “Computer Organization and Design: The Hardware/Software Interface” by David A.

Patterson and John L. Hennessy.

5. J .P. Hayes, "Computer Architecture and Organization", McGraw-Hill, 1998.

COURSE OBJECTIVES:

Understand the architecture of a modern computer with its various processing units.

Also the Performance measurement of the computer system.

In addition to this the memory management system of computer.

COURSE OUTCOMES (COs):

CO1: Express a view of computer system from user’s perspective and discuss different data

representations.

CO2: Explain about Machine Instructions and Programs.

CO3: Illustrate the type of instructions

CO4: Describe the Input /Output organization.

CO5: Distinguish among various memories in digital computer system.

CO6: Discuss about Micro programmed Control and Processing Unit.

Page 32: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 29

Mapping of COs with POs,PSOs:

LESSON PLAN

Unit/To

pic No.

Topic Name No of

Classes

Require

d

I UNIT-I 8

1.1 Basic Structure Of Computers: Introduction 2

1.2 Functional unit 1

1.3 Basic Operational concepts 1

1.4 Bus structures 1

1.5 System Software 1

1.6 Performance 1

1.7 The history of computer development 1

II UNIT-II 14

2.1 Machine Instruction and Programs: Introduction 1

2.2 Instruction and Instruction Sequencing: 1

2.3 Register Transfer Notation 1

2.4 Assembly Language

Notation

1

2.5 Basic Instruction Types 2

2.6 Addressing Modes 2

2.7 Basic Input/output Operations 1

2.8 The role of Stacks and Queues in computer

programming equation

1

2.9 Component of Instructions: 1

Course Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

CO1: Express a view of

computer system from

user’s perspective and

discuss different data

representations.

3 3 3

CO2: Explain about

Machine Instructions and

Programs.

3 1 3 3

CO3: Illustrate the type

of instructions 2 2 3 3

CO4: Describe the Input

/Output organization. 3 3 3

CO5: Distinguish among

various memories in

digital computer system.

3 3 3

CO6: Discuss about

Micro programmed

Control and Processing

Unit.

3 3 3

AVG 2.83 1.5 3 3

Page 33: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 30

2.10 Logic Instructions 2

2.11 shift and Rotate Instructions 1

III UNIT-III 8

3.1 Type of Instructions: Introduction 1

3.2 Arithmetic and Logic Instructions 2

3.3 Branch Instructions 2

3.4 Addressing Modes, 2

3.5 Input/output Operations 1

IV UNIT-IV

4.1 INPUT/OUTPUT ORGANIZATION: Introduction 1 12

4.2 Accessing I/O Devices 1

4.3 Interrupts: Interrupt Hardware 1

4.4 Enabling and Disabling Interrupts 1

4.5 Handling Multiple Devices 1

4.6 Direct Memory Access 1

4.7 Buses: Synchronous Bus 1

4.8 Asynchronous Bus 1

4.9 Interface Circuits 1

4.10

.4.11

Standard I/O Interface: 1

4.11 Peripheral Component Interconnect (PCI) Bus 1

4.12 Universal Serial Bus (USB) 1

V UNIT-V 14

5.1 The MEMORY SYSTEMS: Introduction 2

5.2 Basic memory circuits 1

5.3 Memory System Consideration 1

5.4 Read- Only Memory: ROM 2

5.5 PROM 1

5.6 EPROM 1

5.7 EEPROM 1

5.8 Flash Memory 1

5.9 Cache Memories: Mapping Functions 1

5.10 INTERLEAVING 1

5.11 Secondary Storage: Magnetic Hard Disks 1

5.12 Optical Disks 1

VI UNIT-VI 10

6.1 Processing Unit: Introduction 1

6.2 Fundamental Concepts: Register Transfers 2

6.3 Performing An Arithmetic Or Logic Operation 1

6.4 Fetching a Word from Memory 1

6.5 Execution of Complete Instruction 1

6.6 Hardwired Control 1

6.7 Micro programmed Control: Microinstructions 1

6.8 Micro program Sequencing 1

6.9 Wide Branch Addressing Microinstructions with next –

Address Field

1

TOTAL

66

Page 34: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 31

QUESTION BANK

Unit

No. SL.No. Questions

Bloom’s

Taxonomy

level

Mapped

with CO

I

1 Explain different functional units of a digital com

puter with neat sketch.

4

CO1

2 Discuss the advantages, disadvantages, and

applications of i) Excess – 3 code ii) Gray Code

(Illustrate with one example each)

6

3 Perform the following:

i) (110.101) 2= ( )10 ii) (1.10101)2= ( )10

iii) (11010.1)2= ( )10 iv) 110.10 x 10.1

8

4 Discuss various generations of computer with the

technological features and devices that

characterized each generation.

2

5 What is a bus? Explain single bus and multiple bus

structure used to interconnect functional units in

the computer system.

4

6 Distinguish between error detection and error

correction. Explain with an example how

Hamming code is used for error detection.

7

7 Describe basic operational concepts of computer in

detail

3

8 “Parity checking can be used for error detection” –

Justify your answer with an example.

6

9 With the help of a block diagram, explain the

process of addition/subtraction using two’s

complement number

4

10 Describe about the Fixed point representation of

numbers with an example

3

II

1 Explain memory reference instructions with an

example each.

3

CO2

2 Write short note on i) BUN ii) BSA iii)ISZ 3

3 Distinguish between circular shift and arithmetic

shift with proper example.

7

4 Explain the design of accumulator logic. 3

5 Explain the following with respect to logic micro

operations i) Selective Set ii) Selective

Complement

iii) Selective Clear iv) Mask

3

6 Explain various computer instruction formats with

neat sketches

2

7 Explain the following with neat sketches

i) 4 – bit Binary adder ii) Binary Adder -

Subtractor

4

8 Explain various phases of instruction cycle with an

Example

4

9 Draw the block diagram of arithmetic logic shift u

nit and explain its operations

4

Page 35: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 32

10 Explain the instruction cycle with an example 3

III

1 What do you mean by addressing mode? Explain

the following addressing modes with examples.

i) Index addressing mode ii) Relative addressing

mode

4

CO3

2 Explain clearly the three types of CPU

organizations with examples

3

3 Distinguish the characteristics of RISC and CISC 4

4 Explain the three basic types of data manipulation

instructions.

4

5 Draw and explain the micro-programmed control

unit.

2

6 Explain various types of interrupts in detail. 3

7 Explain how registers are connected to common

bus in the computer with a neat diagram.

3

8 What do you mean by addressing mode? Explain

the following addressing modes with examples.

i)Direct Addressing Mode

ii) Immediate Addressing Mode

3

9 What do you mean by Addressing modes?

Explain the following addressing modes:

i) Immediate Addressing mode

ii) ii)Direct Addressing mode

3

10 Compare the hard wired control unit and micro

programmed control unit

7

IV

1 Perform floating point addition using the numbers

0.5 and 0.4375 use the floating point addition

algorithm.

6

CO4

2 Explain the multiplication of positive numbers

using array multiplier with a neat sketch.

4

3 Given signed decimal number +86 and -17.

Perform (using 8 – bit representation)

i) 2’s complement Addition

ii) 2’s complement Subtraction

6

4 Explain the steps for Floating Point Multiplication

with neat diagram and suitable example.

3

5 Perform the restoring division for the binary

numbers 1010 and 11. Draw the circuit

arrangement for binary division.

6

6 What are the steps involved in the addition of 2’s

complement notation. Explain with an example.

4

7 Explain subtraction of binary numbers in one’s

complement notation with examples.

4

8 Perform the following:

i) (110.101) 2= ( )10 ii) (1.10101)2= ( )10

ii) 1010.01 x 11.1 iv) 110.10 x 10.1

6

9 Show the step by step multiplication process using

Booth algorithm when the following binary

numbers are multiplied (+15) * (-13). Assume 5-

bit registers that hold signed numbers and draw the

flow chart for the corresponding example

4

Page 36: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 33

10 Draw the flow chart for division algorithm 3

V

1 What is virtual memory? With the help of neat

sketch explain the method of virtual to physical

address translation.

3

CO5

2 Explain the READ and WRITE operations in

Associative Memory

3

3 Draw a neat block diagram of memory hierarchy

in a computer system. Compare the parameters

size, speed and cost per bit in the hierarchy.

3

4 Explain ROM and RAM with respect to their

block diagrams

4

5 A computer system has a MM capacity of a total

of 1M 16 bits words. It also has a 4K words cache

organized in the block set associative manner, with

4 blocks per set & 64 words per block. Calculate

the number of bits in each of the TAG, SET &

WORD fields of MM address format.

6

6 Explain the following

i) Memory management using segmentation

ii) Memory management using paging

4

7 Explain the following mapping techniques used

for cache mapping:

i) Associative mapping cache ii)Direct mapping

cache

iii) Block-set-associative mapping cache

4

8 Write short note on

i) Magnetic Disks ii) Magnetic tapes

2

9 Compare and contrast between Asynchronous

DRAM and Synchronous DRAM.

7

10 What is cache memory? Explain the different

mapping

Functions

3

VI

1 Draw the block diagram of a DMA controller and

explain its functioning?

3

CO6

2 Discuss any five key differences between

subroutine

and interrupt service routines

7

3 Explain in detail on

i) Vectored Interrupt ii) Interrupt Nesting

4

4 Discuss on the following with neat sketches

i) Time – Shared Common bus

ii) Multistage Switching Network

3

5 Explain in detail i) Interrupt

ii) An exception with an example

4

6 Differentiate serial arbitration logic and parallel

arbitration logic with neat sketch

7

7 Explain the role of interrupts in Computer

Organization.

3

8 Discuss the following interconnection structures

i) Crossbar Switch ii) Hypercube system

3

9 What do you mean by inter process arbitration? 4

Page 37: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 34

Explain how it is implemented in multiprocessor

architecture.

10 Explain the method of DMA transfer. How does a

DMA controller improve the performance of a

computer

3

E-learning materials

Question-Papers html

1. http://www.khitguntur.ac.in/cse.php#cseqp.php

2. http://www.manaresults.co.in/download.php?subcode=RT22054

Recommended books

1. Computer Organization- Carl Hamcher, ZvonkoVranesic McGraw Hill 5th Edition.

2. Computer Organization and Design - David A Patterson, John N Hennessy, Morgan

Kaufmann Publishers 5th Edition .

Prepared by

Mr. B Srikanth

Associate Professor, CSE

Page 38: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 35

Course Title: Formal Languages and Automata Theory

Sub Code : C213

Contact Hours per week : 3(L) + 1(T)

Course Coordinator : Ms. S. Sri Lakshmi Parvathi

Course Advisor (if any) : Ms. S. Sri Lakshmi Parvathi

Module Coordinator : Ms. S. Sri Lakshmi Parvathi

Course coordinator e-mail : [email protected]

Course coordinator location : Room No.: 1F-08

Course Coordinator availability : Wednesday 4.00pm-5.00pm

Thursday 4.30pm-5.20pm

Resource link: :

Pre-requisites Courses : Fundamentals of discrete mathematics

Course Description:

The course introduces some fundamental concepts in automata theory and formal languages

including grammar, finite automaton, regular expression, formal language, pushdown

automaton, and Turing machine. Not only do they form basic models of computation, they are

also the foundation of many branches of computer science, e.g. compilers, software

engineering, concurrent systems, etc. The properties of these models will be studied and

various rigorous techniques for analyzing and comparing them will be discussed, by using both

formalism and examples

Overview of learning activities:

1. Lecture and Class Discussions.

2. Assignment work.

3. Tutorial/Quiz sessions

4. Power Point Presentations

Overview of learning resources: Prescribed & Suggested Text Books

1. Introduction to Automata Theory, Languages and Computation, J.E.Hopcroft,

R.Motwani and J.D.Ullman, 3rd Edition, Pearson, 2008.

2. Theory of Computer Science-Automata, Languages and Computation,

K.L.P.Mishra and N.Chandrasekharan, 3rd Edition, PHI, 2007. Reference Books

1. Formal Language and Automata Theory, K.V.N.Sunitha and N.Kalyani,

Pearson, 2015.

2. Introduction to Automata Theory, Formal Languages and Computation,

Shyamalendu Kandar, Pearson, 2013.

3. Theory of Computation, V.Kulkarni, Oxford University Press, 2013.

4. Theory of Automata, Languages and Computation, Rajendra Kumar, McGraw

Hill, 2014.

Freely Accessible Internet Sites

1. http://nptel.ac.in/courses/106106049/

2. https://www.slideshare.net/marinasantini1/automata-45326059

Overview of assessment: Internal Test.

Quiz

Assignments.

University Exams.

Page 39: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 36

SYLLABUS

UNIT – I: Finite Automata

Why Study Automata Theory? The Central Concepts of Automata Theory, Automation, Finite

Automation, Transition Systems, Acceptance of a String by a Finite Automation, DFA, Design

of DFAs, NFA, Design of NFA, Equivalence of DFA and NFA, Conversion of NFA into DFA,

Finite Automata with E-Transition, Minimization of Finite Automata, Mealy and Moore

Machines, Applications and Limitation of Finite Automata.

UNIT – II: Regular Expressions

Regular Expressions, Regular Sets, Identity Rules, Equivalence of two Regular Expressions,

Manipulations of Regular Expressions, Finite Automata, and Regular Expressions, Inter

Conversion, Equivalence between Finite Automata and Regular Expressions, Pumping Lemma,

Closers Properties, Applications of Regular Expressions, Finite Automata and Regular

Grammars, Regular Expressions and Regular Grammars.

UNIT – III: Context Free Grammars

Formal Languages, Grammars, Classification of Grammars, Chomsky Hierarchy Theorem,

Context Free Grammar, Leftmost and Rightmost Derivations, Parse Trees, Ambiguous

Grammars, Simplification of Context Free Grammars-Elimination of Useless Symbols,

EProductions and Unit Productions, Normal Forms for Context Free Grammars-Chomsky

Normal Form and Greibach Normal Form, Pumping Lemma, Closure Properties, Applications

of Context Free Grammars.

UNIT – IV: Pushdown Automata

Pushdown Automata, Definition, Model, Graphical Notation, Instantaneous Description

Language Acceptance of pushdown Automata, Design of Pushdown Automata, Deterministic

and Non – Deterministic Pushdown Automata, Equivalence of Pushdown Automata and

Context Free Grammars Conversion, Two Stack Pushdown Automata, Application of

Pushdown Automata.

UNIT – V: Turing Machine

Turing Machine, Definition, Model, Representation of Turing Machines-Instantaneous

Descriptions, Transition Tables and Transition Diagrams, Language of a Turing Machine,

Design of Turing Machines, Techniques for Turing Machine Construction, Types of Turing

Machines, Church’s Thesis, Universal Turing Machine, Restricted Turing Machine.

UNIT – VI: Computability

Decidable and Un-decidable Problems, Halting Problem of Turing Machines, Post’s

Correspondence Problem, Modified Post’s Correspondence Problem, Classes of P and NP,

NPHard and NP-Complete Problems.

TEXT BOOKS:

1. Introduction to Automata Theory, Languages and Computation, J.E.Hopcroft,

R.Motwani and J.D.Ullman, 3rd Edition, Pearson, 2008.

2. Theory of Computer Science-Automata, Languages and Computation, K.L.P.Mishra

and N.Chandrasekharan, 3rd Edition, PHI, 2007.

REFERENCES:

1. Formal Language and Automata Theory, K.V.N.Sunitha and N.Kalyani, Pearson, 2015.

2. Introduction to Automata Theory, Formal Languages and Computation, Shyamalendu

Kandar, Pearson, 2013.

3. Theory of Computation, V.Kulkarni, Oxford University Press, 2013.

4. Theory of Automata, Languages and Computation, Rajendra Kumar, McGraw Hill, 2014.

Page 40: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 37

Course Objectives:

Introduce the student to the concepts of Theory of computation in computer science.

The students should acquire insights into the relationship among formal languages,

formal Grammars and automata.

Course Outcomes

1. Explain the model of various finite automata and design them.

2. Discuss about Regular expressions, finite automata, regular grammars and equivalence

among them.

3. Classify Grammars and describe about Context Free Grammars.

4. Discuss about Push down automata.

5. Design Turing machines.

6. Explain computability theory.

MAPPING OF COs WITH POs, PSOs

Course

Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

CO1: Explain

the model of

various finite

automata and

design them.

2 3 3

1

2

CO2: Discuss

about Regular

expressions,

finite automata,

regular

grammars and

equivalence

among them.

2 3 3

1

2

CO3: Classify

Grammars and

describe about

Context Free

Grammars.

2 3 3

1

2

CO4: Discuss

about Push down

automata.

2 3 3

1

2

CO5: Design

Turing machines. 2 3 3

1

2

CO6: Explain computability

theory.

2 3 3

1

2

AVG 2 3 3

1

2

Page 41: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 38

LESSON PLAN

S. No. Title No of

Classes

Required

Total

I

UNIT – I: Finite Automata

Why Study Automata Theory? The Central Concepts of Automata

Theory, Automation

1

17

Finite Automation, Transition Systems, Acceptance of a String by a

Finite Automation

1

DFA, Design of DFAs 2

NFA, Design of NFA 1

Equivalence of DFA and DFA 2

Conversion of NFA into DFA 1

TUTORIAL- I (DFA,NFA) 1

Finite Automata with E-Transition 2

Minimization of Finite Automata 2

Mealy and Moore Machines 2

TUTORIAL- I (TRANSDUCERS) 1

Applications and Limitation of Finite Automata. 1

II

UNIT – II: Regular Expressions

Regular Expressions, Regular Sets 2

13

Identity Rules, Equivalence of two Regular Expressions 1

Manipulations of Regular Expressions, Inter Conversion,

Equivalence between Finite Automata and Regular Expressions,

3

TUTORIAL- II ( Equivalence of Finite Automata and Regular

Expressions)

1

Pumping Lemma, Closure Properties, Applications of Regular

Expressions,

2

Finite Automata and Regular Grammars, 2

Regular Expressions and Regular Grammars. 1

TUTORIAL- II ( Equivalence of Finite Automata and Regular

Grammar)

1

III

UNIT – III: Context Free Grammars

Formal Languages, Grammars, Classification of Grammars,

Chomsky Hierarchy Theorem

1

11

Context Free Grammar, Leftmost and Rightmost Derivations,

Parse Trees, Ambiguous Grammars

1

Simplification of Context Free Grammars-Elimination of Useless

Symbols, EProductions and Unit Productions

3

TUTORIAL- III (Simplification of Context – Free Grammar) 1

Normal Forms for Context Free Grammars-Chomsky Normal

Form and Greibach Normal Form

3

TUTORIAL- III (Normal Forms ) 1

Pumping Lemma, Closure Properties, Applications of Context Free

Grammars.

1

IV

UNIT – IV: Pushdown Automata

Pushdown Automata, Definition, Model, Graphical Notation,

Instantaneous Description Language Acceptance of pushdown

Automata

2

Design of Pushdown Automata, 2

Page 42: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 39

QUESTION BANK

Unit

No.

Q.

No

Questions

Blooms

Taxonomy

Level

Course

Outcome

1 Define finite automaton? Enumerate various applications of

finite automata.

2

2 Define DFA? Design the DFA for the following

i) L={w/w has both an even number of 0’s and an even number

of 1’s}

ii) That accepts the word only aa over Σ = {a, b}.

iii) (a+b) (a+b)*

iv) L1={ x/x ends with 01 }

v) The number of b’s are divisible by 3.

9

3 Design a DFA equivalent for the NFA given in the following

table:

9

TUTORIAL- IV ( Design of pushdown Automata) 1 11

Deterministic and Non – Deterministic Pushdown Automata, 1

Equivalence of Pushdown Automata and Context Free Grammars

Conversion

2

TUTORIAL- IV ( Equivalence of Pushdown Automata and

Context Free Grammars Conversion)

1

Two Stack Pushdown Automata, Application of Pushdown

Automata.

2

V

UNIT – V: Turing Machine

Turing Machine, Definition, Model, Representation of Turing

Machines-Instantaneous Descriptions, Transition Tables and

Transition Diagrams, Language of a Turing Machine,

1

9 Design of Turing Machines,. 3

TUTORIAL- V ( Design of Turing machines) 1

Techniques for Turing Machine Construction, 1

Types of Turing Machines, 1

Church’s Thesis, 1

Universal Turing Machine, Restricted Turing Machine 1

VI

UNIT – VI: Computability

Decidable and Un-decidable Problems, 2

7 Halting Problem of Turing Machines, 1

Post’s Correspondence Problem, Modified Post’s Correspondence

Problem,

2

Classes of P and NP, NPHard and NP-Complete Problems. 2

TUTORIAL-VI (Computability) 1

TOTAL 69

Page 43: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 40

I

4 Construct the NFA for the following regular expression, 0* +

1* + 2*.

9

CO1

5 Define NFA with Є moves? Explain with example. 4

6 Explain about the minimization of the finite automata with

example.

4

7 Construct the minimum state finite automaton for the following

finite automata:

2

8 Convert the following mealy machine into equivalent Moore

machine.

4

9 Differentiate between DFA and NFA with examples 4

II

1 Define regular expression? what are the operations of regular

expressions?

2

CO2 2 Write the regular expression for the following

i) The set of strings of 0’s and 1’s whose tenth symbol from the

right end is 1.

ii) The set of string of 0’s and 1’s with at most one pair of

consecutive 1’s.

iii) Language of 0’s and 1’s that has odd length.

iv) L be the set of length 6.

6

3 Construct an NFA for the regular expression (a+b)* (aa+bb)

(a+b)*

6

4 Write the general procedure to transform a grammar to regular

expression and vice-versa.

6

5 Enumerate the applications of regular expressions 2

6 Define pumping lemma for regular languages. 2

III

1 Define formal language? Give the classification of Formal

languages.

4

CO3

2 Explain Chomsky hierarchy of grammars. 4

3 Define derivation? Explain types of derivation. 4

4 Define Ambiguous grammar? How to eliminate it. 6

5 Discuss about left linear and right linear grammars with

examples.

4

6 Write the steps required to obtain a right linear grammar

equivalent to a given left linear grammar? Explain with

example.

6

Page 44: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 41

7 Define CNF? Find an equivalent grammar in CNF of the

following grammar.

S → bA / aB

A → bAA / aS / a

B → aBB / bS /b

4

8 Explain the use of simplification of CFG? What is the

procedure to simplify the CFG? Explain

4

9 Discuss about normalization of CFG? What is the use of

normalization? What are the different normal forms? Explain

4

IV

1 Write a short note on PDA with an example 5

CO4

2 Design a PDA to accept the following language

L={ ai bj ck / i≠ j or j ≠ k}.

9

3 Discuss about push down Automata? Show how context free

language is accepted by push down automata.

4

4 Write a short note on Equivalence of PDA’s and CFG’s 6

5 Design a deterministic pushdown automata for the following

language L = { 0n 1 2n / n >=1 }

9

6 Explain types of pushdown automata. 4

7 Enumerate the applications of pushdown automata? 2

V

1 Describe the formal definition of TM? What are the

components of TM? What is id of TM?

2

CO5

2 Differentiate between PDA and TM with respect to: halt state

and final state

4

3 Design a Turing Machine “Parantheses Checker” that outputs 1

or 0 depending on whether the sequence is properly formed or

not?

9

4 list out the different types of TMs? Explain. 4

5 List out the components of turing machine. 2

6 Discuss about the restricted grammar 4

7 Define universal language? Explain how these can be accepted

by universal turing machine with an example

4

8 Define Church’s hypothesis? Discuss. 4

9 Explain about restricted turing machine? 4

10 Explain about Halting problem 4

VI

1 Discuss about decidable and un-decidable problem. 2

CO6 2 Define modified post correspondence problem(MPCP)? Can

MPCP be reduced to PCP.

7

3 Discuss the factors on which a problem can be categorized as

decidable or undecidable.

4

4 Define class P and NP problems 2

5 Explain about NP-hard and NP-Complete problems. 4

6 Explain about the Computable functions. 4

E-learning materials:

NPTEL

http://www.nptel.iitm.ac.in/downloads/106106049/

Question-Papers html

1. http://www.khitguntur.ac.in/cse.php#cseqp.php

Page 45: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 42

Recommended books

1. A Text Book on Automata Theory, Nasir S.F.B, P.K. Srimani, Cambridge

university Press.

2. Introduction to Automata Theory, Formal languages and computation, Shamalendu

kandar, Pearson

Prepared by

Ms. S. Sri Lakshmi parvathi,

Assistant professor, CSE

Page 46: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 43

Course Title: Principles of Programming Languages

Sub Code : C214

Contact Hours per week : 3(L) + 1(T)

Course Coordinator : Mr. Ch. Samsonu

Course Advisor (if any) : Mr. Ch. Samsonu

Module Coordinator : Dr Md. Umar Khan

Course coordinator phone : 9849268278

Course coordinator e-mail : [email protected]

Course coordinator location : Room No.: 2F-04

Course Coordinator availability : Wednesday 4:00pm - 5:00pm

Friday 4.00pm – 5.00pm

Resource link: :

Pre-requisites Courses : C Programming, C++ and Java

Course Description:

This course surveys the range of programming paradigms in current use, including imperative,

functional, object-oriented, database and concurrent paradigms. Students learn the relative

strengths and weaknesses of the different styles, and are able to apply this knowledge to choose

the right paradigm for a particular programming task. The emphasis is on individual written

justifications, supported by technical knowledge.

Overview of learning activities:

1. Lecture and Class Discussions.

2. Assignment work.

3. Tutorial/Quiz sessions

4. Power Point Presentations

Overview of learning resources: Prescribed & Suggested Text Books

1.Robert W. Sebesta, “Concepts of Programming Languages”, Tenth Edition, Addison

Wesley, 2012.

2.Programming Langugaes, Principles & Paradigms, 2ed, Allen B Tucker, Robert E

Noonan, TMH. Reference Books

1. R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, MIT Press,

2009.

2. Jeffrey D.Ullman, “Elements of ML programming”, Second Edition, Prentice Hall,

1998

3. Richard A. O'Keefe, “The craft of Prolog”, MIT Press, 2009.

4.W.F.Clocksin and C.S.Mellish, “Programming in Prolog: Using the ISO Standard”,

Fifth Edition, Springer, 2003 Freely Accessible Internet Sites

https://www.slideshare.net/TauszfJamal/ppl-ppt

http://nptel.ac.in/courses/106102067/

Overview of assessment: Internal Test.

Quiz

Assignments.

University Exams.

Page 47: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 44

SYLLABUS

UNIT I: SYNTAX AND SEMANTICS: Evolution of programming languages, describing syntax, context, free grammars, attribute

grammars, describing semantics, lexical analysis, parsing, recursive - decent bottom - up

parsing.

UNIT II: DATA, DATA TYPES, AND BASIC STATEMENTS: Names, variables, binding, type checking, scope, scope rules, lifetime and garbage collection,

primitive data types, strings, array types, associative arrays, record types, union types, pointers

and references, Arithmetic expressions, overloaded operators, type conversions, relational and

boolean expressions , assignment statements , mixed mode assignments, control structures –

selection, iterations, branching, guarded Statements.

UNIT III: SUBPROGRAMS AND IMPLEMENTATIONS: Subprograms, design issues, local referencing, parameter passing, overloaded methods, generic

methods, design issues for functions, semantics of call and return, implementing simple

subprograms, stack and dynamic local variables, nested subprograms, blocks, dynamic scoping

UNIT IV: OBJECT- ORIENTATION, CONCURRENCY, AND EVENT HANDLING:

Object – orientation, design issues for OOP languages, implementation of object, oriented

constructs, concurrency, semaphores, Monitors, message passing, threads, statement level

concurrency, exception handling, event handling.

UNIT V: FUNCTIONAL PROGRAMMING LANGUAGES: Introduction to lambda calculus, fundamentals of functional programming languages,

Programming with Scheme, – Programming with ML,

UNIT VI: LOGIC PROGRAMMING LANGUAGES:

Introduction to logic and logic programming, – Programming with Prolog, multi - paradigm

languages

TEXT BOOKS: 1. Robert W. Sebesta, “Concepts of Programming Languages”, Tenth Edition, Addison

Wesley, 2012.

2. Programming Languages, Principles & Paradigms, 2ed, Allen B Tucker, Robert E

Noonan, TMH

REFERENCES:

1. R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, MIT Press,

2009.

2. Jeffrey D. Ullman, “Elements of ML programming”, Second Edition, Prentice Hall,

1998.

3. Richard A. O'Keefe, “The craft of Prolog”, MIT Press, 2009.

4. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”,

Fifth Edition, Springer, 2003

COURSE OBJECTIVES:

1. To understand and describe syntax and semantics of programming languages.

2. To understand data, data types, and basic statements

3. To understand call-return architecture and ways of implementing them

4. To understand object-orientation, concurrency, and event handling in programming

languages

5. To develop programs in non-procedural programming paradigms

Page 48: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 45

COURSE OUTCOMES (COs):

Upon Completion of the course, the students will be able to

CO1: Describe syntax and semantics of programming languages.

CO2: Explain, analyze data, data types, and basic statements of programming languages.

CO3: Design and implement subprogram constructs.

CO4: Apply object - oriented, concurrency, and event handling programming constructs.

CO5:Develop programs in Scheme, LISP and ML.

CO6: Develop programs in logic programming and Prolog.

Mapping of COs with POs,PSOs:

LESSON PLAN

Unit/To

pic No.

Topic Name No of

Classes

Require

d

I SYNTAX AND SEMANTICS 10

1.1 Evolution of programming languages 1

1.2 describing syntax 1

1.3 Context Free Grammars 2

1.4 Attribute grammars 1

Course Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

CO1:Describe syntax and

semantics of programming

languages.

3 1 2 2 2

CO2:Explain, analyze data,

data types, and basic

statements of programming

languages.

3 2 1 2 2 2

CO3:Design and

implement subprogram

constructs.

3 2 3 2 1 1 1

CO4:Apply object -

oriented, concurrency, and

event handling

programming constructs.

3 2 3 2 2 1 2

CO5:Develop programs in

Scheme, LISP and ML. 3 2 1 2 2 1

CO6:Develop programs in

logic programming and

Prolog.

3 2 1 2 2 1

Page 49: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 46

1.5 describing semantics 1

1.6 Lexical analysis 1

1.7 Parsing 1

1.8 recursive – decent parsing 1

1.9 bottom - up parsing 1

II DATA, DATA TYPES, AND BASIC STATEMENTS 13

2.1 Names, variables 1

2.2 binding, type checking 1

2.3 scope, scope rules 1

2.4 lifetime and garbage collection 1

2.5 primitive data types 1

2.6 Strings, array types, associative arrays 1

2.7 record types, union types 1

2.8 pointers and references, Arithmetic expressions 1

2.9 overloaded operators, type conversions, 1

2.10 relational and Boolean expressions, assignment statements 1

2.11 mixed mode assignments 1

2.12 control structures – selection 1

2.13 iterations, branching, guarded Statements 1

III SUBPROGRAMS AND IMPLEMENTATIONS 8

3.1 Subprograms, design issues 1

3.2 local referencing, parameter passing 1

3.3 overloaded methods, generic methods 1

3.4 design issues for functions, semantics of call and return 1

3.5 implementing simple subprograms 1

3.6 stack and dynamic local variables, nested subprograms 2

3.8 Blocks and dynamic scoping 1

IV OBJECT- ORIENTATION, CONCURRENCY, AND

EVENT HANDLING

12

4.1 Object – orientation 1

4.2 design issues for OOP languages 1

4.3 implementation of object oriented constructs 1 4.4 Concurrency 1

4.5 Semaphores 1

4.6 Monitors 1

4.7 message passing 1

4.8 Threads 1

4.9 statement level concurrency 1

4.10 exception handling 1

4.11 Event handling 2

V FUNCTIONAL PROGRAMMING LANGUAGES 9

5.1 Introduction to lambda calculus, 2

5.2 fundamentals of functional programming languages 2

5.3 Programming with Scheme 2

5.4 Programming with ML 3

VI LOGIC PROGRAMMING LANGUAGES 8

6.1 Introduction to logic and logic programming 2

6.2 Programming with Prolog 3

6.3 Multi - paradigm languages 3

TOTAL

60

Page 50: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 47

QUESTION BANK

Unit

No.

Sl.

No. Questions

Bloom’s

Taxonomy

level

Mapped

with CO

I

1. What is the difference between syntax & semantics? 2

CO1

2. What are associatively and precedence? Why are they

significant in parse trees? 2

3. What is meant by ambiguity? Give example. 2

4. What is the difference between a sentence and a

sentential form in a CFG? 1

5. Explain the process of compilation in each phase of a

compiler. 4

6. Discuss about Context-free grammar and regular

expression? Give the parse tree of a following

statement: A = (B+C) * (D / E). 9

7. Give an example of left recursive rule in CFG. What

is the significance of left recursive rule 2

8. What are the main features of the programming

paradigm with examples? 1

9. Define CFG? What does it mean for CFG to be

ambiguous? 2

10. Define grammars, derivation and a parse tree 1

11.

7

12. Explain language evaluation criteria and the

characteristics that affect them. 4

13.

7

14. Describe differences between Top-Down and

Bottom-Up Parsers. 4

15. Explain about lexical analysis. 4

II

1. What are the merits of sub range types 1

CO2

2. Explain in detail various design issues of character

string types 2

3. What is a variable and what are the attributes of a

variable? Elaborate on address of a variable 6

4. What is meant by type checking? Differentiate

between static type checking and dynamic type

checking and give their relative advantages 2

5. What are dangling pointers and lost heap-dynamic

variables? How are they created? 2

Page 51: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 48

6. Explain various primitive data types with suitable

examples 4

7. Explain about control structures 4

8. Define Coercion, Typeerror, Typechecking and

Strong Typing 2

9. Explain structure of an associative array? 3

10. Define name and structure type compatibility. What

are relative merits of these two 2

11 What is primary use of attribute grammar?

2

12 Explain about static, fixed stack dynamic, fixed heap

dynamic and dynamic arrays

3

13 List and explain design issues of pointers. 2

III

1 Define sub program. What are the distinct categories

of Subprograms? 4

CO3

2 What is an overloaded subprogram? Explain with an

example 4

3 Explain different parameter passing methods with an

example 4

4. Explain two methods for implementing blocks 4

5. Describe deep access and shallow access methods for

implementing dynamic scoping 7

6. Explain how subprograms names are passed as

parameters 4

7. Explain about Co-Routines with an example 4

8. Explain design issues of functions 2

9. Explain the difference between virtual and non-

virtual methods 3

10.

Define sub program. What are the distinct categories

of Subprograms?

4

IV

1. Explain features of Object-Oriented Programming

Languages 2

CO4

2.

Explain the following terms :

a)Message passing

b) Concurrency in Ada

c) Monitors.

2

3. What is exception handling? How exceptions are

handled in C++ and JAVA 4

4. Discuss in detail overloaded operators 8

5. Explain Thread class in JAVA and its methods 2

6. Discuss the design issues of Exception Handling. 2

7. Implement Producer and Consumer problem using

Semaphores 6

Page 52: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 49

8. Explain in detail abstract data types in java with

examples. 4

V

1. How functions are defined in Scheme 2

CO5

2. Explain the principles of ML 3

3. Explain about Predicate functions in Scheme 5

4. Explain about primitive functions in Scheme 3

5. Explain about list functions in Scheme 3

6. How functions are defined in ML 2

7. Write factorial function using COMMON LISP 4

8. Explain about data objects in LISP?

4

9. Write a LISP function that computes nth Fibonacci

number 4

VI

1. Explain about Logic programming 3

CO6

2. Explain the Basic elements of Prolog 3

3. Explain list structures and Goal statements in

PROLOG 4

4. Explain generate and test programming strategy in

PROLOG 4

5. Explain how backtracking works in PROLOG 5

6. Explain about fact and rule statements in PROLOG 4

Recommended books

1. R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, MIT Press, 2009.

2. Jeffrey D. Ullman, “Elements of ML programming”, Second Edition, Prentice Hall, 1998.

3. Richard A. O'Keefe, “The craft of Prolog”, MIT Press, 2009.

4. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”,

Fifth Edition, Springer, 2003

Prepared by

Mr.Ch. Samsonu

Associate Professor,CSE

.

Page 53: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 50

SUBJECT TITLE: ADVANCED DATA STRUCTURES LAB

FACULTY MEMBER: Mr. B. Satyanarayana Reddy

Course Objectives:

1. To understand heap and various tree structures like AVL, Red-black, B and Segment trees

Course Outcomes:

1. Develop programs to implement AVL trees.

2. Design applications that uses binary heap.

3. Write a program to generate minimum cost spanning tree.

4. Describe and implement algorithm to find shortest path in the graph.

5. Write a program to implement static hashing.

6. Develop programs to implement huffmann coding technique and balanced trees.

Mapping of COs with POs,PSOs:

Course

Outcomes PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O3

CO1: Develop

programs to

implement AVL

trees.

3 2 3 3

3

2 3 1

CO2: Design

applications

that uses binary

heap

3 2 3 3

3

2 3 1

CO3: Write a

program to

generate

minimum cost

spanning tree.

3 2 3 3

3

2 3 1

CO4: Describe

and implement

algorithm to find

shortest path in

the graph.

3 2 3 3

3

2 3 1

CO5: Write a

program to

implement

static hashing

3 2 3 3

3

2 3 1

CO6: Develop

programs to

implement

huffmann coding

technique and

balanced trees.

2 2 2 3

3

2 3 1

Page 54: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 51

SYLLABUS

1. To perform various operations i.e., insertions and deletions on AVL trees.

2. To implement operations on binary heap.

i) Vertex insertion

ii) Vertex deletion

iii) Finding vertex

iv) Edge addition and deletion

3. To implement Prim’s algorithm to generate a min-cost spanning tree.

4. To implement Krushkal’s algorithm to generate a min-cost spanning tree.

5. To implement Dijkstra’s algorithm to find shortest path in the graph.

6. To implementation of Static Hashing (Use Linear probing for collision resolution)

7. To implement of Huffmann coding.

8. To implement of B-tree.

Equipments and Software required:

i.) Computer Systems with latest specifications

ii) Intel based desktop PC

iii) LINUX

Prepared by

Mr. B. Satyanarayana Reddy,

Professor, Dept. of CSE, KHIT

Page 55: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 52

SUBJECT TITLE: JAVA PROGRAMMING LAB

FACULTYMEMBER: Dr. Md.Umar Khan

Aim and objective of the course:

Students should know how to implement and execute the different Java Programs in

the machine(Computer)

Objectives of Course:

At the end of this lab, the learner will be able to:

Know the importance of implementing application in JAVA

Understand and Execute applications through JAVA (at core level)

Implements concurrent execution of processes (threads), handling exceptions and OOP

principles

Introduce the base for developing GUI based applications

Course Outcomes: 1. Develop java programs for various mathematical concepts,searching and sorting

techniques.

2. Develop java programs for classes,constructors,overloading, concepts.

3. Develop programs by using inheritance, interfaces, packages and exception handling.

4. Implement the programs on multithreading and also I/O Streams in java.

5. Design user interfaces using Applet and also handle the events using event handling

mechanism.

6. Design user interfaces using AbstractWindowToolkit, Swing (classes & interfaces)

Mapping of COs with POs, PSOs:

Course Outcomes

PO

1

PO

2

PO

3

PO

4

PO

5

PO

6

PO

7

PO

8

PO

9

PO

10

PO

11

PO

12

PS

O1

PS

O2

PS

O2

CO1: Develop java

programs for various

mathematical

concepts,searching and

sorting techniques.

3 2 3 3 3 2 2

CO2: Develop java programs

for

classes,constructors,overloa

ding, concepts.

3 2 3 3 3 2 2

CO3: Develop programs by

using inheritance, interfaces,

packages and exception

handling.

3 2 3 3 3 2 2

CO4: Implement the

programs on multithreading

and also I/O Streams in java.

3 2 3 3 3 2 2

CO5: Design user interfaces

using Applet and also

handle the events using

event handling mechanism.

3 2 3 3 3 2 2

Page 56: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 53

Syllabus

Exercise - 1 (Basics)

a). Write a JAVA program to display default value of all primitive data type of JAVA

b). Write a java program that display the roots of a quadratic equation ax2+bx=0. Calculate

the discriminate D and basing on value of D, describe the nature of root.

c). Five Bikers Compete in a race such that they drive at a constant speed which may or may

not be the same as the other. To qualify the race, the speed of a racer must be more than the

average speed of all 5 racers. Take as input the speed of each racer and print back the speed

of qualifying racers.

d) Write a case study on public static void main(250 words)

Exercise - 2 (Operations, Expressions, Control-flow, Strings)

a). Write a JAVA program to search for an element in a given list of elements using binary

search mechanism.

b). Write a JAVA program to sort for an element in a given list of elements using bubble sort

(c). Write a JAVA program to sort for an element in a given list of elements using merge sort.

(d) Write a JAVA program using StringBufferto delete, remove character.

Exercise - 3 (Class, Objects)

a). Write a JAVA program to implement class mechanism. – Create a class, methods and

invoke them inside main method.

b). Write a JAVA program to implement constructor.

Exercise - 4 (Methods)

a). Write a JAVA program to implement constructor overloading.

b). Write a JAVA program implement method overloading.

Exercise - 5 (Inheritance)

a). Write a JAVA program to implement Single Inheritance

b). Write a JAVA program to implement multi level Inheritance

c). Write a java program for abstract class to find areas of different shapes

Exercise - 6 (Inheritance - Continued)

a). Write a JAVA program give example for “super” keyword.

b). Write a JAVA program to implement Interface. What kind of Inheritance can be achieved?

Exercise - 7 (Exception)

a).Write a JAVA program that describes exception handling mechanism

b).Write a JAVA program Illustrating Multiple catch clauses

Exercise – 8 (Runtime Polymorphism)

a). Write a JAVA program that implements Runtime polymorphism

b). Write a Case study on run time polymorphism, inheritance that implements in above

problem

Exercise – 9 (User defined Exception)

a). Write a JAVA program for creation of Illustrating throw

b). Write a JAVA program for creation of Illustrating finally

c). Write a JAVA program for creation of Java Built-in Exceptions

d).Write a JAVA program for creation of User Defined Exception

Exercise – 10 (Threads)

a). Write a JAVA program that creates threads by extending Thread class .First thread display

“Good Morning “every 1 sec, the second thread displays “Hello “every 2 seconds and the

third display “Welcome” every 3 seconds ,(Repeat the same by implementing Runnable)

b). Write a program illustrating isAlive and join ()

CO6: Design user interfaces using AbstractWindowToolkit, Swing (classes & interfaces)

3 2 3 3 3 2 2

Page 57: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 54

c). Write a Program illustrating Daemon Threads.

Exercise - 11 (Threads continuity)

a).Write a JAVA program Producer Consumer Problem

b).Write a case study on thread Synchronization after solving the above producer consumer

problem

Exercise – 12 (Packages)

a). Write a JAVA program illustrate class path

b). Write a case study on including in class path in your os environment of your package.

c). Write a JAVA program that import and use the defined your package in the previous

Problem

Exercise - 13 (Applet)

a).Write a JAVA program to paint like paint brush in applet.

b) Write a JAVA program to display analog clock using Applet.

c). Write a JAVA program to create different shapes and fill colors using Applet.

Exercise - 14 (Event Handling)

a).Write a JAVA program that display the x and y position of the cursor movement using

Mouse.

b).Write a JAVA program that identifies key-up key-down event user entering text in a Applet.

Exercise - 15 (Swings)

a).Write a JAVA programto build a Calculator in Swings

b). Write a JAVA program to display the digital watch in swing tutorial.

Exercise – 16 (Swings - Continued)

a) Write a JAVA program that to create a single ball bouncing inside a JPanel.

b). Write a JAVA program JTree as displaying a real tree upside down

Equipments and Software required:

1. JDK Software or J2SE Software

2. Computer Systems

Prepared by

Dr. Md. Umar Khan

Professor, CSE

Page 58: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 55

PROGRAMMING LABORATORY COURSES ASSESSMENT GUIDELINES

i. The number of experiments/programs/sessions in each laboratory course shall be as

per the curriculum in the scheme of instructions provided by JNTUK.

ii. The students will maintain a separate note book for each laboratory course in which

all the related work would be done.

iii. In each session the students will complete the assigned tasks of process

development, coding, compiling, debugging, linking and executing the programs.

iv. The students will then execute the programme and validate it by obtaining the

correct output for the provided input. The course coordinator will certify the

validation in the same session.

v. The students will submit the record in the next class. The evaluation will be

continuous and not cycle- wise or at semester end.

vi. The internal marks of 25 are awarded in the following manner:

a. Day to Day performance and record - Maximum Marks 15

b. Test and Viva Voce - Maximum Marks 10.

vii. Laboratory Record: Each experimental record is evaluated for a score of 50.

The rubric parameters are as follows: a. Write up format - Maximum Marks 20

b. Process development and coding - Maximum Marks 10

c. Compile, debug, link and execute program - Maximum Marks 15

d. Process Validation - Maximum Marks 05

e.While (a) is assessed at the time of record submission, (b), (c) and (d) are

assessed during the session based on the performance of the student in the

laboratory session. Hence if a student is absent for any laboratory session but

completes the program in another session and subsequently submits the record, it

shall be evaluated for a score of 20 and not 50.

viii. The 15 marks of laboratory record will be scaled down from the TOTAL of the

assessment sheet.

ix. The test and viva voce will be scored for 10 marks as follows:

Internal Test - 7 marks

Viva Voce / Quiz - 3 marks

The assessment of each experiment is recorded in the following format for every student.

Exp.

No.

Title of

the Exp

Date

conducted

Date

submitted

Process

Development

and coding

(10)

Compilation,

Debugging,

Linking and

Executing

(Max 15)

Process

Validation

(Max 5)

Write

up

format

(Max

20)

Total

Score

(Max

50)

1

2

3

Total

Page 59: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata

Dept. of CSE, Kallam Haranadhareddy Institute of Technology, Guntur - 19 Page 56

LABORATORY COURSE EVALUATION RUBRIC

Category Outstanding

(Up to 100%)

Accomplished (Up

to 75%)

Developing

(Up to 50%)

Beginner

(Up to 25%)

Write up

format

Aim, Apparatus,

material requirement,

theoretical basis, procedure of

experiment, sketch of

the experimental setup

etc. is demarcated and presented in clearly

labeled and neatly

organized sections.

The write up follows

the specified format but a couple of the

specified parameters

are missing.

The report follows

the specified format

but a few of the formats are missing

and the experimental

sketch is not included in the report

The write up does not follow the

specified format

and the presentation is

shabby.

Observations

and

Calculations

The experimental

observations and

calculations are recorded in neatly

prepared table with

correct units and significant figures.

One sample

calculation is

explained by substitution of

values

The experimental

observations and

calculations are recorded in neatly

prepared table with

correct units and significant figures

but sample calculation

is not shown

The experimental

observations and

calculations are recorded neatly but

correct units and

significant figures are not used.

Sample calculation

is also not shown

The experimental

observations and results are

recorded

Carelessly. Correct units significant

figures are not

followed and

sample calculations not shown

Results and

Graphs

Results obtained are correct within

reasonable limits.

Graphs are drawn

neatly with labeling of the axes. Relevant

calculations are

performed from the graphs. Equations are

obtained by

regression analysis or curve

fitting if relevant

Results obtained are

correct within reasonable limits.

Graphs are drawn

neatly with labeling of

the axes. Relevant calculations from the

graphs are incomplete

and equations are not obtained by regression

analysis or curve

Fitting

Results obtained are

correct within reasonable limits.

Graphs are not

drawn neatly and or labeling is not

proper. No

calculations are

done from the graphs and

equations are not

obtained by regression analysis

or curve fitting

Results obtained

are not correct within reasonable

limits. Graphs are

not drawn neatly and or labeling is

not proper. No

calculations are

done from the graphs and

equations are not

obtained by regression analysis

or curve fitting

Discussion

of

Results

All relevant points of

the result are

discussed and justified in light of

theoretical

expectations. Reasons for divergent results

are identified and

corrective

measures discussed.

Results are discussed

but no theoretical

reference is mentioned. Divergent

results are identified

but no satisfactory reasoning is given for

the same.

Discussion of results is incomplete and

divergent results

are not identified.

Neither relevant

points of the results are

discussed nor

divergent results identified

Page 60: Course Handouts (2017 18)khitguntur.ac.in/csehandouts/2017-18/II B.Tech II... · Course Handouts (2017 – 18) Name of the student Roll No. ... 5 C213 Formal Languages and Automata