1. A method, comprising: receiving, from a first user at a first educational institution through a first user electronic interface adapter, a first set of questions; receiving, from a second user at a second educational institution through a second user electronic interface adapter, a second set of questions; combining, in a data storage, the first set of questions and the second set of questions into a global question bank; displaying, to the first user through a first display adapter, questions from the global question bank; receiving, from the first user through the first user electronic interface adapter, a selection of questions from the global question bank and a difficulty for each question of the selection of questions; generating, in the data storage, a proficiency examination from the selection of questions; displaying, to a student through a second display adapter, a first random question of a first question type from the proficiency examination; receiving, from the student through a third user electronic interface adapter, a first answer corresponding to the first random question; determining, in a processor, if the first answer is a correct answer for the first random question; if the first answer is the correct answer, increasing a current difficulty; if the first answer is not the correct answer, decreasing the current difficulty; and calculating, in the processor, a number of questions displayed to the student of the first question type; if the number of first question types displayed exceeds a first question type threshold then displaying, to the student through the second display adapter, a second random question of a second question type at the current difficulty; and if the number of first question types displayed does not exceed the first question type threshold then displaying, to the student through the second display adapter, a second random question of the first question type at the current difficulty.
1. A method, comprising: receiving, from a first user at a first educational institution through a first user electronic interface adapter, a first set of questions; receiving, from a second user at a second educational institution through a second user electronic interface adapter, a second set of questions; combining, in a data storage, the first set of questions and the second set of questions into a global question bank; displaying, to the first user through a first display adapter, questions from the global question bank; receiving, from the first user through the first user electronic interface adapter, a selection of questions from the global question bank and a difficulty for each question of the selection of questions; generating, in the data storage, a proficiency examination from the selection of questions; displaying, to a student through a second display adapter, a first random question of a first question type from the proficiency examination; receiving, from the student through a third user electronic interface adapter, a first answer corresponding to the first random question; determining, in a processor, if the first answer is a correct answer for the first random question; if the first answer is the correct answer, increasing a current difficulty; if the first answer is not the correct answer, decreasing the current difficulty; and calculating, in the processor, a number of questions displayed to the student of the first question type; if the number of first question types displayed exceeds a first question type threshold then displaying, to the student through the second display adapter, a second random question of a second question type at the current difficulty; and if the number of first question types displayed does not exceed the first question type threshold then displaying, to the student through the second display adapter, a second random question of the first question type at the current difficulty. 8. The method of claim 1 , in which generating a proficiency examination comprises generating a language proficiency examination.