Railsort and Concrete Programming

A progression to introduce algorithms concepts from the concrete

railsort image



RailSort and Sorting Networks is an activity that enables to work out the sorting network in a concrete and physical space, participants act as the items to be sorted. Then, it progresses to more complex challenges using a software tool than enables building large networks and checking them. Finally, a link to actual computer programming is offered trough a mash template.(Guides, and software for the activity are provided) I am thankful to Nathan Lovell for being the application developer and a Teaching and learning grant from Griffith University. This activity was inspired by Computer Science Unplugged (See Tim Bell's site)


The following publications may also provide information about the resources here.

  1. Vladimir Estivill-Castro and B. Bartlett. “Image Capture for Concrete Programming” Third International Conference on Computer Supported Education,CSEDU (1) 2011. Noordwijkerhout, The Netherlands. 6-9 May 2011. SCTiePress (Portugal). A. Verbraeck, M. Helfert, J. Cordeiro and B. Shishlov (editors) pages 56-68 ISBN 978-989-8425-49-2.
  2. Vladimir Estivill-Castro, “Concrete Programing for problem Solving Skills” International Con- ference on Education and New Learning Technologies (EDULEARN 2010) Barcelona (Spain), 5-7th of July, 2010. G´omez Chova, L., Mart´? Belanguer, D. and Candel Torres, I. (editors) International Association of Technology, Education and Development (IATED) www.iated.org Pages 4189-4197 CD-ROM file 454.pdf ISBN: 978-84-613-9386-2.




    The Guide

    An explanation on how one could use the material here for an outreach a activity or a learning activity.


     A presentation of what the activity aims for.

    A summary you may want to distribute to teachers or helpers

     A shorter version than the guide (gut is a larger PDF)

    If you make it a competition between teams of participants, how you may wish to score

    Scoring criteria


    Maybe you want to explore the concepts a bit before the activity

    Questionaire to apply or discuss with participants before the activity. It may set targets of learning objectives. 


    Post activity question ai re

     Maybe you wish to evaluate the learning

    More detailed feedback

     A more detailed to obtain feedback from participants on their learning



    This should be a cross plataform application, as long as you have Java running virement installed. Enables participants to play with sorting networks.

    A guide on using railsort.tar

    A user manual so participants can use the software, this can be explained and users do not really need it to start using it and exploring it.

    examples.tar.gz Examples of networks than can be loaded into railsort (these are .n files). Example of an image of a physically built network that an be loaded into the image analyzer of railsort. Example of a calibration file for color recognition.


    MaSH is produced by Andrew Rock MaSH enables progression into textual programming language concepts.
    templates as a tar All templates together.
    README A file with instructions to use the templates.