Code.org Disses Wolfram Language, Touts Apple's Swift Playgrounds (edsurge.com)
America is changing the way it teaches computer science. "There are now 31 states that allow CS to count towards high school graduation," according to an announcement this week by the White House, while a new Advance Placement course "will be offered in more than 2,000 U.S. classrooms this fall...the largest course launch in the history of the AP exam."
But what's the best way to teach coding? theodp reports: Tech-backed Code.org, one of the leaders of the new CSforAll Consortium that was announced at the White House on Wednesday, took to its blog Thursday to say "Thanks, Tim [Cook], for supporting the effort to give every student the opportunity to learn computer science," giving a shout out to Apple for providing "resources for teachers who want to put Swift Playgrounds in their classrooms. (A day earlier, the White House said Apple developed Swift Playgrounds "in support of the President's call to action" for CS for All).
Curiously, Code.org CEO Hadi Partovi argued Friday that "the Wolfram Language has serious shortcomings for broad educational use" in an EdSurge op-ed that was called a "response to a recent blog post by Stephen Wolfram" on Wolfram's ambitious plan to teach computational thinking in schools. Partovi's complaints? "It requires login for all but the simplest use cases, but doesn't provide any privacy safeguards for young children (required in the U.S. through legislation such as COPPA). Also, a serious user would need to pay for usage, making implementation inaccessible in most schools. Lastly, it's a bit difficult to use by students who struggle with English reading or writing, such as English language learners or early elementary school students."
The submission ultimately asks how should computer science be taught to teenagers. "Would you be inclined to embrace Wolfram's approach, Apple's Swift Playgrounds, Microsoft TEALS' Java-centric AP CS curriculum, or something else (e.g., R, Tableau, Excel+VBA)?"
Curiously, Code.org CEO Hadi Partovi argued Friday that "the Wolfram Language has serious shortcomings for broad educational use" in an EdSurge op-ed that was called a "response to a recent blog post by Stephen Wolfram" on Wolfram's ambitious plan to teach computational thinking in schools. Partovi's complaints? "It requires login for all but the simplest use cases, but doesn't provide any privacy safeguards for young children (required in the U.S. through legislation such as COPPA). Also, a serious user would need to pay for usage, making implementation inaccessible in most schools. Lastly, it's a bit difficult to use by students who struggle with English reading or writing, such as English language learners or early elementary school students."
The submission ultimately asks how should computer science be taught to teenagers. "Would you be inclined to embrace Wolfram's approach, Apple's Swift Playgrounds, Microsoft TEALS' Java-centric AP CS curriculum, or something else (e.g., R, Tableau, Excel+VBA)?"
I normally never answer Slashdot questions, but I feel the urge to answer this one.
What would I teach? C.
You heard me. C.
As you may have guessed, I learned to ride a bicycle without ever having training wheels. The first language I learned was C. Kids should learn C. The ones that can't should never be programmers. The ones that can will be able to handle any high level language ever invented, including whatever wankery the Apples and Googles of the world come up with next. Teach them C. At the command line. All else is puffery.
I also feel obliged to respond to the blithering idiocy of the Code.org CEO. Early elementary students? Wtf are you babbling about you drooling moron? Coding has prerequisites. A student who wishes to learn code must read and write at least one natural language well and must know not only arithmetic but also elementary algebra. A student's first coding class will teach Boolean algebra. The combination of those three things is what coding is. Written language combining Boolean logic with algebraic equations. If you're not doing that, you're not coding.
Fyi, Swift is open source (swift.org), and one of the most popular depositories on Github.
I do like Swift, a lot, but perhaps introductory CS should start with something like Python for concepts and then move to Swift or whatever once performance becomes a factor.