TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What are CS topics covered in school, that aren't learned in the wild?

11 pointsby __ralston3about 6 years ago
I&#x27;m a self-taught dev with a solid understanding of a broad scope of CS topics. However, I&#x27;ve recently learned that some companies filter during the interview process for CS-grads <i>only</i> by asking topics that specific to CS in school, but aren&#x27;t necessarily learned in the wild. A good thread example is the one from yesterday about DP problems[1].<p>So what are some CS topics&#x2F;concepts that are covered in school, but <i>aren&#x27;t</i> learned necessarily as an Engineer at work.<p>1. https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19396042

8 comments

triskaabout 6 years ago
Logic programming is one such example. Prolog and its syntactic subset Datalog are taught as part of countless CS degrees throughout the entire world.<p>In fact, <i>logic</i> in general is such an example. At least a basic treatment of propositional logic and predicate logic, computation, unification, resolution and sequent calculus is a common ingredient of CS degrees all around the world.<p>Other common examples include probability theory, statistical tests and complexity theory, all of which are part of many CS degrees, both at the undergraduate and graduate level.<p>In all these examples, organizations that need these skills tend to hire people that already have them at least to some degree, making it unlikely to encounter these topics at work for the first time.
hackermailmanabout 6 years ago
Something that isn&#x27;t easily learned in the wild is precision in communications. For example the few interviews I&#x27;ve had, each time they asked me to implement a solution to some problem, then continue to refine the solution to be more efficient while talking through my solution(s). At any moment when I mentioned some jargon like &#x27;invariant&#x27; or &#x27;accumulator&#x27; they would ask me to precisely define it, something which for me would be difficult to do without some academic background, just because I would be likely to give a weak definition or inaccurate methaphor and be corrected as the interviewers I had all had degrees and it showed, they were very precise with their communications. The more courses I complete, the more I realize how imprecise I (still) communicate. I learned later after being hired what they wanted was somebody who would not bluff their way through meetings, and had the ability to precisely explain solutions or have the ability to admit &#x27;I&#x27;m not sure&#x27; since these outfits handled a lot of money and apparently, there are a lot of bluffers around in that industry that sink companies.<p>&quot;.. and here is a boolean condition that is true immediately before every evaluation of the loop guard, and due to preservation...&quot;<p>&quot;Stop there and define preservation for us&quot;. &quot;Stop there and define what an undecidable problem is&quot;.<p>If you want a crash course in various undergrad theoretical compsci topics to help refine your communications like how to state something is true and then justify it, there is this good YouTube playlist <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLm3J0oaFux3aafQm568blS9blxtA_EWQv" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLm3J0oaFux3aafQm568bl...</a>
wmfabout 6 years ago
Automata and regular languages, invariants and proofs, functional programming, recursion come to mind immediately.<p>(Note that I&#x27;m not interested in bikeshedding about how a small fraction of highly motivated programmers have learned these things outside of formal education.)
评论 #19406858 未加载
externalrealityabout 6 years ago
Famous quote by Einstein:<p>&quot;Education Is What Remains After You Have Forgotten Everything You Learned In School&quot;<p>I don&#x27;t remember the fine details of anything I&#x27;ve learned in school that I don&#x27;t use on a daily basis yet the confidence of knowing that I studied and passed the exams is invaluable. I can go back and re-learn things if the need arises knowing that an expert once agreed with my understanding. That is invaluable.<p>Basically, if this your attempt to make yourself feel better about not having a degree, why not just go get one - there are affordable schools out there that offer nice programs. You may learn something in the process and meet new people.<p>But, in reality. Do you really NEED a degree to pass a little theory quiz (or for anything else for that matter) -- no you don&#x27;t -- your brain works the same way with or without a degree.
a-salehabout 6 years ago
T.b.h. these two were often dis-joint. Applicable skills learned in the wild and the ones learned in CS classes can have little in common. I would say they are almost orthogonal.<p>But for the most white-board style algorithm questions I have heard about, it would mostly be covered by &quot;Introduction to Algorithms&quot; from MIT press. For overview of chapters you could look on wiki [1]<p>There might be more. But I actually liked that book :-)<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Introduction_to_Algorithms" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Introduction_to_Algorithms</a>
评论 #19418745 未加载
rajacombinatorabout 6 years ago
Sorting algorithms. I learned them in my first CS course 20 years ago and never had a need to know them since.
segmondyabout 6 years ago
Most of the relevant ones.<p>algorithm &amp; data structures.<p>algorithm analysis<p>OS&#x2F;internals<p>compiler design<p>computer architecture.<p>discrete mathematics.<p>distributed systems.
3into10power5about 6 years ago
Scaling a webservice. Understanding graphs.