This work presents an intelligent algorithm teaching interface agent (ATIA) that teaches algorithms. This agent is autonomous, goal-driven, dynamic and collaborative, and acts as a mediator between the student and the tutoring environment. It monitors the student's habits and weaknesses to adapt its didactic directions based on his/her interests and preferences. This approach facilitates the reusability of this agent in different tutoring domains, such as iterative and recursive algorithms. ATIA offers to students a common, flexible and customizable interface that they can use for different algorithms. It explains an algorithm at various levels of abstraction. Each level is designed to present a single operation used in the algorithm. Operations are shown in a textual form of a pseudocode with an associated visualization. ATIA can make changes to the schedule of the algorithm lessons based on the student's performance. To demonstrate and evaluate the feasibility of the proposed agent, we describe a prototype, which is being developed.