How Should High Schools Teach Computer Science?

A high school computer science teacher claims there’s an “unacknowledged failure” of America’s computer science (CS) classes at the high school and junior high school level. “Visit classrooms and you’ll find students working with robotic sensors, writing games and animations in Scratch, interfacing with Arduino microcontrollers, constructing websites, and building apps with MIT App Inventor… “Look underneath the celebratory and self-congratulatory remarks, however, and you’ll find that, although contemporary secondary education is quite good at generating initial student interest, it has had much less success at sustaining that engagement beyond a few weeks or months, and has frankly been ineffectual in terms of (a) measurable learning for the majority of students; (b) boosting the number of students who take a second CS course, either in high school or college; and (c) adequately preparing students for CS college study.” Long-time Slashdot reader theodp writes: In ” A New Pedagogy to Address the Unacknowledged Failure of American Secondary CS Education ,” high school computer science teacher Scott Portnoff argues that a big part of the problem is the survey nature of today’s most popular high school CS course offerings — Exploring Computer Science (ECS) and AP Computer Science Principles (AP CSP) — both of whose foundational premise is that programming is just one of many CS topics. “Up until a decade ago,” Portnoff explains, “introductory high school computer science classes were synonymous with programming instruction, period. No longer.” This new status quo in secondary CS education, Portnoff argues, resulted from baseless speculation that programming was what made Java-based AP CS A inaccessible, opposed to, say, an uninspiring or pedagogically ineffective version of that particular curriculum, or a poorly prepared instructor. It’s quite a departure from the 2011 CSTA K-12 Computer Science Standards, which made the case for the centrality of programming in CS education (“Pedagogically, computer programming has the same relation to studying computer science as playing an instrument does to studying music or painting does to studying art. In each case, even a small amount of hands-on experience adds immensely to life-long appreciation and understanding”). This teacher believes that programming languages are acquired rather than learned, just like any other human language — and concludes the solution is multi-year courses focused on one programming language until proficiency is fully acquired. For this reason, for the last seven years he’s also been making his students memorize small programs, and then type them out perfectly, arguing that “the brain subconsciously constructs an internal mental representation of the syntax rules implicitly by induction from the patterns in the data.”

Read more of this story at Slashdot.

Source:
https://news.slashdot.org/story/20/06/27/0051228/how-should-high-schools-teach-computer-science?utm_source=rss1.0mainlinkanon&utm_medium=feed