Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Semester IV

S. Credit Credit Hours


Subject Code Name of the Subject
No. Details
L T P
Core Courses
1. BCA417C1 Design and Analysis of Algorithms 4 4 0 0
Lab: Design and Analysis of Algorithms 2 0 0 4
2. BCA417C2 Software Engineering 4 4 0 0
Lab: Software Engineering 2 0 0 4
3. BCA417C3 Database Management System 4 4 0 0
Lab: Database Management System 2 0 0 4
Skill Enhancement Courses
4. BCA417S SEC Theory 4/3
SEC Lab / Tutorial 0/1
Generic Elective Courses
5. BCA517G Generic Elective 4 (GE4) 4
Generic Elective 4 Practical/Tutorial 2
Total Credits 28

1. Generic Electives:
All the four papers of Generic Electives (GE1 to GE4) should be taken from any ONE of the following disciplines:
1. Mathematics / Statistics / Operational Research / Physics /Electronics / Economics / Financial Accounting/Business
Organization and Management (for 1st Semester)
2. Mathematics / Statistics / Operational Research / Physics /Electronics / Economics / /Business Law / Business Mathematics &
Statistics (for 2nd Semester)
3. Mathematics / Statistics / Operational Research / Physics /Electronics / Economics / /Company Law / Income Tax Law and Practice
(for 3rd Semester)
4. Mathematics / Statistics / Operational Research / Physics /Electronics / Economics / /Corporate Accounting / Cost Accounting
(for 4th Semester)
2. Skill Enhancement Courses:
Currently the following Skill Enhancement courses are offered to be a part of the SEC Basket for 3rd and 4th
Semesters respectively.
Android Programming: (Lectures + Lab)
PHP Programming: (Lectures + Lab)
3. Discipline Specific Electives:
Currently the following Discipline Specific Elective courses are offered. If required, these elective courses will be
modified/changed during next BOS meeting based on market demand.
Numerical Methods (4) + Lab (4) Data Mining (4) + Lab (4)
Cloud Computing (4) + Lab (4) Dissertation/Project (4) + Lab (4)
4. Generic Electives (GE) (Minor – Computer Science) for non-Computing Disciplines:
Currently the following Generic Elective courses for the first four semesters in Computing are offered for those
students pursuing degree in a discipline other than Computing. If required, these courses will be
modified/changed during next BOS meeting based on market demand.
a. Computer Fundamentals (4) + Lab (4)
b. Introduction to Database Systems (4) + Lab (4)
c. Introduction to Programming (4) + Lab (4)
d. Computer Networks and Internet Technologies (4) + Lab (4)
4th SEMESTER
CORE-8 (DSC-8)
BCA417C1: Design and Analysis of Algorithms
Theory: 60 Lectures

1.Introduction ( 5 Lectures)
Basic Design and Analysis techniques of Algorithms, Correctness of Algorithm.

2.Algorithm Design Techniques ( 8 Lectures)


Iterative techniques, Divide and Conquer, Dynamic Programming, Greedy Algorithms.

3.Sorting and Searching Techniques (20 Lectures


Elementary sorting techniques–Bubble Sort, Insertion Sort, Merge Sort, Advanced Sorting techniques -
Heap Sort, Quick Sort, Sorting in Linear Time - Bucket Sort, Radix Sort and Count Sort, Searching
Techniques, Medians & Order Statistics, complexity analysis;

4. Lower Bounding Techniques ( 5 Lectures)


Decision Trees

5. Balanced Trees ( 7 Lectures)


Red-Black Trees

6.Advanced Analysis Technique ( 5 Lectures)


Amortized analysis

7.Graphs (5 Lectures)
Graph Algorithms–Breadth First Search, Depth First Search and its Applications, Minimum Spanning
Trees.

8.String Processing (5Lectures)


String Matching, KMP Technique

Recommended Books:
1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to
Algorithms, PHI, 3rd Edition 2009
2. Sarabasse& A.V. Gelder Computer Algorithm – Introduction to Design and Analysis,
Publisher – Pearson 3rd Edition 1999
27

Lab BCA417C1: Design and Analysis of Algorithms


Practical: 60 Lectures

1. i. Implement Insertion Sort (The program should report the number of comparisons)
ii. Implement Merge Sort (The program should report the number of comparisons)
2. Implement Heap Sort(The program should report the number of comparisons)
3. Implement Randomized Quick sort (The program should report the number of comparisons)
4. Implement Radix Sort
5. Create a Red-Black Tree and perform following operations on it:
i. Insert a node
ii. Delete a node
iii. Search for a number & also report the color of the node containing this number.
6. Write a program to determine the LCS of two given sequences
7. Implement Breadth-First Search in a graph
8. Implement Depth-First Search in a graph
9. Write a program to determine the minimum spanning tree of a graph for the algorithms at S. No 1
to 3 test run the algorithm on 100 different inputs of sizes varying from 30 to 1000. Count the
number of comparisons and draw the graph. Compare it with a graph of nlogn.

You might also like