# Integration approaches

There are several ways to use Algebrakit in your environment, each with advantages and disadvantages.

## Granularity: exercises vs interactions

An 'exercise' can be a complex item consisting of instruction blocks, possibly containing images or other resources, and one or more questions. An 'interaction', on the other hand, is a single scorable element where a student enters input. You can use Algebrakit to handle a complete exercise for you, or you can keep the exercise in your platform and let Algebrakit take care of only the mathematical interactions and resources.

As an example, consider the exercise in the image below. You can create this exercise in Algebrakit and run it from your platform as a single element. However, most parts of this exercise are general content items: text, images, question numbers, etc., that your learning platform can already handle.

Therefore, we allowed inserting only the math elements (math interactions and math resources) into your exercise. This approach has several advantages:

- You can mix Algebrakit and non-AlgebraKIT interactions in the same exercise
- Algebrakit does not interfere with how you store and manipulate your content.
- You rely on Algebrakit only for the mathematical features it adds. You remain in complete control of everything else.

A drawback of this approach is that it is a bit more complex to set up. For example, to calculate the score for an exercise, your platform must assemble the results from all Algebrakit and non-Algebrakit interactions and calculate the aggregated score.

This integration approach also works for randomized exercises. Algebrakit knows that the interactions and resources belong to the same exercise, even though you are free to place them anywhere.

## Integrate authoring tools

You can author the Algebrakit exercises (or interactions) from Algebrakit's Content Management System or integrate Algebrakit's authoring tools into your own authoring software.

The simplest and quickest way to use Algebrakit is to let your authors create and test the math interactions from the Algebrakit CMS. Each exercise receives a unique ID that you can use to refer to this exercise from your system. This way, the authoring process can start immediately, even before integrating Algebrakit into your learning environment. The main disadvantage is that an author needs to work in two environments to build exercises: the Algebrakit CMS for the mathematical elements and your own authoring environment for everything else.

An alternative is to integrate Algebrakit's authoring tools into your authoring environment. These authoring tools are web-based components that you can inject into your system. Your system then becomes responsible for storing the Algebrakit specifications. This way, you limit the dependency on Algebrakit to an absolute minimum, and your authors can do their work from a single environment.