In this Experience Report, we describe a semester-long course in which university students develop original software products to teach K–12 learners ideas in artificial intelligence (AI) and machine learning (ML). The university students develop their knowledge of AI/ML, gain skills in education research, and build expertise in software development. We test the educational software tools with K–12 learners at ``AI Expos'' held at partner public schools. We teach our university students about human-subjects research and collaboratively obtain IRB approval for the school-based work. We develop pre/post surveys and conversation questions for the K–12 participants and gather live interaction data during their use of the software tools. The university students complete final course papers which describe their tool design and present their evidence of student understanding of their AI/ML concept based on the data they have gathered. Students of this course often continue their scholarship beyond the semester, successfully submitting their work to conferences. We are developing a growing collection of software tools to teach AI/ML that are available for use by curriculum developers. For many students, the course provides their first opportunity to create a working software product used by others; seeing others use one’s system is deeply satisfying and motivational. The course also provides a full-cycle research experience, including experimental research design, data collection, analysis, and writeup; nearly all students gain their first introduction to educational research in the course. This paper presents our course design and insights from four iterations of teaching the university course.