With STEM, particularly computer science, all the rage recently (eg. code.org, CS First and the many programming languages created to teach kids) I was disappointed to discover last week there is precious little in the way of programming classes offered in the mainstream local school system before University. This sad discovery came as I was speaking to a parent of a HS senior who loves programming but basically had to forage for himself due to lack of any institutional offerings or support.
Researching it further, I discovered that the vocational high school offers a 2-year program in networking and digital media & software development. In addition, the local mainstream HS may offer a programming class but it has have garnered little attention and may not be a regular offering.
Last month the state of Arkansas has mandated Computer Science courses be offered in all Charter and High Schools in the state with an initial $5 million earmark. Last summer the state of Texas made a similar mandate but without additional funding. Washington State is trying to ensure Computer Science courses are offered and count as a graduation requirement instead of an elective. South Carolina has made Computer Science a graduation requirement albeit the definition of such is very loose.
Our education system has not kept up with society or technological innovation. Whereas most people are required to take many courses in writing to graduate college they can choose to avoid nearly anything STEM-related. However most people probably more dependent upon and spend more time interacting with STEM concerns in their lives from health care to technology to statistics than they spend writing.
We live in an very complex world that is technologically advancing at a rapid pace. Engineering and Computer Science not only teaches you how things work, but also how to think of complexity and managing change in general and systematic fashion. Even if one doesn’t become a poet or programmer doesn’t mean there are not tremendous personal, professional and societal benefits to be gained from studying Poetry and Computer Science.
One big disadvantage of teaching computer science is competing with private industry who pay very well for otherwise qualified instructors. One big advantage of teaching computer science is that it is a subject optimized for learning over the web, so the skill of a few excellent teachers can be leveraged across many classrooms. There are more free resources and expertise online for learning programming at any level than for any other subject which can level the playing field for less resource rich school districts.
A typical K-12th grade teacher cannot be expected to be an expert on programming, and this is one of the major obstacles for teaching STEM subjects like Computer Science in the K-12th grades. However, the materials and tools available online to help teachers disseminate teaching broad-based principals while facilitating access to more advanced subjects. This is outside the comfort zone of the established pattern of K-12 grade top-down teaching, but is one way to address the expectation/expertise issue between students and teacher.