Data Structures and Algorithm Design Lab

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

Course Objectives

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 outcomes

(at course level)

Learning and teaching strategies

Assessment

Strategies

CO107. Implement various linear and nonlinear data structures.

 

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

 

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

 

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

 

CO111. Select appropriate data structure for specified problem domain.

 

CO112. 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

 

Academic Year: