# Scaffolding2

Jump to: navigation, search

## Sequentially Revealed (Scaffolded) Problems

This PG code shows how to create multi-part questions that hide from students parts that have not yet been answered correct.

PG problem file Explanation

Problem tagging:

```DOCUMENT();

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"scaffold.pl",
"PGML.pl",
"PGcourse.pl",
);
TEXT(beginproblem());
```

Initialization: Use scaffold.pl.

```Context("Numeric");
```

Setup: For randomization, etc.

```Scaffold::Begin();

Section::Begin("Part 1: The first part");
BEGIN_PGML
This is the text for part 1.  [` 1+1 = `] [_________]{"2"}
END_PGML
Section::End();

Section::Begin("Part 2: The second part");
BEGIN_PGML
This is text for the second part.  [` 2 * 2 = `] [_________]{"4"}
END_PGML
Section::End();

Section::Begin("Part 3: The third part");
BEGIN_PGML
This is text for the third part.  [` 1 + 2 + 4 = `] [_________]{"7"}
END_PGML
Section::End();

Scaffold::End();
```

Main text: Each `Section::Begin()` and `Section::End()` block can have its own context, etc. See the scaffold.pl macro file for `Scaffold` options.

```BEGIN_PGML_SOLUTION
Solution explanation goes here.
END_PGML_SOLUTION

COMMENT('MathObject version.  Uses PGML.');

ENDDOCUMENT();
```

Solution: Optional solution section.