Live data from Hacker News

The Missing Semester of Your CS Education – Revised for 2026

missing.csail.mit.edu

21–30 of 139 posts

Re: The Missing Semester of Your CS Education – Revised for 2026

#21
I'd include sed and awk, because these tools are ubiquitous and can accomplish in a few readable lines what people write long programs to handle in other languages, seemingly because they are unaware of sed and awk, don't know how to use them, or are required for some reason to do it in the project language.

In fact, generally teaching people to select the right tool for the job is a good skill to prevent them from using golden hammers.

Re: The Missing Semester of Your CS Education – Revised for 2026

#22

Great to see a chapter on version control. It is such a shame that almost no CS program teaches proper version control. VCSs and the commit history can be such a tremendously valuable tool when used correctly. git bisect/blame/revert/rebase/… become so much less useful when VC is treated as a chore and afterthought, and basically amounts to: “Feature is done, my work is complete, just do `git commit -am "changes"` an…

This feels harsh. Engineers have an endless list of other things to learn that are arguably more important, and it isn’t always worth understanding all the weird edge cases that almost never pop up (to say nothing of Git’s hostile, labyrinthine UX that one would have to deal with).

It's absolutely worth taking the time to learn `jj`, for example, but `jj`'s ideas build on top of `git`'s ideas. If you don't know why it's important that commits reference their parents, for example, that's limiting your knowledge of how VCS works in important ways.

A compromise/synthesis: everyone should absolutely learn how git works internally, but not necessarily how to use the git-specific porcelain/tooling/CLI

Re: The Missing Semester of Your CS Education – Revised for 2026

#23
post #10

Is there even a point learning CS now with the rapid progress of agentic coding? It seems like a complete waste of money and time.

Is there any point in teaching aviation engineering when an LLM could probably generate something that looks reasonable from a corpus existing work?

Most “cs” students don’t work in aviation, majority (statistically) work on yet another SaaS that is a CRUD that has been solved millions of times already.

Re: The Missing Semester of Your CS Education – Revised for 2026

#24

Earlier quoted context omitted.

Is there any point in teaching aviation engineering when an LLM could probably generate something that looks reasonable from a corpus existing work?

Most “cs” students don’t work in aviation, majority (statistically) work on yet another SaaS that is a CRUD that has been solved millions of times already.

> majority (statistically) work on yet another SaaS that is a CRUD that has been solved millions of times already.

Not necessarily going to be true by the time current first year students graduate, given that solved problems are most exposed to AI acceleration.

Re: The Missing Semester of Your CS Education – Revised for 2026

#25
I'm glad to see there is a "Beyond the Code" section that discusses comments. Here's what I typically told my students in Intro to Programming" Good comments lend insight into the code. Reading the code itself tells you the what. Comments should explain the why. Comments like "i+=1; /* Increment i */" are of little value. However comments such as "We increment i mid loop so that we can peek ahead at the next value for a possible swap" are more useful. Use a narrative voice when writing comments, like you are explaining the code to your grandparent. This make digestion easier. Remember, code spends most of its life, and most of its expense, in the maintenance phase. The easier you make your code to understand, the less it will cost and the longer it will live.

Re: The Missing Semester of Your CS Education – Revised for 2026

#26
post #10

Is there even a point learning CS now with the rapid progress of agentic coding? It seems like a complete waste of money and time.

Yes. Agents are good at solving densely represented (embarrassingly solved) problems, and a surprising and disturbing number of problems we have are, at least at the decomposed level, well represented. They can even compose them in new ways. But for the same reason they would be unable to derive general relativity, they cannot use insight to reformulate problems. I base this statement on my experience trying to get them to implement Flying Edges, a parallel isosurface extraction algorithm. It’s a reformulation of marching cubes, a serial algorithm that works over voxels, that works over edges instead. If they’re not shown known good code, models will try and implement marching cubes superficially shaped like flying edges.

You are still necessary to push the frontier forward. Though, given the way some models will catch themselves making a conceptual error and correct in real time, we should be nervous.

Re: The Missing Semester of Your CS Education – Revised for 2026

#27

Great to see a chapter on version control. It is such a shame that almost no CS program teaches proper version control. VCSs and the commit history can be such a tremendously valuable tool when used correctly. git bisect/blame/revert/rebase/… become so much less useful when VC is treated as a chore and afterthought, and basically amounts to: “Feature is done, my work is complete, just do `git commit -am "changes"` an…

If most people are not using a tool properly, it is not their fault; it is the tool's fault.

Git is better than what came before, and it might be the best at what it does, but that does not mean that it is good.

- The interface is unintuitive.

- Jargon is everywhere.

- Feature discoverability is bad.

- Once something goes wrong, it is often more difficult to recover. If you're not familiar enough with Git to get yourself into that situation, then you certainly aren't familiar enough to get yourself out of it.

Many of those issues are due to git being a command line interface, but others (like no general undo and funny names) are simply due to bad design.

I think it is about time that we try again and build a better version control tool, but maybe git is just too entrenched.

Re: The Missing Semester of Your CS Education – Revised for 2026

#28

Great to see a chapter on version control. It is such a shame that almost no CS program teaches proper version control. VCSs and the commit history can be such a tremendously valuable tool when used correctly. git bisect/blame/revert/rebase/… become so much less useful when VC is treated as a chore and afterthought, and basically amounts to: “Feature is done, my work is complete, just do `git commit -am "changes"` an…

So much this. Once you get beyond the very basics, git is a code editing tool as much as your editor/ide is

Re: The Missing Semester of Your CS Education – Revised for 2026

#29
post #10

Is there even a point learning CS now with the rapid progress of agentic coding? It seems like a complete waste of money and time.

Depends on whether one wants to be a software engineer or a mere LLM operator.

To be fair to the parent poster, many people do seem to aspire only to be LLM operators, who will be a dime-a-dozen commodities accorded even less respect and pay than the average developer is today.

Re: The Missing Semester of Your CS Education – Revised for 2026

#30
post #26
post #10

Is there even a point learning CS now with the rapid progress of agentic coding? It seems like a complete waste of money and time.

Yes. Agents are good at solving densely represented (embarrassingly solved) problems, and a surprising and disturbing number of problems we have are, at least at the decomposed level, well represented. They can even compose them in new ways. But for the same reason they would be unable to derive general relativity, they cannot use insight to reformulate problems. I base this statement on my experience trying to get t…

I've had the same experience. I do a lot of automation of two engineering software packages through python and java APIs which are not terribly well documented and existing discussion of them on the greater web is practically nonexistent.

They are completely, 100% useless, no matter what I do. Add on another layer of abstraction like "give me a function to calculate " and they get even worse. I had a small amount of luck getting it to refactor some really terrible code I wrote while under the gun, but they made tons of errors I had to go back and fix. Luckily I had a pretty comprehensive test suite by that point and finding the mistakes wasn't too hard.

(I've tried all of the "just point them at the documentation" replies I'm sure are coming. It doesn't help)

Post reply on HN