Live data from Hacker News

The Missing Semester of Your CS Education – Revised for 2026

missing.csail.mit.edu

111–120 of 139 posts

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

#111

As it's hosted on CSAIL, I was somewhat disappointed by the code quality section: https://missing.csail.mit.edu/2026/code-quality/ Although it's specifically code quality, not software quality, I feel so much is missing. Of course there is no space to explain it in detail, but they could at least list/mention things like complexity, maintainability, modularity etc.

I watched this YouTube video

Two decades of Git: A conversation with creator Linus Torvalds

https://www.youtube.com/watch?v=sCr_gb8rdEI

I was surprised that he only spent four months on it as a maintainer. What a great piece of work by a great software developer.

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

#112

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

I think I would do it more like:

  find /bin/ /usr/bin/ /sbin/ /usr/sbin/ -executable -type f -exec whatis "$(basename {})" \; | sort -u > commands.txt

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

#113
post #69

Earlier quoted context omitted.

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

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

Depends on the instrument. Anyone without experience or instruction is gonna make a fool of themselves picking up a wind instrument. You need to train the muscles in your face and mouth to form the correct embouchure needed to produce a clear note.

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

#114
post #86

Earlier quoted context omitted.

Git is a cli software. If you find yourself repeating a set of commands, what you should do is abstract it using an alias or a script. And you will have you own nice interface.

That's a cop out. Not every CLI sucks so bad it needs a wrapper.

No it's not -- powerful CLIs with lots of features are made to be wrapped

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

#116
post #15

I have a bit of unsolicited feedback (in this terms): the basic IT skills, not CS or CE, but IT, that everyone needs but most don't realize, including techies who often stay in their bubble and don't truly understand the classic desktop model despite having the skills to do so, are a bit different IMVHO: - first of all, you need to know how to manage your own digital information. Even though it's taken for granted th…

I work in IT and can’t tell you the number of talented software engineers I’ve worked with who were just as bad (or worse) than the most tech illiterate HR person you could imagine. I’d add basic troubleshooting methodology to this list. So many engineers assume they know the problem and start headbashing a fix without bothering to evaluate the scope of a problem, form a hypothesis, or validate that their assumed fix actually worked.

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

#117
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 has poor design because it forces users to learn its model of things rather than meeting users where they are. There’s way too many leaky abstractions that pop out as soon as you stray from the happy path, and you might not even know you’re straying when you do it.

Instead, the complexity of your mental model should scale with the complexity of the thing you’re trying to do. Writing a “hello world” in Java does not require a mental model of all of the powerful things Java can do.

We want CS 101 students to use version control but for a lot of them it will also be their first time using a CLI and a programming and also the underlying CS concept.

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

#118
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.

There’s inherent beauty in mastering the piano. It’s worth it to spend time practicing.

Git is just a means to an end. Heck, it’s usually a means to a means to an end: it is only a tool for version control of code, and the code itself is just a means to education or running the actual business.

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

#119

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

I think I would do it more like: find /bin/ /usr/bin/ /sbin/ /usr/sbin/ -executable -type f -exec whatis "$(basename {})" \; | sort -u > commands.txt

You would need to make those double-quotes into single-quotes. Double-quotes will interpolate the $() immediately, running basename before find runs. Single-quotes will not interpolate the $(), so the whole string gets passed to find for it to execute each time

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

#120
post #86

Earlier quoted context omitted.

That's a cop out. Not every CLI sucks so bad it needs a wrapper.

No it's not -- powerful CLIs with lots of features are made to be wrapped

Even as a CLI it’s not great. git checkout is extremely overloaded.
Post reply on HN