Day #4 on JFLAP

Today I read three papers in the morning. One is about the difficulties students experience when learning formal languages and automata theory; one is a proposal during a conference that advocates XML-based tools development to visualize algorithms; the last one is about the available softwares there are in the field of algorithm visualization. Formal references and summareis are here.

I then downloaded all the code written by Martin and Sung-hoon last summer. Specifically I perusedFAEditor.js and FATraversal.js. I now understand the big structure of what they built and common tricks of doing things. This will help me in later work for sure.

One problem that I notice with JSAV library is that the arrows are too small to see. I visited the documentation of JSAV again but did not find any configuration options. Professor Rodger said she will complain this to the organization.

Later in the afternoon I updated the website to separate readings from blogs because I realize reading summaries kind of mess up with blogs. Right now there are “Blog” and “Reading” buttons on the navigation bar. Before there was only one “Blog” button. With a little effor, I also used jQuery to include the same header html in every page so I don’t have to copy and paste a chunk of html code and update links every week.

<script>
	$(function(){
		$("#header").load("header.html"); 
	});
</script>

Readings:

1. Shaffer, Clifford A. et al. Algorithm Visualization: The State of the Field. ACM Transactions on Computing Education (TOCE) 10.3 (2010)

This paper aims to provide an overview of the state of the field of algorithm visualization. The authors created a Wiki called AlgoViz and introduced common AV projects. They also collected the data of AV counts by topic. As a result, they find that a great majority of AV projects are about sorting algorithms, with only around 2% focusing on NP-Completeness algorithms and a small amount about compression algorithms. This unequal distribution across topics is quite worrying. The authors also point out that high-quality AVs are among a greater number of low-quality AVs, making it hard for instructors to find an effective AV for class.

2. Pillay, Nelishia. Learning Difficulties Experienced by Students in a Course on Formal Languages and Automata Theory. ACM SIGCSE Bulletin, 41.4 (2009) 48-52

This paper describes the result of a study on difficulties students experience when learning about formal languages and automata theory (FLAT). Students generally find that using visualization softwares such as JFLAP very helpful. However, they still face various kinds of challenges. For regular languages, when minimizing states in a DFA, some students combine two final states together when they are not indistinguashable. When converting NFA to a regular expression, a number of students forget that multiple simple paths can be between two nodes. Two difficulties described above are just examples from this paper. The author hopes to help with education of FLAT courses by identifying these difficulties.

3. Naps, Thomas et al. Development of XML-based Tools to Support User Interaction with Algorithm Visualization. ACM SIGCSE Bulletin 37.4 (2005) 123-138

The authors point out that AV is effective only when combined with a certain level of interaction. These interactions include viewing, resonding, changing, constructing and presenting, from minimum interaction to maximum. The methods to achieve these interactions include graphical primitives to visualize, hypertext documents, interactive questions and input generators. As there will be many softwares implementing these functions. The authors propose that a standard XML language be constructed to ensure portability across different AV systems. In this way the efficiency of the field of AV development will be greatly improved.

Leave a Reply

Your email address will not be published. Required fields are marked *