1. On the Interplay Between Bottom-Up and Datatype-Driven Program Design
2. Avoiding the Turing Tarpit: Learning Conversational Programming by Starting from Code’s Purpose
3. Michael de Raadt, Richard Watson, and Mark Toleman. 2009. Teaching and Assessing Programming Strategies Explicitly. In Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95 (Wellington, New Zealand) (ACE '09). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 45--54. http://dl.acm.org/citation.cfm?id=1862712.1862723
4. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2018. How to Design Programs: An Introduction to Programming and Computing 2 ed.). MIT Press. https://htdp.org/
5. Kathi Fisler Shriram Krishnamurthi Benjamin S. Lerner and Joe Gibbs Politz. 2023. A Data-Centric Introduction to Computing. Published on-line. https://dcic-world.org/ accessed 2023-07--29.