One of the first steps in learning how to program is reading and tracing existing code. In order to avoid the error-prone task of generating variations of a tracing exercise, our tool TATSU generates instances of a given code skeleton automatically. This is achieved by a finite unwinding of the program in the style of bounded model checking and using the SMT solver Z3 to find models for this unwinded program.* We would like to thank Stefan Podlipnig for his continuing support and input on the paper. His lead in the introductory programming course for computer science on TU Wien with his ideas for TATSU made this work possible. We would also like to thank Nikolaj Bjørner for his help with integrating Z3 in TATSU.1 https://git.logic.at/ep1-tools/tatsu-generator
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.