Hacker News new | past | comments | ask | show | jobs | submit login

This is an example of an important piece of knowledge that typically only programmers with a formal education in computer science are taught.

This is the 21st Century. Why aren't we teaching stuff like this in Middle School? It wouldn't require an entire course. Just cover FSM and stack machines, then letting people know that there's stuff beyond that. This would get people a basic level of the "mental furnishings" to deal with notions of computational complexity, beyond the level of total fuzzy "woo." In 2019, ordinary people need to know something about this stuff to make decisions at work and to vote!

Yes, just the most basic, minimally concrete idea of how this stuff works would be valuable for society. When Ford automobiles were new, some new car owners would try to "fix" their cars by hanging bulbs of garlic under the hood. Today, we find this quaint, magical thinking, because everyone has the barest, minimally concrete, idea of how a car engine works. Are you annoyed at the general ignorance of politicians around technical issues? Well, it's just analogous to politicians with the above level of automotive ignorance passing motor vehicle laws.




A couple of reasons spring to mind. One is that teachers don’t know the stuff. I lived through the “new math” revolution of the 60s and 70s. The folks who came up with it really had a good idea: teach kids maths rather than memorizing times tables and blind syntax manipulation. They had training for the teachers...who were taught new things to do in the classrooms...which ended up simply as a different vocabulary for syntax manipulation. Same (and not just in schools) where “using a computer” meant memorizing mouse gestures and movin the mouse to menu items in known locations on the screen.

The other problem is the old “why teach algebra? Nobody will ever see it after they leave school”


I agree in general but I find this piece of knowledge to be too theoretical and specific (the equivalence of regex & finite automata).

I find it much more important to know how networking and the Internet works and basic client-server architecture. And maybe some things about authentication. These topics seem much more tangible and important to non-technical people than CS theory.


Pretty sure this equivalence was more or less the first sentence in the regex tutorial I read during high school...


General technical literacy is important, but I have a hard time connecting the equivalence of finite automata and regular expressions to anything one would vote on (and I say that as a fan of automata!)


That specific tidbit isn't the point. It's people trained to think about algorithmic complexity, having had some minimal experience with factors which can increase it.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: