One key challenge for instructors is creating high-quality educational content, such as programming practice questions for introductory programming courses. While Large Language Models show promise for this task, their output quality can be inconsistent, and it is often unclear how to systematically improve their performance. In this experience report, we present the development process for ContentGen, a prototype tool that generates programming questions within the context of data science instructional materials. We describe our process of designing the tool and iteratively improving the tool through prompt engineering. To evaluate our changes, we constructed a dataset of examples from our courses and developed three metrics to assess the generated questions: Correctness, Contextual Fit, and Coherence. We compare three prompting strategies and find that including an automatically generated summary of the lecture content as context in the prompt substantially improves the quality of the generated questions across our metrics. A usability study with data science instructors further suggests that our final prototype is perceived as useful and effective. Our work contributes a case study of evidence-based prompt engineering for an educational tool and offers a practical approach for instructors and tool designers to evaluate and enhance LLM-based content generation.