Narayan Murthy
Pace University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Narayan Murthy.
frontiers in education conference | 2008
Daniel Farkas; Narayan Murthy
In most colleges and universities, study abroad focuses on students and curriculum in business, foreign language studies and the natural sciences. In todaypsilas global economy, it is necessary for engineering and technology students to also have significant international experiences. In addition to exposing students to the broad issues of globalization, study abroad is both a career hedge against outsourcing and a response to internationalization requirements of accrediting bodies such as ABET. This paper will discuss the issues involved in developing and offering international experience courses; determining curricula and content; developing the computing and technology components of the courses; and developing the field experience including the logistics of travel. The paper will describe two courses: an undergraduate course on computer and network security with travel to London and Paris and a graduate course on offshore outsourcing with travel to India.
Archive | 2012
Lixin Tao; Constantine Coutras; Narayan Murthy; Richard Kline
Master in Computer Science programs (MS-CS) are critically important in producing competitive IT professionals and preparing students for doctorate research. A major challenge is how to integrate the latest computing technologies into MS-CS programs without compromising the computer science foundation education. This paper shares Pace University’s study and experience in renovating its MS-CS program to address this challenge. The study started with the identification of the most important progress in computing over the past decade and its relationship with the fundamental computer science concepts and theory, and how to replace the traditional waterfall teaching model with the iterative one to shorten the prerequisite chains and support more flexible programs. In particular Internet and web technologies, cloud computing, mobile computing, and Internet/web security are analyzed. Based on this theoretical analysis Pace University’s MS-CS program was revised into a 30-credit program with a 12-credit program core for comprehensive theoretical foundation, 12-credit concentrations for in-depth study in selected technology areas, and two 6-credit capstone options for knowledge integration and application as well as life-long learning.
conference on scientific computing | 1989
Narayan Murthy
Definitions and properties of a complete binary tree and a binary search tree are well known [1]. This short paper discusses a method to construct a binary search tree which is also a complete binary tree. We call such a tree a Complete Binary Search Tree, a CBS Tree for short. Two basic advantages of a CBS tree are that it is a search tree with minimum height and that it can be placed in an array. The latter allows for implementation of the data structure without the use of pointers.
frontiers in education conference | 2011
Lixin Tao; Constantine Coutras; Narayan Murthy; Richard Kline
Master in Computer Science programs (MS-CS) are critically important in producing competitive IT professionals and preparing students for doctorate research. A major challenge is how to integrate the latest computing technologies into MS-CS programs without compromising the computer science foundation education. This paper shares Pace Universitys study and experience in renovating its MS-CS program to address this challenge. The study started with the identification of the most important progress in computing over the past decade and its relationship with the fundamental computer science concepts and theory. In particular Internet and web technologies, cloud computing, mobile computing, and Internet/web security are analyzed. Based on this theoretical analysis Pace Universitys MS-CS program was revised into a 30-credit program with a 12-credit program core for comprehensive theoretical foundation, 12-credit concentrations for in-depth study in selected technology areas, and three 6-credit capstone options for knowledge integration and application as well as life-long learning.
IFIP World Conference on Information Security Education | 2009
Narayan Murthy
To address national needs for computer security education, many universities have incorporated computer and security courses into their undergraduate and graduate curricula. Our department has introduced computer security courses at both the undergraduate and the graduate level. This paper describes our approach, our experiences, and lessons learned in teaching a Computer Security Overview course.
2002 Informing Science + IT Education Conference | 2002
Daniel Farkas; Narayan Murthy
Internet and Java technology have developed enormously in recent years. These dramatic developments have provided opportunities and challenges in all fields, particularly in the field of education. What we could not imagine doing just a couple years back has been made possible by these technologies. This short paper illustrates one such example. The example we will discuss is an examination system that a student takes online. When done, the system displays his/her score, and stores the name of the student and his/her score in a file on the server. By clicking another button the students can see answers to all the questions. The way we have done, all the processing is done on the client side and then the result and the name are sent to the server. The server stores the name and score of the student in a file on the server. A Java applet does the client side computation and a Java Servlet does the processing on the server side. The paper illustrates the power of applet servlet communication.
acm southeast regional conference | 1998
Joseph F. Malerba; Narayan Murthy
Binary search trees are used to maintain lists that need searching. It is desirable that such a search tree have minimal height. In practice, if you construct a binary search tree with given data, there is no guarantee that it will be well-balanced. In the literature, there are many balanced trees. One such tree is discussed in [5]. Another well-balanced tree is the AVL tree. A good treatment of AVL trees is in [3]. Several balanced (not necessarily binary) trees are discussed in [ 11. In this paper we describe a new data structure which is a binary search tree with absolutely minimum height. We call such a tree a Complete Binary Tree, a CBS Tree for short. The CBS tree was introduced in an abstract, which appeared in the Proceedings of the Seventh Annual Computer Science Conference held in Feb 1989 [4]. We present a modified CBS tree that has improved permanence characteristics.
technical symposium on computer science education | 1990
Narayan Murthy; Allen Stix
Students become appreciative of dynamically allocated storage structures when they are led to see problems. Further, students become skillful manipulators of linked lists only by implementing them. A good discussion on linked lists is found in [2]. Linked lists are introduced at the beginning of CS2, which is before students have seen trees and become aware of the extreme utility of branching data structures. The pedagogical question, then, is how to kindle excitement over an information structure that is linear, like an array, but more cumbersome. Coupled to this, can a genuinely interesting application be found which requires somewhat more than the maintenance of a single solitary queue? An exercise that worked well for us was a program to give exact values for n!, where the limit to the size of n is quite large (around 500). This paper sketches the assignment, as given to the class.
conference on scientific computing | 1989
Narayan Murthy
In his beautiful paper [2], E. W. Dijkstra discusses an algorithm to find the length of the longest upsequence of a given sequence. Given a sequence s of N elements, a subsequence of s is called an upsequence if and only if it contains no element with a right-hand neighbor smaller than itself [2]. This short paper discusses an implementation for finding an upsequence of a given sequence of integers. The method adopted is a slight variation of Dijkstras algorithm given in [2]. The basic idea is to construct a binary tree similar to binary search tree, and traverse the tree in a particular order.
conference on scientific computing | 1987
Narayan Murthy
A simple sorting algorithm which can be considered as a double-ended selection sort is presented. The algorithm, called min-max sort is based on the optimal method for simultaneously finding the smallest and the largest elements in an array [2]. The smallest and the largest elements found are pushed respectively to the left and right of the array, and the process is repeated on the middle portion. The correctness and termination of min-max sort are easily demonstrated through the use of standard loop invariant ideas. The algorithm fits the “hard split/easy join” paradigm of Merritt [1]. Let n be even. Given an array A[1..n], it is said to be in a “rainbow pattern” if for each i := 1 to n/2 we have A [i] ≤ A[n+1-i]. The following step 1 establishes the rainbow pattern in A. Step 1 : FOR i := 1 TO n DIV 2 DO IF A[i] > A[n+1-i] THEN swap(A[i],A[n+1-i]). The step 1 requires n/2 number of comparisons. Observe that when an array is in a rainbow pattern it is guaranteed that the smallest element of the array is in the left half of the array and the largest in the second half. Step 2 is to find p and q such that A[p] ≤ A[i] for i = 1 to n/2, and A[q] ≥ A[j] for j = n/2+1 to n, and swap(A[1],A[p]) and swap(A[q],A[n]). The step 2 requires (n/2-1)+(n/2-1) number of comparisons. Thus we have brought the largest and the smallest of elements of A into first and the last positions respectively at a cost of 3n/2 - 2 comparisons (in contrast to 2n - 2 comparisons required in the straight forward method). Observe that the rainbow pattern in A is still preserved, except perhaps the two pairs (A[p],A[n+1-p]) and (A[q],A[n+1-q]). The rainbow pattern is reinstated, in just two comparisons, by Step 3 : IF A[p] > A[n+1-p] then swap(A[p],A[n+1-p]), and IF A(n+1-q] > A[q] then swap(A[q],A[n+1-q]). The general form of step 2 is Step 2′ : find p and q such that A[p] ≤ A[i] for all i = k to n/2, and A[q] ≥ A[j] for all j = n/2+1 to n+1-k. The algorithm step 1; FOR k := 1 TO n DIV 2-1 DO BEGIN step 2′; step 3; END; sorts the array A. Step 1 requires N/2 comparisons; step 2′ requires 2(N/2-k) and step 3 requires two comparisons. Thus the total number of comparisons required to sort the array A is = N/2 + @@@@ [2(N/2 - k) + 2] = (N2 + 4N - 8)/4 The size of the central portion decreases steadily by 2 and the invariant assures that the smallest and largest of the central portion can be found with a number of comparisons approximately equal to the size of the portion. The algorithm is included in discussion by Zahn [3].