4 Matching Annotations
  1. Mar 2024
    1. Intellectually challenging and engaging scientific prob-lems remain to be understood and solved. The prob-lem domain and solution domain are limited onlyby our own curiosity and creativity; andOne can major in computer science and do anything.One can major in English or mathematics and goon to a multitude of different careers. Ditto com-puter science. One can major in computer scienceand go on to a career in medicine, law, business,politics, any type of science or engineering, andeven the arts.

      As a math teacher, I believe that there are countless frontiers in science that have yet to be explored and understood. The problem domain and solution domain in science are boundless, limited only by our own curiosity and creativity. It is interesting to note that computer science offers a versatile and diverse range of career possibilities. While one can major in computer science and pursue a career specifically in that field, it is also fascinating to see how individuals with different academic backgrounds, such as English or mathematics, can leverage their computer science knowledge in various professions. The opportunities stretch across medicine, law, business, politics, and even the arts.

    2. Computational thinking will have becomeingrained in everyone’s lives when words like algo-rithm and precondition are part of everyone’s vocab-ulary; when nondeterminism and garbage collectiontake on the meanings used by computer scientists;and when trees are drawn upside down.We have witnessed the influence of computa-tional thinking on other disciplines. For example,machine learning has transformed statistics. Statisti-cal learning is being used for problems on a scale, interms of both data size and dimension, unimagin-able only a few years ago. Statistics departments inall kinds of organizations are hiring computer scien-tists. Schools of computer science are embracingexisting or starting up new statistics departments.Computer scientists’ recent interest in biology isdriven by their belief that biologists can benefitfrom computational thinking. Computer science’scontribution to biology goes beyond the ability tosearch through vast amounts of sequence data look-ing for patterns. The hope is that data structuresand algorithms—our computational abstractionsand methods—can represent the structure of pro-teins in ways that elucidate their function. Compu-tational biology is changing the way biologiststhink. Similarly, computational game theory ischanging the way economists think; nanocomput-ing, the way chemists think; and quantum comput-ing, the way physicists think.This kind of thinking will be part of the skill setof not only other scientists but of everyone else.Ubiquitous computing is to today as computationalthinking is to tomorrow. Ubiquitous computing wasyesterday’s dream that became today’s reality; com-putational thinking is tomorrow’s reality.

      It is evident that computational thinking is becoming increasingly influential across various disciplines.

    3. Computational thinking is thinking recursively. Itis parallel processing. It is interpreting code as dataand data as code. It is type checking as the general-ization of dimensional analysis. It is recognizingboth the virtues and the dangers of aliasing, or giv-ing someone or something more than one name. Itis recognizing both the cost and power of indirectaddressing and procedure call. It is judging a pro-gram not just for correctness and efficiency but foraesthetics, and a system’s design for simplicity andelegance

      I agree that it involves thinking recursively, parallel processing, and interpreting code as data and vice versa. It requires us to delve into the intricacies of type checking as a generalization of dimensional analysis and understanding the concept of aliasing, which can have both benefits and risks.

    4. Computational thinkingbuilds on the power andlimits of computingprocesses, whether they are exe-cuted by a human or by amachine. Computationalmethods and models give usthe courage to solve prob-lems and design systems that no one of us wouldbe capable of tackling alone.

      Computational thinking allows us to consider problems from various angles and analyze them in a systematic manner. It encourages us to break down complex problems into smaller, manageable parts and identify patterns and dependencies. This perspective gives us a clearer understanding of the problem at hand and helps us develop effective solutions.