<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Clickstream Data from a Formal Languages eTextbook</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mostafa Mohammed</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Clifford A. Shaffer Virginia Tech</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Blacksburg VA</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>profmdn</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>shaffer}@vt.edu</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>When students interact with an eTextbook, it typically logs their interactions while engaged in activities like watching a visualization, attempting to solve an exercise, or refreshing the page. These event logs allow instructors and researchers to evaluate students' engagement level and approaches to using the artifacts. We predict that the way students use the book and the artifacts a ects their performance on the exercises, their learning gains, and their performance in other aspects of the course. In this paper, we describe a data set gathered from a complete semester course on Formal Languages. This includes all student interactions with the Formal Languages eTextbook. The book contains a set of auto-graded exercises and visualizations about Formal Languages course contents in the form of slideshows.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;OpenDSA</kwd>
        <kwd>Formal Languages</kwd>
        <kwd>auto-graded exercises</kwd>
        <kwd>Interactions logs</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Formal Languages course is a theory course that contains a
number of proofs and on-paper assignments. Formal
Languages courses face a few challenges. They are often
presented as fairly abstract and highly mathematical. This has
the bene t of making students practice useful skills like proof
writing, but might make it less appealing to students more
used to the hands-on style of the typical CS programming
course. A typical FLA class presents several models of
computing (deterministic and non-deterministic nite state
machines, regular expressions, push-down automata,
contextfree languages, Turing machines), with many proofs about
Copyright ©2021 for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0)
their relationships and limitations. There are many
algorithms associated with each model that students must learn
to apply. Many instructors have their students use
simulators to support this process, such as the state-of-the-art
simulator Java Formal Languages and Automata Package
(JFLAP) [
        <xref ref-type="bibr" rid="ref2 ref7">7, 2</xref>
        ]. JFLAP simulates most of the models used
in Formal Languages courses, so it helps students by
allowing them to watch di erent models, apply di erent
algorithms on these models, or test these models with di erent
input strings.
      </p>
      <p>
        To increase student understanding and interaction with the
course materials we implemented an eTextbook using the
OpenDSA system. The OpenDSA project [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is concerned
with building complete eTextbooks for di erent topics in
computer science like Data Structures and Algorithms,
Computational Thinking, or Formal Languages. These
eTextbooks are enhanced with various embedded artifacts such
as visualizations, exercises with automated assessment, and
slideshows to improve understanding. OpenDSA allows
instructors to create instances of complete interactive
eTextbooks that integrate interactive artifacts with the textual
content. OpenDSA contains slideshows produced using the
JSAV (JavaScript Algorithm Visualization) framework [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] to
support various topics in undergraduate courses.
We used our eTextbook in a Formal Languages class of 60
students for an entire semester. We collected complete
interaction log data detailing use with the book. The data
includes detailed students interaction with various slideshows,
and interactive exercises. The data set is a unique data
set for the researchers where it includes senor students
interactions with sophisticated book contents. Students deal
with di erent exercises that ask students to apply di erent
algorithms (i.e. Convert an NFA to DFA, or Minimize a
DFA), build complex models (i.e. DFA, NFA, PDA, and
TM), or write di erent grammars for languages. We are
making this data-set available to researchers via DataShop.
So researchers can get a complete data-set on senior-level
students accessing a theory eTextbook course. This is
different that usual data sets that contains data about students
interactions with programming courses.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. OPENFLAP</title>
      <p>
        JFLAP is used extensively in FLA courses to help students
visualize and observe the behavior of models and associated
algorithms [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However, JFLAP has three disadvantages
from the point of view of integrating material into an
eTextbook. First, it was written in Java and is a stand-alone
application that runs on the student's machine. This does
not allow it to easily tie to online tools like OpenDSA, or
to an LMS [
        <xref ref-type="bibr" rid="ref4 ref6">4, 6</xref>
        ]. Second, JFLAP does not have any
mechanism for auto-grading exercises. Students can use JFLAP
to help solve many typical homework problems, such as
creating a machine to recognize a given language. But they get
little feedback from JFLAP about whether their answer is
correct. Instead, they must wait until the homework is hand
graded by instructional sta . In contrast, we have reached
the state where many programming assignments can be done
with immediate feedback from auto-graders, largely based
on testing the program against unit tests.
      </p>
      <p>
        These drawbacks inspired us to develop an open-access,
webbased version of JFLAP with enhanced support for
autograded exercises. We have largely re-implemented JFLAP
functionality within the OpenDSA framework. We refer
to it as OpenFLAP. OpenFLAP is implemented using the
JSAV library. OpenFLAP also allows us to create exercises,
auto-assess them, and report the result to an LMS through
OpenDSA's standard framework [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. OPENFLAP EXERCISES</title>
      <p>OpenFLAP allows us to create two types of exercises.</p>
      <p>Auto-Graded exercises Auto-graded exercises ask
students to build di erent models, i.e., Deterministic
Finite Automata (DFA) or writing a Context-Free
grammar. These exercises are similar to programming
exercises. To test students' solutions, instructors can
assign some test cases. That can be used to test the
correctness of students model/grammar.</p>
      <p>Pro ciency exercises Pro ciency exercises ask students
to apply an algorithm to a given model like convert an
NFA to a DFA. OpenFLAP allows instructors to
create pro ciency exercises where students need to apply
algorithm steps on a given model. OpenFLAP checks
the correctness of every student step and shows a
message to the student to prompt them to retry the
incorrect step before moving forward to the next steps</p>
    </sec>
    <sec id="sec-4">
      <title>4. STUDENTS INTERACTION DATA-SET</title>
      <p>When students work with our eTextbook, the OpenDSA
system collects data about students interactions with the
book components. The book contains several slideshows,
exercises, khan-academy exercises, and traditional text with
some images. Students need to answer all exercises to earn
credit and they can freely skip looking at the slideshows or
read the text. Our Formal Languages eTextbook includes:
Prose and images. Traditional text about the
algorithms and proofs for di erent Formal Languages
models. We added some images that can help to
understand the text.</p>
      <p>Slideshows A series of slides is often used to describe a
topic to students. Slideshows include four buttons that
allow students to navigate in the slide show. These
buttons are a) next slide, b) previous slide, c) rst
slide, and d) last slide. Figure 1 shows an example for
NFA to DFA slideshow.
Auto-graded exercises and Pro ciency exercises. A
large number of exercises are available, related to
building various example machines. Exercises are included
that require students to build Deterministic and
NonDeterministic Finite Automata, Push Down Automata,
or Turning Machines. Some exercises are about
writing Grammars for a given language, or converting a
model to another model. All exercises require students
to score 100% correctness to get the credit for the
exercise. Students can repeat the exercise as necessary
to achieve credit. Figures 2 and 3 shows examples for
Auto-graded exercises and pro ciency exercises.
Multiple Choice, T/F, Fill-in-the-blank. OpenDSA
includes many questions in standard simple question
formats, implemented using the Khan Academy Exercises
Framework. Figure 4 shows an example for a Khan
Academy exercise.</p>
      <p>Every primitive user interaction (button clicks, page loads,
window focus and blur events) is captured and stored in
the database. Table 1 lists speci c events from the data set
along with their meaning.</p>
    </sec>
    <sec id="sec-5">
      <title>5. DATA FORMAT</title>
      <p>The data comes in the form of a CSV le with 262205 rows,
where each row is an event that is made by a student. Each
event row includes the interaction ID, user ID, event name,
event description, event time, browser name, Operating
System name, Device used, and chapter id.</p>
      <p>event
Window-load
Window-focus
jsav-forward
jsav-exercise-reset
jsav-exercise-grade
jsav-matrix-click
jsav-node-click
submit-deleteButton
submit-edgeButton
window-unload
description
loaded a book module</p>
      <p>Window focus
Slide show forward button</p>
      <p>Exercise reset button</p>
      <p>Request exercise grade
Click in cell for grammar production</p>
      <p>Select a graph node</p>
      <p>Deleted a graph node
Button click: enter add-an-edge state</p>
      <p>Closed the module</p>
      <p>The data set can be found at https://pslcdatashop.web.
cmu.edu/DatasetInfo?datasetId=3427.</p>
    </sec>
    <sec id="sec-6">
      <title>6. ACKNOWLEDGMENTS</title>
      <p>This work is supported by the National Science Foundation
under grants DUE-1139861, DUE-1431667 and IIS-1258471.
The Egyptian Ministry of Higher Education funded Mostafa
Mohammed during his PhD. We are grateful to the many,
many students who have worked on OpenDSA, OpenFLAP,
and the FLA eTextbook over the years.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Fouh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Karavirta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Breakiron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hamouda</surname>
          </string-name>
          , S. Hall,
          <string-name>
            <given-names>T. L.</given-names>
            <surname>Naps</surname>
          </string-name>
          , and
          <string-name>
            <surname>C. A.</surname>
          </string-name>
          <article-title>Sha er. Design and Architecture of an Interactive ETextbook{The OpenDSA System</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>88</volume>
          :
          <fpage>22</fpage>
          {
          <fpage>40</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] JFLAP website</article-title>
          . http://jflap.org,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Karavirta</surname>
          </string-name>
          and
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>A. Sha er. JSAV: the JavaScript Algorithm Visualization Library</article-title>
          .
          <source>In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education</source>
          , pages
          <volume>159</volume>
          {
          <fpage>164</fpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mohammed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rodger</surname>
          </string-name>
          , and
          <string-name>
            <surname>C. A.</surname>
          </string-name>
          <article-title>Sha er. Using programmed instruction to help students engage with etextbook content</article-title>
          .
          <source>The First Workshop on Intelligent Textbooks</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mohammed</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. A.</surname>
          </string-name>
          <article-title>Sha er, and</article-title>
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Rodger</surname>
          </string-name>
          .
          <article-title>Teaching formal languages with visualizations and auto-graded exercises</article-title>
          .
          <source>In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education</source>
          , pages
          <volume>569</volume>
          {
          <fpage>575</fpage>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M. K. O.</given-names>
            <surname>Mohammed</surname>
          </string-name>
          .
          <article-title>Teaching formal languages through visualizations, simulators, auto-graded exercises, and programmed instruction</article-title>
          .
          <source>In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE '20</source>
          ,
          <string-name>
            <surname>page</surname>
            <given-names>1429</given-names>
          </string-name>
          , New York, NY, USA,
          <year>2020</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Rodger</surname>
          </string-name>
          and
          <string-name>
            <surname>E. Gramond. JFLAP:</surname>
          </string-name>
          <article-title>An aid to studying theorems in automata theory</article-title>
          .
          <source>Integrating Technology into Computer Science Education</source>
          ,
          <volume>30</volume>
          (
          <issue>3</issue>
          ):
          <fpage>302</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Rodger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Wiebe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. M.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Morgan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Omar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Increasing Engagement in Automata Theory with JFLAP</article-title>
          .
          <source>In ACM SIGCSE Bulletin</source>
          , volume
          <volume>41</volume>
          , pages
          <fpage>403</fpage>
          {
          <fpage>407</fpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>