I agree with you in theory, but here's your problem. You assume people without degrees in Computer Science cannot learn those concepts and those with them automatically understand them. A lot of CS people I've met pass a 15 week course in Finite Automata and could not explain one thing they've learned from it. I can go buy a book on Amazon and watch YouTube videos and become more of an expert on it than they ever will. Outside of certain degree programs that I've worked with people who have them, I would never assume someone knows something because of a Computer Science degree. That being said, you're right there are a lot of people without CS degrees that have no idea what you're talking about and wouldn't know where to begin on certain problems. (And you did say in general too, so I know you were making a basic assumption, and that it's not a steadfast statement).