Standalone Python generators help biology instructors create randomized, LMS-ready quiz and homework questions across biochemistry, genetics, molecular biology, and related subjects.
Explore the generated question collection at Biology Problems OER.
Choose a topic, run its generator, and receive questions ready for Blackboard or a QTI-compatible learning management system. The current audited catalog covers 178 Python generators and 98 YAML question banks, with standalone scripts for focused topics and shared tooling for consistent output.
For example, this command creates five randomized multiple-choice questions about hydrogen bonding in an alpha-helix:
python3 problems/biochemistry-problems/alpha_helix_h-bonds.py --mc -d 5A generated question is printed in readable form while the import-ready version is written to disk:
In a long alpha-helix, amino acid number 9 would form a hydrogen bond
with which two other amino acids?
A. amino acids 7 and 11
B. amino acids 6 and 12
C. amino acids 5 and 13
...
Writing 5 questions to file: bbq-alpha_helix_h-bonds-MC-questions.txt
The Blackboard output includes the question text, randomized answer choices, answer key, and the HTML needed for LMS import.
- Generate multiple-choice, multiple-answer, and numeric questions from focused topic scripts.
- Cover biochemistry, biostatistics, cell biology, genetics, laboratory skills, and molecular biology from one repository.
- Export Blackboard text files, QTI packages, and HTML self-test previews.
- Build from Python logic, YAML matching sets, or statement-based question banks.
- Randomize scenarios and answer ordering so repeated assessments are less predictable.
This repository is not distributed as a Python package. Clone the source and run its generators in
place; only the separate qti-package-maker dependency is installed from PyPI.
- Python 3.12.
- The
qti-package-makerPython package, installed from PyPI. - The packages listed in
pip_requirements.txt.
qti-package-maker is installed separately so its release can be managed independently from this
repository's dependency list.
Clone this repository, install its dependencies and qti-package-maker, then run a generator:
git clone https://github.com/vosslab/biology-problems.git
cd biology-problems
python3 -m pip install -r pip_requirements.txt
python3 -m pip install qti-package-maker
source source_me.sh
python3 problems/biochemistry-problems/alpha_helix_h-bonds.py --mc -d 5Successful generation prints each question, displays an answer-choice histogram, and creates
bbq-alpha_helix_h-bonds-MC-questions.txt in the repository root. The generated file is ignored by
Git and can be imported into Blackboard.
- docs/QUESTION_FUNCTION_INDEX.md: Browse Python generators by subject, script, and question function.
- docs/YAML_QUESTION_BANK_INDEX.md: Browse matching sets and statement banks backed by YAML.
Each generator is a standalone command. Run a script with --help to see its supported formats and
options:
python3 problems/biochemistry-problems/alpha_helix_h-bonds.py --help- docs/INSTALL.md: Prepare Python and install the required dependencies.
- docs/USAGE.md: Use common generator flags and understand generated artifacts.
- docs/QUESTION_AUTHORING_GUIDE.md: Write and review a new question generator.
- docs/CODE_ARCHITECTURE.md: Understand the generator-to-output data flow.
- docs/FILE_STRUCTURE.md: Find generators, content banks, tools, and tests.
The collection is actively maintained. The latest catalog audit recorded 178 Python generators and 98 YAML question banks across the supported biology subjects. Use the two indexes above for current coverage and docs/CHANGELOG.md for recent changes.
Platform support beyond macOS with Homebrew has not yet been confirmed.
Repository code is available under the GNU Lesser General Public License v3. Non-code educational content is available under the Creative Commons Attribution 4.0 International license.