Computer Science
Learning time complexity is a critical part of improving students’ algorithmic thinking skills.
Typically, teachers might have students read about comparisons between different time complexities (logarithmic, quadratic, etc.), along with example algorithms for each. Or, teachers may talk through examples with slides or by playing an instructional YouTube video.
With Flint, teachers can take pre-existing static content and turn it into an interactive experience tailored to each student's level. Below, we can see that the teacher has entered a learning objective into Flint, along with a textbook chapter covering examples of time complexity as well as a YouTube video on the topic:
Based on the information provided by the teacher, Flint automatically creates an AI tutor that will give students examples of practical engineering problems and then ask students to identify the optimal time complexity.

Because the uploaded textbook chapter had examples given in Python, the AI tutor will also provide code in Python. However, the teacher can customize this behavior by using the “revise” feature to ask the AI to provide coding snippets in Java (or any other language) instead.

Once students start a session with this AI tutor, they’ll immediately get practice in identifying time complexity based on real-life examples.

Once students correctly describe the time complexity, the AI will provide them with a code snippet and will ask them to write the time complexity using Big O notation.
If the student needs extra help in understanding time complexity, they can ask additional questions to the AI, which can use graphing when appropriate to better explain the concept.





