Which methods or algorithms to develop a learning application? I am creating a game application that will generate a new level based on the performance of the user in the previous level.
The application is regarding language improvement, to be precise. Suppose the user performed well in grammar-related questions and weak on vocabulary in a particular level. Then the new level generated will be more focused on improving the vocabulary of the user.
All the questions will be present in a database with tags related to sections or category that they belong to. What AI concepts can I use to develop an application mentioned above?
even though that's not really AI, the easiest way to do that would probably be to put coefficients on each question

e.g. your question would have something like

grammar=0.55
vocabulary=0.45
if(won){
  success=-1
}else{
  success=1
}


the lower the level, the less questions of this type will appear

at the end of the level, you sum each question times how much did the player succeed 

player.level is a real number array 

for each question{
   player.level["grammar"]=player.level["grammar"]+question.grammar*question.success
   player.level["vocabulary"]=player.level["vocabulary"]+question.vocabulary*question.success
}


then when you initialize the level, generate the questions according to the player's level
choice is a random real number between 0 and sum of all player.level (offseted to be above 0)

for each player.level{
   if choice&gt;player.level{
      choice=choice-player.level
   }else{
      return question_type=player.level.type
   }
}


though a "true" AI can make the same or better choices of questions, it will probably be slower, and require more data than a simple algorithm like this one.