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.
The Missing Semester of Your CS Education – Revised for 2026
131–139 of 139 posts
Re: The Missing Semester of Your CS Education – Revised for 2026
#132I'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"
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
#133Great 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 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
#134Re: The Missing Semester of Your CS Education – Revised for 2026
#135Earlier 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.
Re: The Missing Semester of Your CS Education – Revised for 2026
#136Thanks!
Re: The Missing Semester of Your CS Education – Revised for 2026
#137I'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
#138Great 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 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. :)
Re: The Missing Semester of Your CS Education – Revised for 2026
#139How about including a course in touch-typing that emphasizes the computer keyboard rather than the typewrite keyboard?