30,428 research outputs found

    Visualization and Animation of Sorting Algorithms

    Get PDF
    Sorting is one of the most important and challenging topics in the study of data structures and algorithm analysis. The time complexity of most sorting algorithms is in the range between 0(n^2 ) and O(n log n). Commonly used sorting strategies include: 1) sorting by exchanging adjacent elements, 2) sorting by using a binary tree structure, and 3) sorting by using a divide and conquer strategy. The typical examples of above sorting strategies are insertion sort, heapsort, and quicksort, respectively. The speed of a sorting process is heavily depended on the algorithm employed. For educational purposes, it is important for students to understand the underlying step by step processes of sorting algorithms. Visualization and animation of sorting algorithms may provide a useful aid to achieve this goal. The advantage of visualization is that it provides a direct sensation of a complicated abstract concept. This study visualized and animated the processes of insertion sort, two variants of heapsort, and quicksort, by displaying every single comparison, movement and exchange of each algorithm in detail. The study also executed and animated the four algorithms in the same time at the same screen for a same set of data to provide a real time comparison of different sorting algorithms. Finally, the study also compared and analyzed the performances of different algorithms for large data sets, based on the running time calculated from the counts of comparisons, swaps and moves that each algorithm took

    Learning Parallel Computations with ParaLab

    Full text link
    In this paper, we present the ParaLab teachware system, which can be used for learning the parallel computation methods. ParaLab provides the tools for simulating the multiprocessor computational systems with various network topologies, for carrying out the computational experiments in the simulation mode, and for evaluating the efficiency of the parallel computation methods. The visual presentation of the parallel computations taking place in the computational experiments is the key feature of the system. ParaLab can be used for the laboratory training within various teaching courses in the field of parallel, distributed, and supercomputer computations

    A Framework for Active Learning: Revisited

    Get PDF
    Over the past decade, algorithm visualization tools have been researched and developed to be used by Computer Science instructors to ease students’ learning curve for new concepts. However, limitations such as rigid animation frameworks, lack of user interaction with the visualization created, and learning a new language and environment, have severely reduced instructors’ desire to use such a tool. The purpose of this project is to create a tool that overcomes these limitations. Instructors do not have to get familiar with a new framework and learn another language. The API used to create algorithm animation for this project is through Java, a programming language familiar to many instructors. Moreover, not only do the instructors have control over planning the animation, students using the animation will also have the ability to interact with it

    Visual parameter optimisation for biomedical image processing

    Get PDF
    Background: Biomedical image processing methods require users to optimise input parameters to ensure high quality output. This presents two challenges. First, it is difficult to optimise multiple input parameters for multiple input images. Second, it is difficult to achieve an understanding of underlying algorithms, in particular, relationships between input and output. Results: We present a visualisation method that transforms users’ ability to understand algorithm behaviour by integrating input and output, and by supporting exploration of their relationships. We discuss its application to a colour deconvolution technique for stained histology images and show how it enabled a domain expert to identify suitable parameter values for the deconvolution of two types of images, and metrics to quantify deconvolution performance. It also enabled a breakthrough in understanding by invalidating an underlying assumption about the algorithm. Conclusions: The visualisation method presented here provides analysis capability for multiple inputs and outputs in biomedical image processing that is not supported by previous analysis software. The analysis supported by our method is not feasible with conventional trial-and-error approaches

    Kernel arquitecture for CAD/CAM in shipbuilding enviroments

    Get PDF
    The capabilities of complex software products such as CAD/CAM systems are strongly supported by basic information technologies related with data management, visualization, communication, geometry modeling and others related with the development process. These basic information technologies are involved in a continuous evolution process, but over recent years this evolution has been dramatic. The main reason for this has been that new hardware capabilities (including graphic cards) are available at very low cost, but also a contributing factor has been the evolution of the prices of basic software. To take advantage of these new features, the existing CAD/CAM systems must undergo a complete and drastic redesign. This process is complicated but strategic for the future evolution of a system. There are several examples in the market of how a bad decision has lead to a cul-de-sac (both technically and commercially). This paper describes what the authors consider are the basic architectural components of a kernel for a CAD/CAM system oriented to shipbuilding. The proposed solution is a combination of in-house developed frameworks together with commercial products that are accepted as standard components. The proportion of in-house frameworks within this combination of products is a key factor, especially when considering CAD/CAM systems oriented to shipbuilding. General-purpose CAD/CAM systems are mainly oriented to the mechanical CAD market. For this reason several basic products exist devoted to geometry modelling in this context. But these basic products are not well suited to deal with the very specific geometry modelling requirements of a CAD/CAM system oriented to shipbuilding. The complexity of the ship model, the different model requirements through its short and changing life cycle and the many different disciplines involved in the process are reasons for this inadequacy. Apart from these basic frameworks, specific shipbuilding frameworks are also required. This second layer is built over the basic technology components mentioned above. This paper describes in detail the technological frameworks which have been used to develop the latest FORAN version.Postprint (published version

    Spike sorting for large, dense electrode arrays

    Get PDF
    Developments in microfabrication technology have enabled the production of neural electrode arrays with hundreds of closely spaced recording sites, and electrodes with thousands of sites are under development. These probes in principle allow the simultaneous recording of very large numbers of neurons. However, use of this technology requires the development of techniques for decoding the spike times of the recorded neurons from the raw data captured from the probes. Here we present a set of tools to solve this problem, implemented in a suite of practical, user-friendly, open-source software. We validate these methods on data from the cortex, hippocampus and thalamus of rat, mouse, macaque and marmoset, demonstrating error rates as low as 5%
    corecore