ANAND INSTITUTE OF HIGHER TECHNOLOGY
KAZHIPATTUR – 603 103
Department of Computer Science and Engineering
Academic Year: 2019-2020 (Odd Semester)
Lecture Plan
Course Code & Title: CS6301 Programming And Data Structures II
Semester & Branch: III Semester B.E. Computer Science and Engineering
Name of the Faculty member:Mr.D.Anand Joseph Daniel
Designation & Department: AP-III & Computer Science and Engineering
Course 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
Course Outcomes:
At the end of the course :
Students will be familiar with the basic concepts of data structures like array,
Linked list and Queue.
Students will acquire knowledge about advanced nonlinear data structures.
Students will be exposed to graph algorithms.
Students will be exposed to Tree algorithms.
Students will acquire knowledge about data structures applications.
Assessment Methods followed:
1. Internal Tests (Monthly Tests) are conducted to assess continuous learning.
2. Assignments are given to encourage students self-learning.
3. Mini Projects are given to improve the experiential learning.
4. End Semester Examination is conducted to assess overall learning by students.
Teaching
Methodology
(Lecture
Teaching
Role play
Lecture aids
Date Topic(s) to be covered Group
No. (Board /
Discussion
LCD)
Quiz
Debates
Gamefication)
UNIT – I OBJECT ORIENTED PROGRAMMING FUNDAMENTALS
1 C++ Programming features -,Data Board Lecture
Abstraction
2 Encapsulation , class Board Lecture
Object ,constructors Group
3 Board
Discussion
Static members ,constant members Lecture
4 Board
5 Member functions LCD Lecture
pointers ,references Role Play
6 Board
7 Role of this pointer Board Lecture
8 Storage classes LCD Lecture
9 Function as arguments Board Quiz
10 Class Test
UNIT – II OBJECT ORIENTED PROGRAMMING CONCEPTS
11 String Handling Board Lecture
12 Copy Constructor Board Lecture
Polymorphism Group
13 LCD
Discussion
Compile time and run time Lecture
14 polymorphisms Board
15 Function overloading Board Lecture
16 Operators overloading Board Role Play
17 Dynamic memory allocation Board Lecture
Nested classes Lecture
18 Board
19 Inheritance , virtual functions Board Quiz
20 Class Test
UNIT – III C++ PROGRAMMING ADVANCED FEATURES
21 Abstract class – Exception handling - Board Lecture
22 Standard libraries Board Lecture
Generic Programming ,templates Group
23 Board
Discussion
Class template Lecture
24 LCD
25 Function template Board Lecture
26 STL ,containers Board Role Play
27 Iterators ,Function adaptors Board Lecture
28 Allocators,Parameterizing the class Board Lecture
29 File handling concepts. Board Quiz
30 Class Test
UNIT – IV ADVANCED NON-LINEAR DATA STRUCTURES
31 AVL trees ,B-Trees Board Lecture
32 Red-Black trees LCD Lecture
Group
33 Splay trees Board Discussion
34 Binomial Heaps
Board Lecture
35 Fibonacci Heaps , Disjoint Sets
Board Lecture
36 Amortized Analysis
Board Role Play
37 Accounting method
Board Lecture
38 potential method
Board Lecture
39 Aggregate analysis. LCD Lecture
40 Class Test
UNIT – V GRAPHS
41 Representation of Graphs Board Lecture
42 Breadth-first search Board Lecture
43 Depth-first search LCD Group
Topological sort Discussion
Lecture
44 Board
45 Minimum Spanning Trees Board Lecture
46 Kruskal and Prim algorithm Board Role Play
47 Shortest path algorithm Board Lecture
Dijkstra‟s algorithm,Bellman-Ford Lecture
48 algorithm Board
Floyd-Warshall algorithm Quiz
49 LCD
50 Class Test
CONTENT BEYOND THE SYLLABUS
51 B+ Trees LCD Lecture
MINI PROJECTS
LCD Experiential
52 A Graphical Calculator
Learning
Assignments:
Assignments – I
Components of IR
Assignment – II
Web Search Architectures
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++”, 7 th Edition, Wiley Publishers, 2004.
Prepared by: Approved by:
Mr.D.Anand Joseph Daniel Dr.S.Roselin Mary, HOD/CSE
AP/CSE
(Name & Signature of Faculty member) (Name & Signature of HOD)