27. A computer-implemented method for crafting a language learning pedagogy comprising: identifying, by the computer, in a record of a learner stored in a user data store a set of one or more ability scores of the learner, wherein the record of the learner contains a language proficiency level associated with the learner, and wherein the language proficiency level of the learner comprises one or more ability scores for one or more language skills; parsing, by the computer, one or more keywords from text of one or more resources stored in a resource store; determining, by the computer, for each respective keyword, a word difficulty score associated with the respective keyword; generating, by the computer, a plurality of distractors of one or more types of distractors using the one or more keywords parsed from the text of the one or more resources, each respective distractor having a distractor difficulty score based upon the word difficulty score of the respective keyword used to generate the respective distractor; identifying, by the computer, in the record of the learner a set of one or more learner preferences comprising one or more content interests of the learner; determining, by the computer, a type of learning activity for exercising a language skill based on an ability score of the learner at the language skill; selecting, by the computer, from the plurality of distractors a set of one or more distractors generated using the one or more keywords parsed from the text of a resource associated with a type of content corresponding to a content interest of the learner indicated by the record of the learner, wherein the computer further selects each distractor of the set of distractors according to the determined type of learning activity and a distractor difficulty score of the respective distractor, and wherein the distractor difficulty score of each distractor in the set of selected distractors is comparable to the one or more ability scores of the record of the learner; generating, by the computer, one or more graphical user interfaces configured to display the learning activity of the activity type at a second computer associated with the learner, wherein the learning activity comprises the set of distractors; and generating, by the computer, a lesson comprising a set of one or more learning activities according to a learner goal in the learner preferences.
27. A computer-implemented method for crafting a language learning pedagogy comprising: identifying, by the computer, in a record of a learner stored in a user data store a set of one or more ability scores of the learner, wherein the record of the learner contains a language proficiency level associated with the learner, and wherein the language proficiency level of the learner comprises one or more ability scores for one or more language skills; parsing, by the computer, one or more keywords from text of one or more resources stored in a resource store; determining, by the computer, for each respective keyword, a word difficulty score associated with the respective keyword; generating, by the computer, a plurality of distractors of one or more types of distractors using the one or more keywords parsed from the text of the one or more resources, each respective distractor having a distractor difficulty score based upon the word difficulty score of the respective keyword used to generate the respective distractor; identifying, by the computer, in the record of the learner a set of one or more learner preferences comprising one or more content interests of the learner; determining, by the computer, a type of learning activity for exercising a language skill based on an ability score of the learner at the language skill; selecting, by the computer, from the plurality of distractors a set of one or more distractors generated using the one or more keywords parsed from the text of a resource associated with a type of content corresponding to a content interest of the learner indicated by the record of the learner, wherein the computer further selects each distractor of the set of distractors according to the determined type of learning activity and a distractor difficulty score of the respective distractor, and wherein the distractor difficulty score of each distractor in the set of selected distractors is comparable to the one or more ability scores of the record of the learner; generating, by the computer, one or more graphical user interfaces configured to display the learning activity of the activity type at a second computer associated with the learner, wherein the learning activity comprises the set of distractors; and generating, by the computer, a lesson comprising a set of one or more learning activities according to a learner goal in the learner preferences. 30. The method according to claim 27 , further comprising: scoring, by the computer, each learning activity performed by the learner; and updating, by the computer, one or more learner capabilities based one or more scores associated with each of the learning activities in the lesson.