Live data from Hacker News

The Missing Semester of Your CS Education – Revised for 2026

missing.csail.mit.edu

61–70 of 139 posts

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

#61
post #45

Honestly shocked ethics aren't discussed more as the "missing semester," too many devs are completely fine working for truly evil companies.

Is a moral compass something you can teach someone in a short course if they have been lacking it so far in their entire lives?

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

#62
post #12

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…

It seems most people learn git only through necessity. I've heard people say "I just want to code, I don't care about the peripherals". JIT learning is a good way to acquire capabilities with real-world application, but there is not JIT pull that forces people to learn about bisect, git objects, git logging, etc. These things can only be learnt either through setting off time to read documentation or by being taught…

I see this enough that I don’t bother ranting about it. There’s the free “Pro Git” (on the git homepage) that will teach you most of what you”ll need in a lifetime. But you tell people about rebase and the reflog and their eyes glaze over.

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

#63

Earlier quoted context omitted.

> If most people are not using a tool properly, it is not their fault; it is the tool's fault. This is a standard that we don't apply to most other tools outside of IT. I do think git could be more usable, but most powerful tools have sharp edges and require training. A bandsaw is a fantastic tool, but if you try to use one without reading about it first, you'll end up losing a finger. I'm not sure I'd blame the band…

Then again, the number of shop teachers missing a finger would give anybody pause. Blame is secondary to the fact that you just lost your fucking finger . Thankfully, git's sharp edges won't permanently physically maim you, though guts sharp edges resulting in you committing API keys GitHub can still hurt you, just in your wallet but at least you didn't lose a finger.

Contrast with:

https://old.reddit.com/r/todayilearned/comments/158lp0m/comm...

>My high school shop teacher, before he let any of us near the machines or power tools, told us horror stories about students who lost fingers and eyes by being careless with them. For the entirety of that semester, nobody got so much as a chipped fingernail.

which is a better match for my experience --- the best advice I ever got was from my high school shop teacher:

>Before turning on the power switch, count to ten under your breath on all your fingers while visualizing all the forces involved and all the ways the operation could go wrong, then remind yourself that you want to be able to repeat that count after turning the power off.

I don't think Sawstop would have a business model if all tablesaw injuries were tried by a jury of such shop teachers (heard him scream at the kid who removed a guard through hearing protection all the way on the other side of the shop around a corner while operating a lathe while making a heavy interrupted roughing cut w/ a chisel I really should have paused to sharpen --- the student was banned from ever entering the shop again).

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

#65
post #45

Honestly shocked ethics aren't discussed more as the "missing semester," too many devs are completely fine working for truly evil companies.

MIT already has an excellent class on Ethics for Engineers: https://e4e.mit.edu/

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

#66
If you want to master the shell (it will save years of your life), follow these guides. I highly recommend reading the entire BASH manual, it will answer every question you'll ever have, or at least give you a hint about it, as well as expose you to all the hidden knowledge (some call it "gotchas") you'll wish you knew later.

  101
  - Bash for Beginners (https://tldp.org/LDP/Bash-Beginners-Guide/html/)
  - Bash Tutorial (https://www.w3schools.com/bash/)

  201
  - Bash Programming (https://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html)
  - Advanced Bash Scripting Guide (https://tldp.org/LDP/abs/html/)

  301
  - The Bash Manual (https://www.gnu.org/software/bash/manual/bash.html) (https://man7.org/linux/man-pages/man1/bash.1.html)
  - ShellCheck (https://www.shellcheck.net/)
To find every Unix-y program and get a 1-line description of it (and referenced programs/functions), run:

  for i in $(ls /bin/* /usr/bin/* /sbin/* /usr/sbin/* | sed -E 's?.*/??g' | sort -u) ; do
    echo "command: $i"
    whatis "$(basename "$i")" | cat
    echo ""
  done | tee command-descriptions.log
View 'command-descriptions.log' with less command-descriptions.log, use arrow-keys and page up/down to navigate, and type 'q' to exit. To find out more about a program like df(1), run man 1 df.

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

#68
post #48

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…

Your workflow makes sense for FOSS projects, where the commit is the unit of work. In my experience, on most professional teams, the PR is the unit of work. PRs trigger CI/CD pipelines. PRs map to tickets. The meaningful commit goes with the squash merge to the shared dev/main branch. There are cases where I've staged commits this way for a PR, to make it more reviewable. I'd usually rather split them off into separa…

[deleted]

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

#69

Earlier quoted context omitted.

> If most people are not using a tool properly, it is not their fault; it is the tool's fault. Replace tool with one of piano|guitar|etc and see your logic fall apart. Software tools like any other have a manual and require effort and time to learn.

modern instruments are actually improved designs of older instruments which were just that: badly-designed & hard to use

Modern instruments are still difficult to use unless you spend time learning how to. Just like git.
Post reply on HN