Cho, James. Integrating JFLAP into OpenDSA. Retrieved from http://people.duke.edu/~sc316/jcho_paper.pdf.
In this paper, the author first established that algorithm visualization (AV) is tremendously helpful for data structure and algorithm (DSA) education. However, instructors find it time-consuming to integrate AV into their lectures. Therefore, some pioneer professors found the project OpenDSA which aims to create DSA educational softwares for computer science classes. There have also been other projects such as JHAVE and JFLAP, but they both require the installation of Java, which sometimes cause security and software compatibility problems. Due to such need, the author tried to integrate JFLAP into OpenDSA project to help with DSA education.
McMahon, I. C. Improving the Capabilities of JFLAP: Creating Effective User Interfaces in Learning for Theoretical Computer Science. Retrieved from https://users.cs.duke.edu/~rodger/ianThesis.pdf
Ian first established that automata and formal languages theory are very important topics in computer science. Then he introduced the software JFLAP. JFLAP through over 20 years of development, is a mature software with widespread use. The author comprehensively improved the functionalities of JFLAP 7.0, such as boosting the user interface experience, adding useful buttons and inner structure improvement. This thesis tells me that user experience as important as functionalities in software development, and I will remember that during the development of online version of JFLAP.
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.
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.
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.
The development of online version of JFLAP depends heavily on JSAV, so it is essential for me to understand the design patterns and concepts behind JSAV. The product that I contribute to this summer should conform to the general patterns of other eTextbooks in the OpenDSA projects.