Live data from Hacker News

The Missing Semester of Your CS Education – Revised for 2026

missing.csail.mit.edu

131–139 of 139 posts

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

#131
I think we might need to take a hard look at the higher end path of CS and ask why we're not focused more on Software Engineering.

Research is great, but if wre trying to train people to make real things, there's a whole different set of skills where you only need a thin vineer of CS training and a deeper understanding of software maintenance.

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

#132

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 fo…

I prefer comments like "I'm sorry about this, I know it's ugly but I'm in a rush and it's the quickest way to get it working"

Would your Grandma approve of you introducing that technical debt?

That’s why it’s important to write comments as if to your grandparents. For the feelings of accountability that it engenders.

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

#133
post #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 your…

I haven’t used jj but isn’t that exactly what it’s meant to be?

I believe git is architecturally sound and well designed, but the command line syntax can be overly confusing and opaque.

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

#135
post #104

Earlier quoted context omitted.

No they're easy to use. They're hard to master. Git is hard to figure out how to even upload to.

Git is much easier to master than the piano. I played piano for years and can only just play two-handed melodies if they aren't well-aligned. I've read a few blog posts and half a book on git, and I don't remember the last time I had issues with it. I also don't recall a junior ever having trouble uploading files with git. Unless they're in an interactive rebase, which wouldn't happen your first time trying out git.

Yes, but it's not as easy to USE as a piano is! My 4 year old niece can play a piano, but her comprehension of Git is extremely poor.

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

#137
I bailed the second I saw AI mentioned, I'd rather learn to do things myself than ask chatgpt to hallucinate up a program for me. I am really hoping AI goes the way of the NFT soon and humanity goes back to actually creating stuff themselves.

I'd ask chatgpt if the AI bubble will pop any time soon but it will probably tell me something unrelated and/or completely incorrect and I would just have to go find the answer on Google anyway. Maybe I should ask chatgpt if any of these AI companies will ever manage to make it out of the red.

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

#138
post #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 your…

Git is better in some ways, but it is insanely complicated. That matters less now with AI tooling but still there was a time when we all had many choices (commercial and open source) for source control tools. My canonical example is git checkout -b for a new branch, git branch -D to delete the local branch and git push origin :.

I know that that is the old syntax but holy hell, that's insane. Why couldn't it always have been git branch --create|delete|delete-remote? It could have but Linus doesn't care about your feelings or small brain. :)

Post reply on HN