# How to create an advanced dynamical problem¶

## Introduction¶

This tutorial will show you how to create an advanced dynamical problems supported by an applet.

As an example we will use the following problem:

Consider the function:

`f(x) := [a]x^2 + [b]x + [c]`

a). List all roots of f(x)

b). Calculate f(x) for x = [d]

Note: [a], [b], [c] and [d] should be randomized/personalized

## Components¶

An advanced dynamical problem normally consists of a problem tex, a java applet and a corrector.

These three communicates with one another through an XML-File called the **datasheet**. The Problem Tex will generate a datasheet that contains problem specific data such as the **Personalized Problem Data(PPD)**. The Applet reads this datasheet to display the problem with the personalized data. When a student saves her/his answer, the applet adds the answer into the datasheet. When the corrector is activated, it reads both the answer and the problem data and compare the user's answers with the expected solution according to the personalized problem data.