DATA STRUCTURES AND ALGORITHM DESIGN LAB

Paper Code: 
MCA 228
Credits: 
02
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

This course enables the students to

  1. Familiarize with creation of Programs of different algorithm.
  2. Introduce various storage mechanisms of data and techniques for representation of the data in the real world.
  3. Provide mathematical approach for Analysis of Algorithms.
  4. Choose appropriate technique for a given problem.
  5. Develop programming skills to convert Dynamic Programming, Greedy method and Backtracking.
  6. Formulate problems using various strategies.

 

Course Outcomes(COs):

 

 

Learning Outcome (at course level)

 

Learning and teaching strategies

Assessment Strategies

 
 

CO113.           Implement various linear and nonlinear data structures.

CO114.           Describe, apply and analyze the complexity of divide and conquer strategy, greedy strategy and dynamic programming strategy.

CO115.           Apply the learned concepts in various domains like DBMS and Compiler Construction.

CO116.           Explain and apply backtracking, branch and bound and string matching techniques to deal with some hard problems.

CO117.           Select appropriate data structure for specified problem domain.

CO118.           Analyze the running time and space complexity of algorithms.

Approach in teaching:

Interactive Lab Sessions,

Modelling, Discussions, implementing enquiry based learning, student centred approach

 

Learning activities for the students:

Experiential Learning, Discussions, Lab Assignments

·  Lab Assignment

·  Programming test in Lab Sessions

·  Continuous Assessment

·  Semester end practical exam

·  Viva-voce

 
 

Contents

 

1.      Linear search & binary search , Sorting Techniques

2.      Stacks and queues operations (with arrays and pointers)

3.      Link List and Trees operations (with arrays and pointers)

4.      graphs – basic traversal and search techniques

5.      Greedy method:-knapsack problem

6.      Greedy method minimum cost spanning tree

7.      Dynamic Programming – 0/1 Knapsack

8.      Dynamic Programming – traveling salesman problem

9.      Backtracking 8-Queens problem

10.   Backtracking Sum of Subsets

11.   Branch and Bound -0/1 Knapsack problem

12.   Sequential and Dynamic Implementations

ESSENTIAL READINGS: 

REFERENCES: 

Academic Year: