acm - an acm publication
Commentaries
2017
  • Computational design

    Computational thinking refers to a deliberative process that finds a computational solution for a concern. Computational doing refers to use of computation and computational tools to address concerns. Computational design refers to creating new computational tools and methods that are adopted by the members of a community to address their concerns. Unfortunately, the definitions of both "thinking" and "doing" are fuzzy and have allowed misconceptions about the nature of algorithms. Fortunately, it is possible to eliminate the fuzziness in the definitions by focusing on computational design, which is at the intersection between thinking and doing. Computational design is what we are really after and would be a good substitute for computational thinking and doing.

  • 10 rules for an unhackable data vault
    Most recent publicity on cyber security has focused on preventing attacks by external hackers. While many of these attacks began with an insider, there has been much less discussion about ...
  • The glorious promise of the post-truth world
    "Post-truth"---an adjective designated the 2016 Word of the Year by the Oxford English Dictionaries, and the related term "truthiness," have received much public attention recently, and have inspired heated discussions ...