My workflow has been to read the textbook then brainstorm a relevant miniproject with Gemini, distilled down to a 1-2 paragraph "programming challenge".
Then I go think about it, do more research, and hand code the educational parts (using Claude Code for routine stuff)