domingo, 8 de junho de 2008

Computational Thinking

“Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability… (It) involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science….

“Computational thinking is thinking recursively. It is parallel processing. It is interpreting code as data and data as code… (It) is using abstraction and decomposition when attacking a large complex task or designing a large complex system. It is separation of concerns. It is choosing an appropriate representation for a problem or modelling the relevant aspects of a problem to make it tractable. It is using invariants to describe a system’s behaviour succinctly and declaratively. It is having the confidence we can safely use, modify and influence a large complex system without understanding its every detail….

Computational thinking is thinking in terms of prevention, protection and recovery from worstcase scenarios through redundancy, damage containment, and error correction. … Computational thinking is using heuristic reasoning to discover a solution. It is planning, learning and scheduling in the presence of uncertainty. It is search, search and more search, resulting in a list of Web pages, a strategy for winning a game, or a counterexample….

From Wing, Jeannete M. “Computational Thinking.” Communications of the ACM, March 2006/Vol.49, No.3, pp33-35

Assessora da NSA (A agência de fundação científica governamental dos EUA) para um congresso da Royal Academy em Bruxelas sobre políticas de investimento público no futuro da computação na UE.

Nenhum comentário:

Postar um comentário