Innovative Methods for Teaching Data Structures and Algorithms

Data Structures and Computer Algorithms are the core elements of Computer Science and Engineering and Information Technology. Many of the concepts of Data Structures and Computer Algorithms can’t be explained efficiently with traditional Chalk and Talk method. Some innovative teaching techniques are needed to explain the concepts like different data structuresstack and queue, searching and sorting algorithms, asymptotic complexities etc. Such techniques have been discussed in this paper. Keywords—data structures; computer algorithms; activity; analogy; stack; queue


I. INTRODUCTION
Data Structures and Computer Algorithms are the building blocks of not only Computer Science and Engineering and Information Technology but also becoming core elements of other engineering disciplines.Data structures and algorithms are two complementary and inseparable elements [Zhao Wang, 2012].Data Structures gives different organizations of data and mechanisms for accessing the data efficiently.Different organizations of data like stack and queue can be used as per the suitability.Queue can be used, if we want to access the data in the same order we input it.E.g.Ticket reservation.Stack can be used, if we want to retrieve the data in reverse order we input it.Computer Algorithms explains different algorithm design paradigms like divide and conquer, greedy approach and dynamic programming.These techniques helps to tackle different real life problems needing computations.They provide algorithms to solve the computational problems and helps to select the optimal solution, if having more than one solutions to solve a problem.Many of the concepts of Computer Algorithms and Data Structures can't be explained with traditional Chalk and Talk method efficiently [Sujatha, C. et al., 2012].Some innovative techniques are needed to explain the concepts like different data structures-stack and queue organizations, sorting and searching algorithms, asymptotic complexities etc.Using innovative methods for teaching in educational institutions helps to improve education, as well as to empower the people [Dr.Damodharan, Mr. Rengarajan.V, 2013].Many of the concepts can be explained with the help of innovative teaching methods like analogy, activity, role play and brainstorming.
While using analogy, the relevant matching scenarios in real life are predicted to explain the concept.In role play activity, students perform different roles and demonstrate the concepts.Multimedia can also be used to explain different concepts.Animations and different games may help to demonstrate some new concepts difficult to explain with traditional approaches.CDIO "Conceive, Design, Implement and Operate" can be used for explaining concepts like Trees [Ramon Lawrence, 2004] Section II gives information about the innovative teaching techniques used for teaching "Data Structures" and Section III presents details of explanation of Asymptotic notations with analogy and innovative teaching techniques for some concepts of algorithms.

A. Stack
Stack is a data structure in which data can be inserted and extracted from only one end.It is a LAST IN-FIRST OUT (LIFO) structure.Stack can be explained with the help of role play.Ask one of the students to go from classroom in his department to the administrative office and inform him to note down the directions he changed like left to right turn or right to left turn etc.When student comes back from administrative office to classroom ask him the steps he followed to come back.The steps he followed are exact opposite of those steps he followed while going from classroom to administrative office.This is how stack works.Elements can be retrieved in reverse order of the order in which they are inserted.

B. Queue
Queue is a data structure in which data can be inserted from one end and extracted from another end.It is a FIRST IN-FIRST OUT (FIFO) structure.Mechanism of working of queue can be explained by conducting an activity.Inform all the students to come in the classroom one after another in a queue.Any student can come in the classroom only after all his predecessors have come in.This demonstrates the working of queue, in which elements are input from one end and output from another end.

C. Searching and Sorting Techniques
There are two searching techniques-linear search and binary search, which can be used to find the element in the given list.
There are many sorting techniques like Bubble sort, Insertion sort, Selection sort, Merge sort, Quick sort, Heap sort, Radix sort etc to arrange the elements in either ascending or descending order.It is very difficult to explain algorithms of searching and sorting techniques with traditional teaching methods and chalk and talk.Working of these algorithms can be explained with the help of animation.This can be done by taking sample input and playing animation to show the execution of different steps of algorithm for given numbers.Students will be able to differentiate between these algorithms by watching animation.Empressr, EWC Presenter and GoAnimate are some tools which can be used to create animations.

D. Towers of Hanoi
Some of the concepts can be explained with the help of multimedia games.Games help to create interest in students with fun and excitement.Students tend to learn more curiously with the help of games [Fengxia Yang, 2012].A Towers of Hanoi is one of the difficult concepts to teach.There are given disks of different sizes and three pegs.It is expected to move disks from one peg to another with the help of third peg as temporary without keeping larger disk on top of smaller disk.This problem is NP-Hard.It can't be solved in polynomial time.This concept can be taught with the help of multimedia game.Three pegs will be displayed on window.Source peg consist of all disks.Students can be asked to move these disked from source to one of the pegs called as destination by using third peg as temporary.Restrictions can be provided by not allowing student to keep larger size disk on top of smaller size peg.Student enjoys the game and will come with the solution to Towers of Hanoi problem.

III. INNOVATIVE TEACHING METHODS FOR COMPUTER ALGORITHMS
Divide and conquer, Greedy Approach and Dynamic programming are the different algorithm design paradigms available to design algorithms to solve any problem.In divide and conquer approach, given problem can be divided into different sub-problems.Each sub-problem can be solved individually and results can be combined to get final result.In greedy approach a sequence of steps are followed to solve the problem to get optimized result.In dynamic programming, for a problem with n inputs, all 2 n possible combinations of input are required to be considered to get the result.
Innovative teaching techniques can be used to explain different concept like-Convex Hull, Knapsack problem, travelling sales person problem, Trees and N Queens Problem.

A. Asymptotic Notations
There may be many techniques to solve one problem.Which one to choose out of available techniques? Asymptotic notations are used to represent the complexities of different algorithms.Concept of Asymptotic notations can be explained with the help of analogy, so that it could be understood better.
Consider three persons taking part in a race.Person A is with his bicycle, Person B is with Car and Person C is with Airplane.

 Big Oh (O) notation
Compare Person B with Person C. When race starts, Person B with car may need some time to start his car, operate gears and other things, Person C with airplane may take some more time for initial take off, meanwhile Person B might have started travelling.So, for some distance (say n0) Person C may be behind Person B, but after some time Person C will travel so fast that, Person B can't catch him.