Comment Re:And high school biology students (Score 1) 564
I don't have a degree in CS. Mine is more like Information Systems with lots of CS theory and mathematics thrown in only because of the route I took starting an undergrad in computer engineering and switching tracks about half way through. My work title is "multi-discipline engineer" only because I was an electronics engineering technician first and still work in an aerospace engineering R&D lab. I do programming, specify instrumentation and measurement systems, herd contracted development projects and manage databases and data acquisition systems networks. In practical terms I'm more of a software engineer and developer that fills some management and support functions.
A CS degree? Nice to have and the background is likely as good as what I received from university but there is nothing wrong with software engineering and for most business needs it's usually just fine. The extra calculus didn't do me any harm in the long run. I think I have a broader outlook than most CS grads but I also had a lot more programming experience since I finished part-time while working full time. I do sort of wonder how a CS grad can come out of university not knowing digital logic, how to specify a project and what recursion is but schools do vary quite a bit in what they teach.
High school should start with digital and mathematical theory and work outward since that is what computers are really about. You only need a single book and a white board to show what's going on. Turn it into a digital lab class and then work up to CPU organization in the abstract. Delphi or C# programming to start if there has to be something that shows program structure. How about bringing back an old 8088 PC with MASM on a floppy? Nothing like a little assembler to show what registers or program counters do even if the technology is obsolete.
High school CS classes should give the students a bit of idea the breadth of the subject and it's pretty wide from where I sit. If the kids are interested then they should have something decent to chew on rather than some idiotic typing class or "enter these lines into VB and see what it does" crap. A class that doesn't teach anything is a waste of time and in high school they take enough classes like that. CS classes are en elective. Electives should be playtime for the mind.