Skip to content

isaqb-org/foundation-exam-questions

Repository files navigation

Foundation Examination Questions

This repository contains information and code for the iSAQB Foundation exam. It is also the home of the official iSAQB Foundation Mock exam.

XML Schema

The RELAX NG XML Schema (exam.rng) is good enough for creating examples and automatic processing. We expect to add a few more elements and attributes for cross-referencing, exam generation and semantic information.

Examples

The Mock exam is in mock/questions, and there is a pool of contributed questions in pool.

XML Validation

Validate a single XML file:

xmllint --relaxng exam.ng <filename> ...

Code

Racket code for parsing XML exam questions and producing output from them is in the code directory.

Development

There is a Nix flake that provides the prerequisite software. Enter a shell with these prerequisites via:

nix develop

Creating Sample Exams

The Nix flake development shell (invoked via nix develop) puts a tool called make-exam in the path that can be used to create a sample exam from a LaTeX template and a set of XML questions.

It is invoked like so:

make-exam --out <out-filename> --template <template> --language en|de <question>.xml ...

For example, the English language Mock exam is built like this (in the `mock` directory):

make-exam --template template-en.tex --out mock-en.tex --language en questions/*.xml

There’s also an option --ids-file that specifies a file that contains question ids, which will be selected from the set of questions.

The Mock exam templates are in mock/template-en.tex and mock/template-en.tex. Note that make-exam only fills in questions and points, there are more Mustache placeholders in it for release information.

The Nix shell also contains a LaTeX installation suitable for processing the Mock exam.

Building the Mock exam

Build PDFs using Nix with:

nix build nix build .#mock-exam

The output will be in result/pdf.

Building Documentation

The project uses Gradle to generate the documentation in both HTML and PDF formats:

# First time and regular builds
nix develop
gradle buildDocs

# Clean and rebuild
gradle clean buildDocs

The generated documentation will be available in:

  • build/arc42-doc/html/ - HTML documentation

  • build/arc42-doc/pdf/ - PDF documentation

Contributing

Create a subdirectory in pool whose name makes clear the source, and file away!

About

The collection of foundation curriculum examination questions

Resources

Stars

Watchers

Forks

Packages

No packages published