







Open answers to a reader's letter.
How to keep learning in the age of LLMs | Oğuzhan Olguncu
Notes on how I keep learning as a programmer in the age of LLMs

Learnable Programming
Here's a trick question: How do we get people to understand programming?
Motivating Adult Learners by Introducing Programming Concepts with Scratch
Novice programmers usually fail to combine abstract concepts and knowledge into program design, even though they know the syntax and semantics of individual statement. Adult novice programmers with little computer background knowledge might face more ...

Effective Learning Strategies for Programmers - Allison Kaptur
In early September I gave a keynote at Kiwi PyCon in New Zealand on effective learning for programmers. There were two pieces to the talk: one about …
How Beginning Programmers and Code LLMs (Mis)read Each Other
As part of the Digital Library's transition to Open Access, new features for researchers are available in the Premium Edition. Click here to learn more.


Learning to code is overrated: An accomplished programmer would rather his kids learn to read and reason
Mayor de Blasio is winning widespread praise for his recent promise that, within 10 years, all of New York City’s public schoolchildren will take computer science classes. But as a career programmer who founded two successful software…

The End of Programming as We Know It
With the O’Reilly learning platform, you get the resources and guidance to keep your skills sharp and stay ahead. Try it free for up to 14 days.

Programming Language Design in the Era of LLMs: A Return to Mediocrity?
The most exciting part of Programming Languages (PL) research for me has always been in Programming Language Design.
Why Computing Students Should Contribute to Open Source Software Projects
Learning to program is—for many practical, historical, as well as some vacuous reasons—a rite of passage in probably all computer science, informatics, software engineering, and computer engineering courses. For many decades, this skill would reliably set computing graduates apart from their peers in other disciplines. In this Viewpoint, I argue that in the 21st century programming proficiency on its own is neither representative of the skills that the marketplace requires from computing graduates, nor does it offer the strong vocational qualifications it once did. Accordingly, I propose that computing students should be encouraged to contribute code to open source software projects through their curricular activities. I have been practicing and honing this approach for more than 15 years in a software engineering course where open source contributions are an assessed compulsory requirement.2 Based on this experience, I explain why the ability to make such contributions is the modern generalization of coding skills acquisition, outline what students can learn from such activities, describe how an open source contribution exercise is embedded in the course, and conclude with practices that have underpinned the assignment's success.

The two worlds of programming: why developers who make the same observations about LLMs come to opposite conclusions
Writing at the end of the world, from Hveragerði, Iceland
Computational Thinking for All Students
Posted by Maggie Johnson, Director of Education and University Relations, Google(Crossposted on the Google for Education Blog, and the the Huffingt...

Teach Yourself Programming in Ten Years
The conclusion is that either people are in a big rush to learn about programming, or that programming is somehow fabulously easier to learn than anything else. Felleisen et al. give a nod to this trend in their book How to Design Programs, when they say "Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies." The Abtruse Goose comic also had their take.
Learn To Code, It’s Harder Than You Think
TL;DR: All the evidence shows that programming requires a high level of aptitude that only a small percentage of the population possess. The...
How To Think Like A Programmer
Knuth: Literate Programming
This book is the first in a series of eight volumes that contain archival forms of my published papers, together with new material.