The Department of Computer Applications (MCA) is a two years Post Graduate Program that trains the students with the core fundamentals of programming and practical technique of problem-solving. A sound knowledge on Data structures and Algorithms plays a key role for the placements of the students. The department of MCA design their training modules as per the industry demands and render training to the students to be successful software developers. The students are exposed to analytics space, strong logical reasoning skills; supplemented with coding capabilities. Adequate hours of theory and practical sessions are planned for the students in diversified fields like Net Working, Ethical Hacking, Python, Java, Data Science and, Digital Marketing.
Currently we are running following two trainings-
Training Type- Technical (Data structure and Algorithms)
Objective:
Outcome- After the completion of this course students are able to:
Training Module:
Module 1 - Basics and Complexity
Basic Terminology, Elementary Data Organization, Built in Data, Abstract Data Types (ADT) Enumeration, Boolean Data Type
Algorithm, Efficiency of an Algorithm, Time and Space Complexity, Asymptotic notations: Big Oh, Big Theta, Big Omega, Time-Space trade-off. How to calculate complexity manually in loops, Function and Recursive Function.
Module 2 - Array and String
Representation of Arrays: Row Major Order, and Column Major Derivation of Index Formulae for 1-D,2-D,3-D and n-D Array Application of arrays, Sparse Matrices and their representations.
Array Of Pointers, Pointer to an Array, Generic Array, Array name as constant pointer, Allocating Array on heap, Problems related to rotation of an array, arrangement/DE arrangement of an array, Optimization and order type problems, Address calculation of lower triangular, upper triangular, Z matrix and Toeplitz matrix. Introduction To String, Standard Library Function, Own Function For String Copy, length, concatenate etc., Array Of Pointer to String, Arithmetic Operation on String Character Count Based Problems on String Arrangement/Derangement, Problems Pattern Searching Problems, Rotation type Problem, Lexicographic type Problem Sorting of names, pattern searching in string
Module 3 - Link List
Array Implementation and Pointer Implementation of Circularly Linked List, Operations on a Linked List. Insertion, Deletion, Traversal Polynomial Representation and Addition Subtraction & Addition Subtraction & Multiplications of Two variables Polynomial. Finding loop in link list, Binary Search in link list, merging Point of two link list, Addition, subtraction and multiplication of two single link list, Conversion of tree to link list, conversion of link list to tree, Josephus Problem, sort the link list where nodes contains only 0,1,2.
Module 4 - Stack and Recursion
Abstract Data Type, Primitive Stack operations: Push & Pop. Array and Linked Implementation of Stack in C, Application of stack: Prefix and Postfix Expressions, Evaluation of postfix expression, Iteration and Recursion- Principles of recursion Tail recursion, Removal of recursion Problem solving using iteration and recursion with examples such as binary search, Fibbonacci numbers, and Hanoi towers. Trade-offs between iteration and recursion Multiple Stacks in Single Array, Head and Tail Recursion, Nested Recursion, Akermans Function. Recursion within loop, Subroutines Design stack with O(1) time and O(1) extra space Mergeablestack, Implementation of Stack Using Queue.
Module 5 - Queue
Operations on Queue: Create, Add, Delete, Queues : Full and Empty, Circular queues, Array and linked implementation of queues in C, Dequeue, Priority Queue Multiple Queues in single Array,Implementation of Queue using linked list.
Module 6 - Searching And Sorting
Searching: Concept of Searching, Sequential search, Index Sequential Search, Binary Search, Concept of Hashing & Collision resolution Techniques used in Hashing Ternary Search, Jump search, exponential search searching in 3n/2 time complexity Sorting: Insertion Sort, Selection, Bubble Sort, Radix Sort, Quick Sort, Merge Sort, Heap Sort.
Module 7 - Graph
Terminology used with Graph, Data Structure for Graph Representations: Adjacency Matrices, Adjacency List, Adjacency, Graph Traversal: Depth First Search and Breadth First Search, Connected Component, Spanning Trees, Minimum Cost Spanning Trees, Prims and Kruskal algorithm, Transitive Closure and Shortest Path algorithm: Warshal Algorithm, Dijikstra Algorithm.
Module 8 - Tree
Basic terminology used with Tree, Binary Trees, Binary Tree Representation: Array Representation and Pointer(Linked List) Representation, Binary Search Tree, Strictly Binary Tree ,Complete Binary Tree, A Extended Binary Trees, Tree Traversal algorithms: Inorder, Pre-order and Post order, Constructing Binary Tree from given Tree Traversal, Operation of Insertation , Deletion, Searching & Modification of data in Binary Search . Threaded Binary trees, Traversing Threaded Binary trees. Huffman coding using Binary Tree, Concept & Basic Operations for AVL Tree, B Tree & Binary Heaps. left view traversal, right view traversal.
Level Order Traversal, top view traversal bottom view traversal Lower Commom Ancestor in BST, Successor, Predecessor, Check Binary Treeis BST or not Median In BST, Convert binary tree to BST but structure same, TRIE Data Structure
Module 9 - Backtracking and Greedy
Rat Maze Problem, N Queen Problem, Knight Tour Problem, Sudoku-Puzzle, Permutation of given string.
Module 10 - Dynamic Programming
Overlapping Sub-problems, Optimal Substructure, Top Down Approach, Bottom-up Approach, Memorization, Edit Distance Problem, LCS Problem, String Interleaving Problem, Dropping Egg Puzzle, Subset Sum Problem, Coin Change Problem, Cutting A Rod problem.
Duration (Hours of Training)
Impact on Placement-
Data structures and Algorithms plays very important role in placement and the whole module is design according to problems asked in different companies and examination so impact on placement is very high.
Type of training: - Python Knowledge Enhancement Training
Objective: - This training is designed to provide Basic knowledge of Python. To understand why Python is a useful scripting language for developers. To learn how to design and program Python applications. To learn how to use lists, tuples, and dictionaries in Python programs.
Outcome: - Problem solving and programming capability. Design real life situational problems and think creatively about solutions of them.
Modules: -
Module 1: Introduction to Basic
Module 2: Introduction to Operator
Module 3: Introduction to Decision Control System
Module 4: Introduction to String
Module 5: Introduction to List
Module 6: Introduction to Tuple and Set
Module 7: Introduction to Dictionary
Module 8: Introduction to Function
Module 9: Introduction to Built-in-Function
Module 10: Introduction to Modules
Module 11: Introduction to Exception Handling
Module 12: Introduction to Objects
Module 13: Introduction to Date, Time
Module 14: Introduction to Regular Expression
Module 15: Introduction to Data Structure
Duration: - 40 Hours
Impact on placements: - Benefits the students for their placement.