pleroma.debian.social

pleroma.debian.social

The new semester started and this year I have added nine slides for my intro lecture in C++ about the use of LLMs when trying to get better at programming.

It's not on the slides but I may have mentioned the thing with fascist billionaires and pollution of our planet in my verbal commentary on the topic.

No ALT text for the attached PNG renderings of the slides. The text in the images is the text of the post itself.

This is a thread with my nine slides I presented yesterday.

* Why did they make you run laps during sports classes? Going by car is much faster.
* Why did they make you write long essays in school if a machine can write you a million essays if you ask it to?
* Why would you go to a gym if a robot could be lifting much heavier weights than you can?
* Why did you decide to go university if an LLM will give you an answer about any topic in the world? Why are you here?

1/9

None of the skills you have were acquired without having to practice

You learn best when you fail.

You learn even better when you teach.

Maybe you want to become somebody who does more than just copypasting what the machine tells them to write?

2/9

We don't write software to create software in the same way like we don't cook so that there is food. Otherwise, why don't you just always buy the food
mass-produced in a factory somewhere?

LLMs can generate a million paintings that look like they are created by an expert artist. Would you visit a gallery with these paintings? Why not?

A robot can outperform any athlete. Would you rather watch the human do sports or the robot do sports? Why?

3/9

Maybe you want your program to be more than something like a cheap T-shirt produced by underpaid labor and discarded the next day? Maybe you want to create something that lasts, which can be maintained, is secure and reliable.

3.5/9

> Programs must be written for people to read, and only incidentally for machines to execute

Harold Abelson, Structure and Interpretation of Computer Programs

> Programming is the art of abstraction, of understanding how to compose smaller indeas into bigger ones, of how to understand the automation of a larger system by understanding the rules that automate smaller ones and understanding how to combine them.

https://blog.glyph.im/2026/10/programming-isnt-special.html

4/9

> Artists understand that AI is bad for art. Why don’t programmers understand that we are artists?

https://www.aitrainingstatement.org/

4.5/9

Don't take this from me. Take this from 28 people who have been awarded the Fields Medal in mathematics.

> But solving problems is only a tool and proxy for achieving the primary goal of conceptual understanding and insight. Forgetting this in the world of AI may turn the tool against the primary goal. Indeed, the mass production at faster and faster pace of "true/false" statements could destroy fertile ground instead of breathing life into new ideas.

https://mathandai.org/

5/9

> Using 30 months of panel data on 26,811 Chinese students in grades 7-12, we study how generative AI affects homework productivity and learning. [...] AI adoption raises homework scores by 18% and reduces completion time by 30%, but lowers monthly exam scores by 20% within six months. High-stakes entrance-exam scores fall by 18 and 24%,

"The Generative AI Learning Penalty: Evidence from Chinese Secondary Education" by David Strömberg, Victor Lei, Yanhui Wu https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6868618

6/9

A graph from the paper "The Generative AI Learning Penalty: Evidence from Chinese Secondary Education" by David Strömberg, Victor Lei, Yanhui Wu. The graph shows how students who who were using genAI scored much higher in their homeworks but much lower in their exams. For students who didn't use genAI, one can see an about linear dependency between homework scores and exam scores in the graph.

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6868618

7/9

> We study the impacts of AI coding assistants and agents on software engineering work, using a novel proprietary dataset from an engineering analytics platform, covering 300 million work events -- including GitHub coding activity, Jira issues, and Google Calendar events -- across 718 firms. [...]

"Artificial Intelligence in the Firm: Bottlenecks in Software Production" by Fiona Chen and James Stratton, Harvard University https://fion.ac/jellyfish.pdf

8/9

> Both technologies increase coding productivity. However, productivity gains do not fully pass through to changes in software output or employment. For AI agents, this incomplete pass-through reflects a bottleneck from code review: review times increase, a larger share of code updates require revisions, and reviews involve more comments.

8.5/9

The best thing about computers is that they will always do the same thing given
the same input. They cannot do anything else because what they do is determined by an algorithm.

Did software become better, more reliable or more secure now that so many started using LLMs? No, now we just have more badly maintained software.

9/9

@josch BIG APPLAUSE, the first slide nails it absolutely!

@josch
I agree with you proposing options. What I feel a bit offset is that you seem to assume those options are aligned with the, let's say, end user goals?

@nk Can you elaborate what you mean?

@josch
Of course. If I may address a single example. Specifically, paraphrasing: "you will not get experience and knowledge if you outsource the work". Maybe the "knowledge and experience" is different from what you understand. Or maybe they are not the goal at all

@nk Every semester students come and ask me "professor, what can i do to pass the exam?" This is like asking "what can i do to be able to run a marathon" Unfortunately the only way to get good enough at running is to run. If you outsource the work to a machine (like a car) then you will not get better at running and you will not be able to run a marathon.

@josch
Nice point. Maybe then they want exactly what they asked — to pass the exam only?

@josch
Sorry, I believe here is the discrepancy I try to formulate. The proper wording about the marathon example could be "what can I do to be able to win a marathon". You see the difference?

@nk No, not yet. Is what you want to say that some wording in my slide is slightly off? If so, can you suggest a better wording?

@josch
It's about different goals for you and them, not the slides. You want to teach them do the things properly, they want to just pass the exam. And they told you so directly

@nk Right, it's a balance I somehow have to strike. Many just want to pass the exam, some want to go beyond that and actually get good. I have to do a little of both. Cater for those who want to maximize their exam score as well as to those who want more than that. Of course many will not touch any programming ever again after their studies. It's just part of their curriculum.

@josch Here the bit that I feel LLM proponents could push hard on - *why* is Ableson correct here?

What's the *purpose* of writing software? As you said further down the thread talking to @nk, some of your students are focused on external outcomes ("I want to pass this damn course, not learn stuff") and so are some employed programmers :-)

"LLM-to-x86 binary" exists, so ... having a response to this objection might be helpful?

@yojimbo Yes, it would be helpful. But as you know you could fill an entire lecture (probably in ethics, not in mechatronics) with this topic. But there will be many opportunities to talk about this again. These are just 9 slides. Naturally they cannot be complete for a topic this complex. And they miss the things I told them verbally. There are other popular objections they have like: "but what if the AI were 100 times smarter" or "everybody is doing it, i will be left behind if i don't" @nk

@yojimbo Ah found it! About "why is Ableson correct", as I said there are opportunities to talk about this all the time. Here is one facet of the argument. Attached is a screenshot of VPL running inside Moodle where the students program. Even those who have never programmed before agree that this looks horrible. The machine has no problem compiling this. Why would it be better if it were readable by humans? It might even earn you less money if your employer pays you by LOC. So why do it? @nk

A screenshot of a browser showing the Virtual Programming Lab (VPL) running inside the teaching platform moodle. It shows the file main.cpp showing a classic C++ hello world program with a twist: too many spaces and line breakes are used to make the program look horribly garbled.

@josch
Then I clearly do not get the point of your slides. You would like to reassure those not using LLMs that they are correct in achieving their specific goals, without addressing anyhow those who use LLMs for the goals that are different from yours?
@yojimbo

@josch Thann you! Thèse are great! I'd like to reuse part of them (I already have some on thé subject which include the env. Impact part.). Are you OK with that (I dont' see thé licence on m'y phone)?

@kfort Oh the reason that there is no license is because it's slides from a larger slide deck and I cannot pass that around because it is based on the slides from my colleagues which have an unclear licensing situation. But these 9 slides are my own work, so I can tell you that I place them in the public domain. Do with it what you like. To make this easier, here is the plain text: https://mister-muffin.de/programming1-slop.md

@josch Thank you for posting those slides! 🙌 I’m preparing a game design / game development workshop for kids and adolescents and am worried about them heavily using LLMs to make their games, instead of actually learning how to code, fail and iterate. Those arguments will come in handy. 😌

@josch @nk Ummm ... surely the code can't be looking like that all the time?? That's unuseable, and not what I thought VPL was supposed to be ...?

@yojimbo That's the point I'm trying to make, yes. If you write it like that (with all the extra spaces and linebreaks), it's unusable for the human and only usable for the machine. @nk

@josch thanks, I might end up using something like this while teaching in the future. Well put!
replies
0
announces
0
likes
1

@josch I'm going to use this in my class.

@josch @kfort Thank you!