CS6301 PROGRAMMING AND DATA STRUCTURES 2 SYLLABUS FOR ANNA UNIVERSITY THIRD SEMESTER CSE STUDENTS
University : Anna university
Semester : 3rd Sem
Department : CSE
Year : Second Yr
Regulation : 2013
Subject Credits : 3
CS6301 PROGRAMMING AND DATA STRUCTURES 2
SYLLABUS
REGULATION 2013
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
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
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
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
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
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.
TOTAL: 45 PERIODS
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.