# Getting Started with CONSTRUIT

The CONSTRUIT! project created an environment for exploring concepts (such as computational thinking, but also other 'systems' in a variety of different domains, including maths puzzles and physics). This is an alternative method of 'programming' (more analogous to spreadsheets), allowing learning resources to be created without thinking about conventional programming paradigms: https://jseden.dcs.warwick.ac.uk/construit/

These resources are made using a different paradigm for programming, for instance in this extract of code:

`a is b + c;c = 5;b = 4;`

a will automatically change whenever either c or b changes. The order of the statements does not matter, a will always be b + c (like on a spreadsheet). This means that you can describe relationships between variables without having to worry about writing the code to update them (we call them Observables - they are similar to variables, but they more directly relate to values/properties that you might actually 'observe' in the real-world).

### Basic Examples

Dog - a basic 'Hello World' example showing how a when is triggered by setting observable values.

Whack-a-Mole demonstrates usage of 'with', where many holes are created by 'prototyping' the original hole. That is to say that a list of holes is created by taking the first as a template and then making further by simply adjusting the x position.

Jonny's CONSTRUIT Introduction - an introduction to some of the concepts, demonstrating how to calculate the path of a pendulum

Guide to the Environment and Basic Principles - an introduction that demonstrates some of the interface functionality and demonstrates the first steps towards a 'Game of Life' simulation.

### More sophisticated / useful examples

The above examples are rather basic demos, but CONSTRUIT is most powerful for creating resources; 'objects to think with' - these are 'working models' like 'interactive diagrams'.

For a demonstration of the power of this you can see how to build a basic model of the Solar System: https://jseden.dcs.warwick.ac.uk/construit/?load=39&vid=1749&r=

Construals are usually personal reflections of the maker's understanding. Sometimes, the maker might explain their thinking by demonstrating their code. Other approaches are more similar to other types of coding, where the maker creates a construal and then adds specific features to their construal that invite the reader to experiment with different values.

Many of the resources we have made support 'computational learning'. For instance, we could teach Quicksort: https://jseden.dcs.warwick.ac.uk/construit/?load=428&vid=8233&r=daaohueywf4

or Bubblesort https://jseden.dcs.warwick.ac.uk/construit/?load=83&vid=10386&r= (note there are arrows on the left and right to step you through the code of this).

Or you could explore scales on a musical instrument: https://jseden.dcs.warwick.ac.uk/construit/?load=37&vid=3757&r=

We also managed to convert the Solar System construal to 3D https://jseden.dcs.warwick.ac.uk/webgl/index.html?load=167&vid=4033&r= - this can also be viewed on a mobile device with Google Cardboard.

For any of these resources (we call them construals) you can view the source code by opening a new 'Script View' window (click the + in the top right). You can also open a new 'Observable List' and see the values of Observables change in real-time. For further details about the interface, see the Guide to the Environment and Basic Principles

You can explore our entire repository of construals here: https://jseden.dcs.warwick.ac.uk/construit/