Intelligent Computer Assisted Language Learning (ICALL), or Intelligent Computer Assisted Language Instruction (ICALI), involves the application of computing technologies to the teaching and learning of second or foreign languages. ICALL combines Artificial intelligence with Computer Assisted Language Learning (CALL) systems to provide software that interacts intelligently with students, responding flexibly and dynamically to student's learning progress.
Natural language processing (NLP) and Intelligent tutoring systems (ITS) are prominent computing technologies in artificial intelligence that inform and influence ICALL. Other computing technologies applied to ICALL include Knowledge representation (KP), Automatic Speech Recognition (ASR), Neural networks, User modelling, and Expert systems. In relation to language learning, ICALL utilizes linguistic theory and theories of second-language acquisition in its pedagogy.