A magazine about programmers, code, and society. Written by and for humans since 2018.

Welcome to the 75th issue of De Programmatica Ipsum, about Teaching Programming. In this edition, we argue that we should embrace LLMs in the classroom, but only if we are aware of their shortcomings; in the Library section, we review decades of research trying to answer the question: how can we best teach programming to younger generations?; and in our Vidéothèque section, we watch "Programming Paradigms" by Professor Jerry Cain of Stanford University.

Last month, OpenAI, the company (in)famous for their ChatGPT product, released a course called "ChatGPT Foundations for K-12 Educators", an event that has raised more than a few eyebrows, and even some outrage. We must have a serious conversation about the value of a bullshit generator in the context of teaching programming skills to new generations.

The late 2000s were an interesting time for online education. The wider availability of faster and more reliable bandwidth led to an explosion of online video. This, in turn, led to the emergence of an ever-expanding number of providers of online learning services, and then to a wave of "Massive Open Online Courses" or MOOCs, many of which were offered by large universities and high schools all over the world. This month's Vidéothèque movie is a full playlist featuring one of the earliest (and, in the opinion of this author, one of the most useful) examples of an online programming course.

The problem of teaching programming skills to new generations of software engineers is as old as the computers themselves. Each generation has tried to do it in a slightly different way, with various degrees of success. There is a lot of literature available online about the subject, and in this article we will point out papers and books that we found to be the most noteworthy. By no means this is an exhaustive list, but it features some interesting entries that might serve as a starting point for your own research.

Back to top