Excerpt from an article in
The New York Times
Sunday, April 01, 2012
Computer Science for Non-Majors Takes Many Forms
By RANDALL STROSS
READING, writing and — refactoring code?
Many professors of computer science say college graduates in every major should understand software fundamentals. They don’t argue that everyone needs to be a skilled programmer. Rather, they seek to teach “computational thinking” — the general concepts programming languages employ.
In 2006, Jeannette M. Wing, head of the computer science department at Carnegie Mellon University, wrote a manifesto arguing that basic literacy should be redefined to include understanding of computer processes. “Computational thinking is a fundamental skill for everyone, not just for computer scientists,” she wrote. “To reading, writing and arithmetic, we should add computational thinking to every child’s analytical ability.”
There is little agreement within the field, however, about what exactly are the core elements of computational thinking. Nor is there agreement about how much programming students must do, if any, in order to understand it.
Most important, the need for teaching computational thinking to all students remains vague.
At the college level, computer science courses intended for non-majors run a gamut. In some classes, students start coding right away with a mainstream language. Others exclude programming and examine social and ethical issues related to computer use.
At Carnegie Mellon, students who are not computer science majors are invited to try “Principles of Computation.” It starts with a history of computation, but in Week 2, students start learning the programming language Ruby. Then the course covers iteration, recursion, random number generators and other topics.
Tom Cortina, who teaches the course, says that some students perceive the programming as challenging, especially those who aren’t majoring in a field of science, technology, engineering or mathematics and are not accustomed to “the preciseness required.”
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.