CS6301 PROGRAMMING AND DATA STRUCTURES 2 syllabus-subject-notes-pevious-year-questions-papers-bank

OBJECTIVES:

The student should be made to:

Be familiar with the C++ concepts of abstraction, encapsulation, constructor, polymorphism,

overloading and Inheritance.

Learn advanced nonlinear data structures.

Be exposed to graph algorithms

Learn to apply Tree and Graph structures

UNIT I OBJECT ORIENTED PROGRAMMING FUNDAMENTALS 9

C++ Programming features - Data Abstraction - Encapsulation - class - object - constructors - static

members – constant members – member functions – pointers – references - Role of this pointer –

Storage classes – function as arguments.

UNIT II OBJECT ORIENTED PROGRAMMING CONCEPTS 9

String Handling – Copy Constructor - Polymorphism – compile time and run time polymorphisms –

function overloading – operators overloading – dynamic memory allocation - Nested classes -

Inheritance – virtual functions.

UNIT III C++ PROGRAMMING ADVANCED FEATURES 9

Abstract class – Exception handling - Standard libraries - Generic Programming - templates – class

template - function template – STL – containers – iterators – function adaptors – allocators -

Parameterizing the class - File handling concepts.

UNIT IV ADVANCED NON-LINEAR DATA STRUCTURES 9

AVL trees – B-Trees – Red-Black trees – Splay trees - Binomial Heaps – Fibonacci Heaps – Disjoint

Sets – Amortized Analysis – accounting method – potential method – aggregate analysis.

UNIT V GRAPHS 9

Representation of Graphs – Breadth-first search – Depth-first search – Topological sort – Minimum

Spanning Trees – Kruskal and Prim algorithm – Shortest path algorithm – Dijkstra’s algorithm –

Bellman-Ford algorithm – Floyd - Warshall algorithm.

OUTCOMES:

At the end of the course, the student should be able to:

Design problem solutions using Object Oriented Techniques.

Apply the concepts of data abstraction, encapsulation and inheritance for problem solutions.

Use the control structures of C++ appropriately.

Critically analyse the various algorithms.

Apply the different data structures to problem solutions.

TEXT BOOKS:

1. Bjarne Stroustrup, “The C++ Programming Language”, 3rd Edition, Pearson Education, 2007.

2. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, 2nd Edition, Pearson

Education, 2005

REFERENCES:

1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to

Algorithms", Second Edition, Mc Graw Hill, 2002.

2. Michael T Goodrich, Roberto Tamassia, David Mount, “Data Structures and Algorithms in C++”,

7th Edition, Wiley Publishers, 2004.

OBJECTIVES:

The student should be made to:

Be familiar with the C++ concepts of abstraction, encapsulation, constructor, polymorphism,

overloading and Inheritance.

Learn advanced nonlinear data structures.

Be exposed to graph algorithms

Learn to apply Tree and Graph structures

UNIT I OBJECT ORIENTED PROGRAMMING FUNDAMENTALS 9

C++ Programming features - Data Abstraction - Encapsulation - class - object - constructors - static

members – constant members – member functions – pointers – references - Role of this pointer –

Storage classes – function as arguments.

UNIT II OBJECT ORIENTED PROGRAMMING CONCEPTS 9

String Handling – Copy Constructor - Polymorphism – compile time and run time polymorphisms –

function overloading – operators overloading – dynamic memory allocation - Nested classes -

Inheritance – virtual functions.

UNIT III C++ PROGRAMMING ADVANCED FEATURES 9

Abstract class – Exception handling - Standard libraries - Generic Programming - templates – class

template - function template – STL – containers – iterators – function adaptors – allocators -

Parameterizing the class - File handling concepts.

UNIT IV ADVANCED NON-LINEAR DATA STRUCTURES 9

AVL trees – B-Trees – Red-Black trees – Splay trees - Binomial Heaps – Fibonacci Heaps – Disjoint

Sets – Amortized Analysis – accounting method – potential method – aggregate analysis.

UNIT V GRAPHS 9

Representation of Graphs – Breadth-first search – Depth-first search – Topological sort – Minimum

Spanning Trees – Kruskal and Prim algorithm – Shortest path algorithm – Dijkstra’s algorithm –

Bellman-Ford algorithm – Floyd - Warshall algorithm.

OUTCOMES:

At the end of the course, the student should be able to:

Design problem solutions using Object Oriented Techniques.

Apply the concepts of data abstraction, encapsulation and inheritance for problem solutions.

Use the control structures of C++ appropriately.

Critically analyse the various algorithms.

Apply the different data structures to problem solutions.

TEXT BOOKS:

1. Bjarne Stroustrup, “The C++ Programming Language”, 3rd Edition, Pearson Education, 2007.

2. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, 2nd Edition, Pearson

Education, 2005

REFERENCES:

1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to

Algorithms", Second Edition, Mc Graw Hill, 2002.

2. Michael T Goodrich, Roberto Tamassia, David Mount, “Data Structures and Algorithms in C++”,

7th Edition, Wiley Publishers, 2004.

## No comments:

## Post a Comment