Notebooks
Also see resources on teaching.
Teaching in the Age of LLMs
Some thoughts on teaching in the age of LLMs. I wrote a version of it after seeing Shadab Alam's post on LinkedIn (2026-02-16 Monday).
I'm teaching Python to third-year BSc Physics students who haven't taken any coding courses before at our university. Some heuristics that I am finding useful for teaching students who—to make an understatement—take help of LLMs for almost every course-related thought process:
- Convincing students—via realistic examples (e.g., reading and processing data from an excel file)—that coding teaches us to break down a large, complex problem into smaller, manageable chunks. This technique of solving problems isn't only useful for coding, but for research as well. I also mentioned Polya's idea of solving a simpler problem if the original one is too hard. I felt the students appreciated this idea.
- Telling them that the language syntax is important, but secondary for this course. I found a cheat sheet of sorts detailing basic python syntax helps here.
- Live coding in class (Git repo for my class)
- Asking the students to solve problems on a blackboard (this can be done meaningfully only in a small class).
- Analyzing LLM-generated code in class and discussing where it can be improved, for example, by pointing out unnecessarily complicated bits of code.
- Openly mentioning how they can learn from LLM (asking to explain a code block, for example), and where and how I take help from LLM (for example, to generate boilerplate code to demonstrate an idea).
- Two interesting perspectives on this: Should academics collaborate with AI? Less than you might think and
Colleges Are Surrendering to AI: Here’s a better strategy for equipping students for the age of artificial intelligence.