<!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>Automatic Generation of Learning Assignments for Software Engineering Formalisms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Steinle</string-name>
          <email>steinlem@informatik.uni-freiburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernd Westphal</string-name>
          <email>westphal@informatik.uni-freiburg.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, Albert-Ludwigs-Universita ̈ t Freiburg</institution>
          ,
          <addr-line>Freiburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, Albert-Ludwigs-Universita ̈ t Freiburg</institution>
          ,
          <addr-line>Freiburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>61</fpage>
      <lpage>65</lpage>
      <abstract>
        <p>-Creating learning or examination assignments is a re-occurring activity in the context of teaching. In particular new examination assignments are often desired for each season of teaching a course. In our teaching, we have observed that our creation of assignments for software engineering formalisms uses certain intuitive constraints to obtain assignments at a designated level of difficulty and, e.g., with particular properties to be analysed in the assignment. In this work, we present an approach where we formalise our (formerly intuitive) constraints and use constraint solving tools to automatically synthesise learning assignments that satisfy these constraints. In our approach we leverage the fact that our software engineering course teaches the majority of software description languages fully formal. That is, an artefact using such a software description language is then a mathematical object for which we can give precise constraints. We demonstrate our approach on the example of learning and examination assignments for the notion of determinism on decision table and discuss applications of our assignments synthesis procedure.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Learning assignments are, following Seel [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], selected and
prepared learning objects with the aim to initiate, control,
and organise learning processes. Following Renkl [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], learning
assignments in this sense are used to learn and practice
knowledge and capabilities. Renkl observes that different learning
assignments can lead to comparable acquisition of knowledge
and that ‘well meant but badly done’ stimulations for thought
and embeddings of learning assignment into teaching contexts
can disturb the learning process. Learning assignments have
thus to focus on the knowledge or capability to learn, and be
designed for and embedded into the teaching context.
      </p>
      <p>
        The question what makes a learning assignment a good
learning assignment in general and how to use certain learning
assignments in teaching is in our perception still actively
researched in didactics. A requirement for most learning
assignments will be that they are solvable. Another requirement is
that learning assignments match the knowledge and experience
of the learners. Advanced learners hardly benefit from easy
learning assignments on the competence level ‘remember’ [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
while beginners may be frustrated by difficult assignments on
the competence level ‘create’ [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In this work, we consider the problem of creating learning
assignments with the purpose of practising analysis procedures
(competence level ‘apply’) for formal software specification
languages in the context of our undergraduate introduction to
software engineering [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]–[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Creating learning assignments in
this context is challenging because it is not always completely
obvious that a proposed assignment is solvable. To lower
the student’s cognitive load, we also prefer to use learning
assignments where a single artefact is supposed to, e.g., be
analysed for multiple aspects. Therefore, the artefacts for our
learning assignments need not only be solvable but they need
to equally well support multiple learning goals. Hence, simple
mutations of existing artefacts does not provide a reliable
procedure to create new learning assignment.
      </p>
      <p>When creating new assignments, e.g., to not have the same
tasks in each seasons or for exams, we observed that we can
identify different levels of difficulty within the same class of
learning assignments. Furthermore, we gained the impression
that we can precisely characterise those classes of difficulty
using properties of the (formal) artefacts.</p>
      <p>We propose to develop an approach to (a) formalise our
understandings of didactical aspects of learning assignments
on software description languages (like solvability, learning
goals, and level of difficulty) and (b) use existing procedures
and tools to automatically generate learning assignments with
desired properties. In this article, we report on an investigation
of the feasibility of this approach. To this end, we have
developed, implemented, and evaluated a synthesis procedure
for the formalism of decision tables.</p>
      <p>The article is structured as follows. In Section II, we
illustrate our approach on the example of learning assignment for
basic calculus. Section III recalls decision tables and gives an
example of an exam task that we would like to automatically
generate. Sections IV and V describe our synthesis procedure
and preliminary empirical results, Sections VI and VII discuss
our results and related work, and Section VIII concludes.</p>
      <p>II. AN ANALOGY: LEARNING ASSIGNMENTS FOR</p>
      <p>ADDITION WITH CARRY</p>
      <p>In this section, we want to illustrate the proposed approach
on an example of learning assignments for elementary school
arithmetic, namely ‘paper &amp; pencil’ addition with carry of
two positive decimal numbers. As a teacher, one may want
to present learning assignments with an increasing level of
1 2 3 4
+ 6 2 5
1 8 5 9
(a)
difficulty to let pupils practice the routine of ‘paper &amp; pencil’
addition without carry before moving to the general case, and
possibly in between having some learning assignment with
exactly one carry. So the teacher may have identified the
following three levels of difficulty: Easy tasks where no carry
is needed (cf. Table Ia), intermediate level tasks where exactly
one carry is needed (cf. Table Ib), and the general case where
one carry may cause a subsequent carry (cf. Table Ic).</p>
      <p>To create new learning assignments for addition, e.g., in an
e-learning tool, the teacher could firstly formalise the addition
of two n-digit decimal numbers as shown in Table Id. The
task of adding two numbers in decimal representation consists
of two numbers x and y with their decimal representation
xn, . . . , x0 and yn, . . . , y0. The first carry, caused by adding
the least significant digits x0 and y0, is c1, which has value 1
if and only if x0 + y0 &gt; 10, and value 0 otherwise.</p>
      <p>Viewing addition tasks as mathematical objects, the teacher
could secondly precisely characterise the sets of addition tasks
corresponding to the levels of difficulty described above. An
easy addition task is one where all carries ci, 1 ≤ i ≤ n,
have value 0. Intermediate level and general case tasks can
be characterised similarly. With this formalisation of learning
assignments and the level of difficulty, the teacher could finally
use any integer constraint solver that supports addition and
comparison to obtain tasks that are, e.g., in the class of easy
tasks: We are asking for a solution to the constraint solving
problem that the open symbols xi and yi are assigned values
between 0 and 9 (decimal digits) such that the valuation
satisfies the constraint that all carries remain 0. Note that the
number of digits n is a parameter of the constraint solving
problem with which the teacher can control, e.g., the time it
takes to solve a task as an additional teaching aspect.</p>
      <p>That is, we propose to formalise didactical intents on
learning assignments that involve mathematical objects (such
as addition tasks) in form of constraints and to use
appropriate constraint solving techniques to automatically generate
learning assignments for a given intent.</p>
    </sec>
    <sec id="sec-2">
      <title>III. DECISION TABLES</title>
      <p>
        Decision tables are a simple software engineering formalism
that can, e.g., be used to formalise requirements [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Formally, a decision table T is an (m + k) × n matrix with
entries from the set {−, ×, ∗}. The top m rows correspond to
conditions c1, . . . , cm from the set of conditions C, and the
bottom k rows to actions a1, . . . , ak from the set of actions A,
which is disjoint from C. Columns are called rules. The top
m entries of a rule (the premise) v1,i, . . . , vm,i are elements
T : decision table
c1 description of condition c1
... ...
cm description of condition cm
a1 description of action a1
... ...
ak description of action ak
· · ·
· · ·
. . .
· · ·
· · ·
. . .
· · ·
      </p>
      <p>Fig. 1: Concrete syntax of decision tables.
of the set {−, ×, ∗}, and the bottom k entries of a rule (the
effect) w1,i, . . . , wk,i are from the set {−, ×}. That is, ‘∗’ may
not occur in an effect of a well-formed decision table.</p>
      <p>
        The semantics of decision tables is given by a function
F that assigns to each rule r in T a propositional logic
formula over C and A. Given premise (v1, . . . , vm) and effect
(w1, . . . , wk ) of r, the semantics function is defined as
F (r) := V1≤i≤m F (vi, ci) ∧ V1≤j≤k F (wj , aj )
| {z } | {z }
=:Fpre (r) =:Feff (r)
(1)
where F := {(×, x) 7→ x, (−, x) 7→ ¬x, (∗, x) 7→ true}.
For a discussion of the use of this semantics in requirements
engineering we refer the reader to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>We can formally define different properties of decision
tables that are useful in requirements engineering such as
completeness, consistency, existence of useless rules, etc..
For the purpose of this article it is sufficient to provide the
definition of (non-)determinism. A decision table T is called
deterministic, if and only if for all different rules r1 and r2 in
T , their premise formulae are (logically) disjoint, i.e. if
∀ r1 6= r2 ∈ T • |= ¬(Fpre (r1) ∧ Fpre (r2)).
(2)
Intuitively, a decision table is deterministic if and only if there
is no valuation of the conditions in C that satisfies the premise
formulae of two different rules.</p>
      <p>To practice the analysis of decision tables for determinism,
learning assignments can start on the competence level of
‘apply’. In the course, we present a truth table-based approach
to decide determinism for a given decision table: For each
valuation of the observables in C note down which rules’
premises are satisfied. The table is deterministic if and only if
no valuation satisfies more than one rules’ premises.</p>
      <p>A proof of determinism needs an argument on the rules’
premise formulae (e.g., the truth table), while a proof of
non-determinism strictly speaking only needs one valuation
and the argument that this valuation satisfies the premise
formulae of two different rules. Hence the workload for a
given deterministic table can be higher (construction of truth
table) than for a given non-deterministic table (give a
counterexample as explained above). Thus in the role of a teacher,
we often want to control whether the decision table given as
a learning assignment is deterministic or non-deterministic.</p>
      <p>Figure 2 shows a simplified example of an exam task on
decision tables. The Subtask (1) tests that students are able
r1
×
×
−
×
−
r2
×
−
×
−
×
r3
−
∗
∗
−
−
1) Give the rule formulae for r1, r2, r3.
2) It is claimed that T is deterministic.</p>
      <p>Prove this claim.
3) Does T have a useless rule?</p>
      <p>Prove your claim.
to use the semantics function (competence level ‘apply’).
This kind of task is obviously solvable for each well-formed
decision table, yet to be most useful, one may wish to provide
a table that comprises all possible entries. Subtask (2) tests
competences in applying a particular proof strategy for a
particular decision table property. This subtask is only solvable
(or at least not strongly confusing) if the considered decision
table has the claimed property. Subtask (3) tests competences
on analysing a decision table for whether it has a certain
property such as useless rules (hence touching the competence
level ‘analyse’). Depending on the correct answer, different
proof strategies apply that may need a significantly different
amount of time to solve. One may aim at a decision table for
which Subtasks (2) and (3) need different proof strategies so to
test both and to limit the necessary effort. Note that using only
one decision table lowers the cognitive load for the learners
since only one artefact needs to be read and the learners can
concentrate on the analysis tasks as such.</p>
      <p>Creating learning assignments as shown in Figure 2 is
difficult because multiple constraints need to be considered
together. A change in one cell of the decision table may
unintentionally render the table non-deterministic, or make the
analysis for determinism too easy (for example by having two
identical rules). To simplify the process of creating learning
assignments or exam tasks on decision tables, we propose
to exploit the fact that decision tables are introduced as
mathematical objects in our course. Properties of decision
tables, such as determinism, are formally defined and thus can
be used as constraints in a synthesis procedure. In addition, we
propose to formalise our didactical understanding of classes of
learning assignments on decision tables. For example, that an
analysis for non-determinism is trivial if there are two identical
rules in the table. Other examples aim at the corner cases of
the definition of determinism from the course and we may
want to leave out these cases in beginner’s exercises. The task
to create, e.g., a complete decision table of a particular size
then reduces to a mathematical constraint solving problem.</p>
    </sec>
    <sec id="sec-3">
      <title>IV. GENERATING LEARNING ASSIGNMENTS ON</title>
      <p>DETERMINISTIC DECISION TABLES</p>
      <p>In the following, we outline a procedure to generate
deterministic decision tables of a specified size. We focus
on deterministic decision tables. Non-deterministic decision
tables are the dual case (we negate one of the learning
assignment creation constraints), yet to be useful learning
assignments, non-deterministic decision tables need further
didactic constraints, e.g., on the level of difficulty. We discuss
learning assignment
specification</p>
      <p>(1)
constants
formulae
(2)
decision table
(3)
model
some of these further constraints at the end of this section. The
basic idea of our procedure to generate deterministic decision
tables is to reduce the generation problem to an SMT-problem.
SAT modulo theory (SMT) is a natural problem domain due
to the logical nature of the decision table semantics.</p>
      <p>Finite sets C and A of conditions and actions and a
number n ∈ N0 of rules constitute the learning assignment
specification (cf. Figure 3). In Step (1), we define the signature
of the SMT-problem as a set of constants, one constant per
decision table cell. Over this signature, we generate formulae
that, e.g., specify the allowed content of decision table cells
and also the determinism property. In Step (2), an SMT-solver
generates a model, i.e., an interpretation of the signature such
that the considered formulae hold under this interpretation (if
and only if a deterministic decision table of the desired size
exists). In Step (3), we interpret the model as a decision table.
To obtain a second, different deterministic decision table, the
model from the previous run can be encoded as an additional
formula. Then, taking Step (1) again, we obtain a model that
encodes a different deterministic decision table (if and only if
a second decision table of the desired form exists).</p>
      <p>The idea of the encoding is as follows: For each premise
cell of the desired decision table, there is one constant in the
signature that can take values ‘×’, ‘−’, or ‘∗’, and similarly
for each effect cell, then with possible values ‘×’ or ‘−’. So
to obtain a table over m conditions and k actions with n rules
(cf. Figure 1), we would have constants v1,1, . . . , vm,n and
w1,1, . . . , wk,n. Now any model of the trivial formula ‘true’
as returned by an SMT-solver is already an encoding of a
wellformed decision table: The entry of cell, e.g., vi,j takes the
interpretation of the constant vi,j , which is ‘×’, ‘−’, or ‘∗’.</p>
      <p>Providing a constraint that corresponds to determinism is
a bit more involved. Firstly, the definition of determinism
(cf. (2)) refers to a fixed decision table with fixed premise
formulae. For decision table generation, we need a formula
that refers to the decision table as encoded by the constants
vi,j and wi,j . Secondly, the definition of determinism refers
to validity of propositional formulae by using the validity
operator ‘|=’ (read: for each valuation of the conditions in C,
the negation of two different rules’ premise formula evaluates
to true). Such a validity operator is usually not directly
available in SMT-solvers.</p>
      <p>We observe that the premise formula of a rule r in a decision
table is obtained using the helper function F . Function F
basically says, that a given valuation σ : C → {0, 1} of the
conditions in C is enabling the i-th cell (in the row of condition
ci) of the j-th rule if and only if this cell holds symbol ‘×’ and
300 t/s
250
200
150
100
50
σ(ci) = 1, or this cell holds symbol ‘−’ and σ(ci) = 0, or this
cell holds symbol ‘∗’ (“don’t care”). In the SMT-encoding, the
symbol in “this cell” is given by the value of constant vi,j ,
hence the equivalence stated above corresponds to the formula</p>
      <p>Gi,j := (vi,j = × ∧ ci) ∨ (vi,j = − ∧ ¬ci) ∨ (vi,j = ∗) (3)
over a logical variable ci. Formula (3) holds if and only if the
current value of ci enables the currently considered entry of the
decision table cell as given by the interpretation of constant
vi,j . A rule r is enabled by a valuation σ if and only if σ
satisfies Fpre (r), which is the case if and only if σ enables
all cells that constitute the premise of r. Hence the formula
Gj := G1,j ∧ · · · ∧ Gm,j corresponds to the enabledness of
rule rj (where the rule is given by the current interpretation
of the vi,j ). So to obtain a deterministic decision table, we
conjoin the overall formula</p>
      <p>
        G := ∀ 1 ≤ j1 6= j2 ≤ n ∀ c1, . . . , cm • ¬(Gj1 ∧ Gj2 )
(4)
to the SMT-problem. The particular SMT-problem is now to
provide an interpretation of the signature (i.e., the constants
vi,j and wi,j ) such that G is satisfied. For details of the
encoding, we refer the reader to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Note that all quantifiers
in G (cf. (4)) range over finite domains and can hence be
expanded into a finite conjunction. The expanded formula
is then treatable by efficient SMT-solvers for quantifier-free
theories. The unfolding grows in the number of conditions
and desired rules. Yet, since we aim to create decision tables
that are supposed to be solved by humans, we expect that the
unfolding of G into a quantifier-free formula is usually still
well-treatable by today’s SMT-solvers. Prelimary evaluation
results as reported below confirm our expectation.
      </p>
    </sec>
    <sec id="sec-4">
      <title>V. EVALUATION</title>
      <p>
        We have implemented our approach using the API of the
SMT-solver SMTInterpol [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We imagine to offer to teachers
a choice of decision tables for a given learning assignment
specification, and the possibility to refine the specification,
e.g., to limit the number of ‘∗’ symbols (the fewer ‘∗’ symbols
a decision table has, the more obvious the determinism).
      </p>
      <p>Figure 4 shows the runtime of decision table generation
using our implementation. The practically most relevant graph
is elapsed time (blue); the total user time (yellow) grows
faster because the underlying solver effectively uses multi-core
systems. The top graph shows the time needed to generate one
decision table of size (n+n)×n (n conditions and actions, and
n rules). For values of n up to 10, the runtime is in the order
of seconds. Hence generating decision tables for our exercises
and exams is well feasible, because our tasks usually have 3
to 5 conditions, about 3 actions, and not more than 7 rules.
Working on larger decision tables in ‘paper &amp; pencil’ style is
in our opinion not supporting the learning but just tedious.</p>
      <p>One use case that we envision for our procedure is to
generate bunches of decision tables as task candidates for
the teacher to choose from. The bottom graph in Figure 4
shows that the time needed for generating bunches of 100
decision tables for n = 3 is in average about half a second. An
inspection of the bunches shows that using SMTInterpol has
the effect that the tables in the bunches do not feel too regular
(i.e., not like a mere enumeration of decision tables) and that
we do not get too many symmetric decision tables. Still, we
plan to give teachers the possibility to refine the specification,
e.g., to limit the number of ‘∗’ symbols (the fewer ‘∗’ symbols
a decision table has, the more obvious the determinism).</p>
    </sec>
    <sec id="sec-5">
      <title>VI. DISCUSSION</title>
      <p>The previous sections show that it is possible to
synthesise learning assignments for software description formalisms
(viewed as mathematical objects) that satisfy certain precisely
stated constraints. These constraints can be very generic,
in our case the full power of logic over some theory is
available. Here we see a strong potential of our approach:
We formalise conditions that make learning assignments good
learning assignments, relative to the teacher’s intention and the
students’ situation in the same way as sketched for addition
tasks in the introduction.</p>
      <p>In the case of decision tables, we have for example
observed that the tasks that we create anew each season for the
exercises and the exam follow certain principles. One is of
course the size of the tables (as already considered in our
generation procedure). With non-deterministic decision tables,
we do consider more aspects. For example, a table where
two rules are just copies of each other could be too easy
to analyse. We can immediately formalise that there are no
two identical rules and add that constraint to the learning
assignment specification. Then, our definition of determinism
has the particularity that actions are not considered. So if
two rules can be enabled by one valuation of the conditions
and have the same effect, they are still (by definition)
nondeterministic. A table with all different effects could be a
good choice when starting with non-deterministic tables, yet
the corner-case of overlapping premise and equivalent effect
should be presented to the advanced learner. Again, we can
formalise both cases as constraints. Furthermore, an analysis
for non-determinism could be too easy if there are too many
‘∗’ symbols in the table, so we may want to add a constraint
that limits the number of ‘∗’ symbols overall, or just per rule.
The same applies to other properties of decision tables, such
as completeness, consistency, presence of useless rules, etc..</p>
      <p>Once we have established a set of constraints that can be
added to learning assignment generation runs, there are
manifold applications. The most obvious application is to generate
exercises or exam tasks tailored to a particular teaching or
testing goal (cf. Figure 2). It is easy to embed our decision
table synthesis procedure into a tool where a teacher only
selects the kind of task to obtain a task statement and a
matching decision table. We envision a tool that presents a
selection of tasks to teachers. We feel that the teacher needs
to decide and should not blindly rely on a tool. The experience
from our experiments is that a set of 10 (or even 100) decision
tables usually includes many examples of good exercises.</p>
      <p>Having decision tables available in machine readable form
allows us to generate much of the necessary material
automatically, including correction schemes and slides for tutorial
sessions. In tutorials that discuss non-determinism, there could be
overlays for the case with disjoint effects and the corner-case
with equivalent effects. Further applications could be to offer
an e-learning tool, e.g., a website or a mobile application, that
generates new learning assignments for a student-controlled
or heuristically adapted level of difficulty. Note that we want
to address learning activities that focus on the formalisms
and analysis procedures as such. To this end, it is perfectly
adequate that the generated decision tables do not model an
existing system. In our opinion, students should not firstly
assess the pragmatics of a decision table model, or try to look
out for non-determinism in their imagination of the modelled
system, but they should learn to rely on the purely abstract
application of analysis procedures.</p>
      <p>From our experience with exercises for our software
engineering course, we anticipate that our approach can be
extended to class diagrams, object diagrams, OCL constraints
together with class diagrams, and even Statechart-like
formalisms. It is an open research question which synthesis
procedure is adequate for which formalism.</p>
    </sec>
    <sec id="sec-6">
      <title>VII. RELATED WORK</title>
      <p>
        The idea to generate learning assignments is not new.
worksheets for elementary school arithmetic are generated
randomly (e.g., [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) and, e.g., [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] use mutations of templates
for state-machine problems. Singh et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] infer a set of
similar problems on algebraic equivalence proofs from an
abstraction of a given problem into a so-called query, where
queries can also serve to give learning assignment
specifications. Similarly, Ahmed et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] propose to abstract natural
deduction proofs and to then generate comparable problems.
Alvin et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] targets the synthesis of geometry problems
from an example with a set of properties to be preserved.
They suggest that proof width and length, and the number
of deductive steps are useful metrics to control the synthesis.
Andersen et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] propose to characterise the difficulty of
problems by the execution trace of a procedure that solves the
problem, and to synthesise problems along such a procedure
to obtain a controlled learning progression. Sadigh et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
provide a procedure to generate problems that ask to construct
a DFA that accepts a certain language from a set of so-called
seed problems. They propose a metric of difficulty based on
number of states, depth, and number of counter-examples used
by a learning algorithm.
      </p>
      <p>Our approach can be seen to take one step back since we
feel that teaching of software description languages is not yet
as well-researched as, e.g., geometry or algebra. We put the
teachers’ understanding of learning assignments first and want
to provide problem encodings such that teachers can formalise
their understanding of problem classes and have complete
control over generated problems.</p>
    </sec>
    <sec id="sec-7">
      <title>VIII. CONCLUSION</title>
      <p>We have presented a logic-based approach to characterise
and synthesise learning assignments for a subset of the formal
software description language of decision tables. A first
evaluation shows that our procedure quickly generates problems
of the size needed for ‘paper &amp; pencil’ tasks. We argue to
put computer science teachers into a prominent position when
generating learning assignments: A formalisation of software
engineering problems allows us teachers to formalise and
investigate our understanding of good learning assignments.</p>
      <p>Future research includes to extend the set of supported
learning assignments (also for different formalisms), and
further research into the nature of instructionally good learning
assignments and their formal characterisation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N. M.</given-names>
            <surname>Seel</surname>
          </string-name>
          ,
          <article-title>Lernaufgaben und Lernprozesse, ser</article-title>
          . Studienbuch Pa¨dagogik. Stuttgart: W. Kohlhammer,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Renkl</surname>
          </string-name>
          , “
          <article-title>Lernaufgaben zum Erwerb prinzipienbasierter Fertigkeiten,” in Lernaufgaben entwickeln, bearbeiten und u¨berpru¨fen, ser</article-title>
          .
          <source>Fachdidaktische Forschungen</source>
          , vol.
          <volume>6</volume>
          ,
          <issue>2014</issue>
          , pp.
          <fpage>12</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L. W.</given-names>
            <surname>Anderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Krathwohl</surname>
          </string-name>
          et al., Eds.,
          <string-name>
            <surname>A</surname>
          </string-name>
          <article-title>Revision of Bloom's Taxonomy of Educational Objectives</article-title>
          . Longman,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Westphal</surname>
          </string-name>
          , “
          <article-title>An undergraduate requirements engineering curriculum with formal methods</article-title>
          ,” in REET@RE,
          <string-name>
            <given-names>M.</given-names>
            <surname>Moshirpour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Moussavi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Grubb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gregory</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Far</surname>
          </string-name>
          , Eds. IEEE,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5] --, “Formale methoden in der Softwaretechnik-Vorlesung,” in SEUH, V. Thurner et al., Eds., vol.
          <volume>2358</volume>
          . CEUR-WS.org,
          <year>2019</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] --, “
          <article-title>Teaching software modelling in an undergraduate introduction to software engineering,” in EduSymp</article-title>
          . IEEE,
          <year>2019</year>
          , pp.
          <fpage>0</fpage>
          -
          <lpage>0</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Balzert</surname>
          </string-name>
          , Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering, 3rd ed. Spektrum,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>--</surname>
          </string-name>
          , Lehrbuch der Softwaretechnik: Entwurf, Implementierung, Installation, Betrieb, 3rd ed. Spektrum,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Steinle</surname>
          </string-name>
          , “
          <article-title>Automatische Generierung von Lernaufgaben fu</article-title>
          ¨r Entscheidungstabellen,”
          <year>2019</year>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Sc</surname>
          </string-name>
          . thesis, Universita¨t Freiburg.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Christ</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hoenicke</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Nutz</surname>
          </string-name>
          , “
          <article-title>SMTInterpol: An Interpolating SMT Solver,” in SPIN, ser</article-title>
          . LNCS,
          <string-name>
            <given-names>A. F.</given-names>
            <surname>Donaldson</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Parker</surname>
          </string-name>
          , Eds., vol.
          <volume>7385</volume>
          . Springer,
          <year>2012</year>
          , pp.
          <fpage>248</fpage>
          -
          <lpage>254</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>mathworksheetwizard.com.</surname>
          </string-name>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sadigh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Seshia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Gupta</surname>
          </string-name>
          , “
          <article-title>Automating exercise generation: a step towards meeting the MOOC challenge for embedded systems</article-title>
          ,” in WESE, P. Marwedel, Ed. ACM,
          <year>2012</year>
          , p.
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gulwani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Rajamani</surname>
          </string-name>
          , “
          <article-title>Automatically generating algebra problems</article-title>
          ,” in AAAI,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>U. Z. Ahmed</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gulwani</surname>
          </string-name>
          et al., “
          <article-title>Automatically generating problems and solutions for natural deduction</article-title>
          ,” in IJCAI,
          <year>2013</year>
          , pp.
          <fpage>1968</fpage>
          -
          <lpage>1975</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.</given-names>
            <surname>Alvin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gulwani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mukhopadhyay</surname>
          </string-name>
          , “
          <article-title>Automatic synthesis of geometry problems for an intelligent tutoring system</article-title>
          ,
          <source>” CoRR</source>
          , vol.
          <source>abs/1510.08525</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>E.</given-names>
            <surname>Andersen</surname>
          </string-name>
          et al.,
          <article-title>“A trace-based framework for analyzing and synthesizing educational progressions,” in SIGCHI</article-title>
          . ACM,
          <year>2013</year>
          , pp.
          <fpage>773</fpage>
          -
          <lpage>782</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>