Live data from Hacker News

The Missing Semester of Your CS Education – Revised for 2026

missing.csail.mit.edu

91–100 of 139 posts

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

#91
post #47
post #27

Earlier quoted context omitted.

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…

> If most people are not using a tool properly, it is not their fault; it is the tool's fault. I would say that is a reasonable criticism of git ... but I've seen the same thing in svn, perforce, cvs, and rcs. Different variations of the same issue of people not caring about the version history. Since it's been a problem since the dawn of version control, it is either something that is part of all version control bei…

> problem since the dawn of version control ... a tool's fault ... or it is something that people aren't caring about.

At the start of my career I ended up in a UI position. Old school usability on the back side of a 2 way mirror.

The tool has lots of shortcomings: images, documents that aren't text, working with parts of repositories... These aren't issues faced by the kernel (where emailing patches is the order of the day). And these shortcomings have lead to other tools emerging and being popular, like artifactory, journaling file systems, and various DAM's.

Technology on the whole keeps stacking turtles rather than going back to first principles and fixing core issues. Auth (DAP, LDAP, and every modern auth solution). Security (so many layers, tied back to auth). Containers and virtualization (as a means of installing software...). Versioning is just one among this number. We keep stacking turtles in the hope that another layer of abstraction will solve the problem, but we're just hiding it.

One of the few places where we (as an industry) have gone back and "ripped off the bandaid" is Systemd... It's a vast improvement but I would not call it user friendly.

Usability remains a red headed step child, its the last bastion of "wont fix: works for me" being an acceptable answer.

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

#92
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/

Clearly failing the students seeing how they still work for evil companies.

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

#93
post #80

Earlier quoted context omitted.

What things to learn are more important for "engineers" than using VC messages and history for communicating adequately (including communicating with themselves in the future) and using VC merging, staging etc. to put source code in a good state that they intend to build, share and archive? Irreproducible or incomprehensible work is worse than nothing.

That’s akin to saying the most important thing for an author is to use a word professor correctly.

I'd argue its like saying its important for an author to write an entire book using ed.

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

#94

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…

A big part of the problem is being permitted to teach this stuff. As a UK CS grad from the early-2000s, my observation was that academic staff recognized the need for these skills. They weren't permitted to teach it due to time available and the view that it wasn't academic. Thankfully, my university's CS department offered courses in these kinds of topics taught by the support staff (read: sysadmins). These courses existed to help other departments with skills but were open to students.

Fast forward twelve years and my wife did the MCIT at UPenn (https://catalog.upenn.edu/graduate/programs/computer-informa...) where git and other topics woven into the curriculum. Even then, they were perhaps a novelty because their focus was bringing non-CS undergrads into a CS Masters program. So-called "conversion" master's degrees were the norm in the UK in 2002.

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

#95

Just wondering - do you include information on interviewing, salary negotiation, communication with management, leading teams, and maybe topics on career progression? These would have been very useful to me back when I was in the university.

Not at the moment, but it's a good idea for the next iteration of the class!

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

#96

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"

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

#97

Earlier quoted context omitted.

Right on. Git is good at what it does, but its CLI is too low-level. It feels more like an assembly language than an end-user language, and a haphazard one at that. There are wrappers that make it much more approachable. IntelliJ’s Git frontend, for example, is pretty nice.

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.

My git experience got a lot better after I built scripts and customized the git config files to fully exploit:

  git-log --graph --reflog

  git-commit --amend

  git-cherry-pick
Also, becoming fluent with creation of and switching between local, short-lived branches.

With the above in order, I found I could subset the git state model:

* temporary branches rather than the "stash"

* commit tentative work to HEAD; amend, discard or set aside in a temporary branches rather than as later discoveries require

* side-step the index/cache/staging_area for most operations -- transfer directly between work tree and HEAD commit

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

#98

I'd suggest adding software testing and QA, particularly with the rise in AI and agentic coding requiring better testing skills, but that would deserve an entire separate course all of its own.

I would hope any CS/Software engineering education would already include QA. Both a testing course and a general software quality course.

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

#100
post #33
post #17

Earlier quoted context omitted.

I don't think students in 2026 need any encouragement to use LLMs, but sure, it would be strange if the LLM companies didn't give away student plans cheaply.

I don't see the lock in effect (such as learning a language, or a complex software product) with LLMs yet that would drive student based marketing efforts.

Recent changes in Claude Code show the tendency of locking in.
Post reply on HN