The Missing Semester of Your Cs Education (2020)
Posted2 months agoActive2 months ago
missing.csail.mit.eduTechstory
supportivepositive
Debate
20/100
Cs EducationSoftware EngineeringDeveloper Tools
Key topics
Cs Education
Software Engineering
Developer Tools
The 'Missing Semester of Your CS Education' course from MIT covers practical skills like Linux, command line, and git, sparking discussion on the importance of such topics in CS education.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
14m
Peak period
23
0-6h
Avg / period
4.4
Comment distribution35 data points
Loading chart...
Based on 35 loaded comments
Key moments
- 01Story posted
Oct 25, 2025 at 6:36 AM EDT
2 months ago
Step 01 - 02First comment
Oct 25, 2025 at 6:50 AM EDT
14m after posting
Step 02 - 03Peak activity
23 comments in 0-6h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 27, 2025 at 4:22 PM EDT
2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45702736Type: storyLast synced: 11/20/2025, 5:02:38 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
It was very helpful. I would have appreciated “how to create a maintainable codebase” as well though. “Singleton” was not a part of my vocabulary until 3 years into my career :/
If you are a more old-school style programmer, you simply use the older term "global variable". :-)
It's a strange game. The only winning move is not to play.
I liken my career to having a tiger by the tail. Also use the "knife fight" analogy.
This quote is very relevant for my career progression:
>Within a month of his arrival, Randy solved some trivial computer problems for one of the other grad students. A week later, the chairman of the astronomy department called him over and said, “So, you’re the UNIX guru.”
>At the time, Randy was still stupid enough to be flattered by this attention, when he should have recognized them as bone-chilling words. Three years later, he left the Astronomy Department without a degree, and with nothing to show for his labors except six hundred dollars in his bank account and a staggeringly comprehensive knowledge of UNIX.
Neal Stephenson’s Cryptonomicon
A wonderful historical fiction novel with two main timelines, WW2 and the 1990’s, that includes the invention of the first computers, cool as heck battle scenes, adventure love sex music math statistics horror Churchill Turing Goering and wow the wrecked German submarine U553 crashing up and down on an exposed coral reef in the North Atlantic waves.
How do you benefit from reading someone’s mail without letting them know you are reading their mail?
* Text file encodings, in particular Unicode, UTF-8, Mojibake
* Time: Time Zones, leap day / seconds, ISO-8601
* Locales, i18n, and local date/number formats
* IEEE 754 floats: NaN and inf, underflow, overflow, why 0.1 + 0.2 != 0.3, ±0, log1p
* Currencies, comma/dot formats, fixed-point decimal representations, and exchange rates
* Version strings, dependencies, semantic versioning, backwards compatibility
There's another list for web/REST developers, and one for data scientists, but this is the core set.
What'd I miss?
Having colleagues for who this topic is "daily business", I really don't know what you intend to teach about this topic to computer science students:
It's either
- basically trivial: you use the provided exchange rate tables which can vary from day to day; you thus just have to thoroughly pay attention concerning the exchange rates of which day you have to use for a given calculation (but this is something the business people will tell you), the rest is like unit conversion, which you learn in school: If the "exchange rate" between yards and inches is 36 in/yd, then 2.5 yd = 2.5 yd * 36 in/yd = 90 in. Similarly, if the f/x rate that is to be used is 1.1612 USD/EUR, then 2.50 EUR = 2.5 EUR * 1.1612 USD/EUR = 2.903 USD (you now just need to ask the business people whether they want to use this raw result, or the result is to be rounded. In the latter case, they will tell you which kind of rounding they want).
- or it is something that you rather need to become an auditor (or a similar qualification) for.
High school AP computer science had this in the 90s.
* Similar to encodings and locales: Variation in line endings, path separators, command line quoting, case sensitivity
* OS and language-specific package management
* CI/CD
* VMs, containers
* Licenses
When you attend a university, but you at least want to have the option to get a programming job if you realize that academic research is not for you (which is in my opinion a very good idea considering the job prospect uncertainty in academia), you will of course additionally invest an insane amount of your free time (outside of your academic studies) to learn the necessary skills for this. If you don't do this, don't complain.
I've had to interview people for whom academia didn't work, and they were simply ignorant in terms of real-world skills. Writing a Bash script shouldn't be an hobby pursuit, I'm sure a Master's in CS can spare 6 credits (one course, one semester) to teach Git, scripting, encoding, linting, etc.
Academia-grade code can be much better if you look past the purity of their pursuits.
This would be more appropriate to fit in a curriculum of a vocational IT course or bootcamp.
The Missing Semester of Your CS Education (2020) - https://news.ycombinator.com/item?id=41125733 - Aug 2024 (16 comments)
The Missing Semester of Your CS Education (2020) - https://news.ycombinator.com/item?id=34934216 - Feb 2023 (336 comments)
The Missing Semester of Your CS Education (2020) - https://news.ycombinator.com/item?id=27154577 - May 2021 (185 comments)
The Missing Semester of Your CS Education - https://news.ycombinator.com/item?id=22226380 - Feb 2020 (196 comments)
3 more comments available on Hacker News