Computing is a Discipline

(This section adapted from ACM K-12 Model Curriculum)

A fundamental understanding of computing enables students to be not just educated users of technology, but the innovators capable of designing new computers and programs to improve the quality of life for everyone. It is not an exaggeration to say that our lives depend upon computer systems and the people who maintain them to keep us safe on the road and in air.


Without an understanding of computing we are but users, dependent on others, and the country will become a second class society in thrall to those who can develop the new technology. Without understanding of computing principles computer and software projects go wrong. Without understanding of computing we are likely to misuse or use inappropriate technology with dangers for the fabric of society and civil liberty.


Computing is Important Intellectually

The invention of the computer in the 20th century is a 'once in a millennium' event, comparable in importance to the development of writing or the printing press. Computers are fundamentally different from other technological inventions in the past in that they directly augment human thought, rather than, say, the functions of our muscles or our senses. Computers have already had enormous impact on the way we live, think, and act. It is hard to overestimate their importance in the future.


So why is it important to study computing? We live in a digitized, computerized, programmable world, and to make sense of it, we need computing. An engineer using a computer to design a bridge must understand the limitations of the numerical methods used, how the maximum capacity estimates were computed and how reliable they are. An educated citizen using a government database or bidding in an eBay auction should have a basic understanding of the underlying algorithms of such conveniences, as well as the security and privacy issues that arise when information is transmitted and stored digitally. These are computing issues.


Computing students learn logical reasoning, algorithmic thinking, design and structured problem solving, all concepts and skills that are valuable well beyond the computing classroom. Students gain awareness of the resources required to implement and deploy a solution and how to deal with real-world and business constraints. These skills are applicable in many contexts, from science and engineering to the humanities and business, and have already led to deeper understanding in many areas. Computer simulations are essential to the discovery and understanding of the fundamental rules that govern a wide variety of systems from how ants gather food to how stock markets behave. Computing is also one of the leading disciplines helping us understand how the human mind works, one of the great intellectual questions of all time. There is much exciting work that lies ahead of us.


Computing Leads to Multiple Career Paths

The vast majority of careers in the 21st century will require an understanding of computing. Many jobs that today's students will have in 10 to 20 years haven't been invented yet. Professionals in every discipline—from art and entertainment, to communications and health care, to factory workers, small business owners, and retail store staff; need to understand computing to be globally competitive in their fields.


Movies like The Incredibles and Lord of the Rings required the development of new computing techniques. Progress on understanding the genetics of disease or of creating an AIDS vaccine requires professionals to think in terms of computing, because the problems are unsolvable without it. Those who understand the technology can make the new movies and invent the new techniques, and they are the professionals who will go beyond simply using what others have invented. Studying computing will prepare a student to become a professional software developer or to pursue a career in one of many related fields. Despite the depressing reports in the media, the reality is that professionals with computing training have never been more in demand in the UK and worldwide than they are today. Network managers need computing expertise to install new kinds of routers. Professional computer scientists rarely spend their days writing program code. More often they are working with experts in many fields, designing and building computer systems for every aspect of our society.


Computing Teaches Problem Solving

Artists, philosophers, designers, and scientists in all disciplines are united in the intensely creative activity of problem solving. Every painting by Picasso is an attempt to solve the problem of capturing an active, three-dimensional world on a flat canvas. Every TV commercial is an attempt to solve the problem of how to entice people to want, and then purchase, a product. And every well-designed scientific experiment provides data to support or refute a theory. Computing teaches students to think about the problem-solving process itself. In computing, the first step in solving a problem is always to state it clearly and unambiguously. Often a computer scientist works closely with business people, scientists, and other experts to understand the issues, and to define the problem so explicitly that it can be represented in a computer. This co-operative process requires people with different expertise and perspectives to work together to clarify the problems while considering each other's priorities and constraints. Computer programs must be designed, written, and tested. New hardware or devices may need to be made. Existing software systems and packages may be modified and integrated into the final system. Building a system is a creative process. The process requires computational thinking. With each fix of a bug or addition of a new feature, there's a hypothesis that the problem has been solved. Data is collected, results are analyzed, and if the hypothesis is untrue (alas, often!), the cycle repeats. A computer scientist is concerned with the robustness, the user-friendliness, the maintainability, and even the formal correctness of computer solutions to business, scientific, and engineering problems. These issues often require intense analysis and creativity. Computer specialists draw on their training and experience to avoid problems and to create the best possible solutions. Often this involves creating new programs and systems. That takes computing skill.


Computing Supports and Links to Other Subjects

Progress in science has always been linked with progress in technology and vice versa. For example, bacteria were first discovered not by a biologist but rather by a Dutch merchant who refined the art of making microscope lenses (and enjoyed peering at plaque he scraped off his unbrushed teeth). Nowadays, it's typical for computer scientists to work in other scientific disciplines. To solve the big scientific problems of the 21st century, such as grappling with new diseases and climate change, we will need people with diverse skills, abilities, and perspectives. And although it may seem surprising, computing can also help us learn what it really means to be human. The sequencing of the human genome in 2001 was a landmark achievement of molecular biology, which would not have been possible without computer scientists. After short DNA fragments of the genome were sequenced in biology labs, computers were used to figure out how to piece the fragments together. That required considerable new programming. This knowledge is paving the way for better computational methods of detecting and curing diseases, such as cancer, because we understand the genetic mutations involved.


It doesn't take a neuroscientist to appreciate the fact that the human brain is amazing. We know, for example, that an infant can effortlessly recognize a familiar face from many different viewpoints, and yet, we have a very poor understanding of the computational mechanisms that the brain uses to solve such tasks. Inferring meaning from images is a computational task, and computer scientists and neuroscientists are working together to figure out how to build computers that can process images and, ultimately, how we can better understand intelligence itself.


The use of modelling and simulation, visualization, and management of massive data sets has created a new field: computational science. This field integrates many aspects of computing such as the design of algorithms and graphics. In science classes, students use sophisticated simulation software to make molecules and geological processes come to life. Writing computer programs that model behaviour allows scientists to generate results and test theories that are impossible in the physical world. Advances in weather prediction, for example, are largely due to better computer modelling and simulation. Computational methods have also transformed fields such as statistics and mathematics. Scientists who can understand and contribute to technological innovation have a huge advantage. Good training for future scientists must therefore include a solid basis in computing.


Computing teaches transferable skills of problem solving, team working, logic and logical thinking, as well as linking to topics such as discrete mathematics.


Computing Can Engage All Students

Computing applies to virtually every aspect of life, so computing can be explicitly tied to a myriad of student interests. Students may be fascinated with specific technologies such as cell phones or have an innate passion for visual design, digital entertainment, or helping society. Computing teaching nurtures students' interests, passions, and sense of engagement with the world around them and offer opportunities for them to find purpose and meaning in their lives. Pedagogically, computer programming has the same relation to studying computing as playing an instrument does to studying music or painting does to studying art. In each case, even a small amount of hands-on experience adds immensely to life-long appreciation and understanding, even if the student does not continue programming, playing, or painting as an adult. Although becoming an expert programmer, a violinist, or an oil painter demands much time and talent, we still want to expose every student to the joys of being creative, for example by having students design and write programs that control their cell phones or robots, create physics and biology simulations, or compose music. Students will want to learn to use conditionals, loops, and parameters and other fundamental concepts just to make these exciting things happen. Examples include:

  1. Computing and Digital Media. Manipulating and creating digital media is a context that engages students and easily integrates with computing learning goals. Instead of iterating over an array to compute an average, students might write a program to iterate over an array of pixels to compute a negative image or a grey-scale image or try new forms of image manipulation. Students can learn that combining two arrays is the technique used to splice and mix digital sounds. Processing pictures and sounds in new ways needs new programs. Similar contexts are robotics and story-telling with digital media.
  2. Team work to solve large uncertain problems. Computer programs are some of the most complex structures built by mankind, and are rarely built in isolation. Software engineering has worked out paradigms for designing and building such structures by a co-operating team, often in the presence of real world uncertainty, for example by using agile engineering methodology. Generally, students much prefer to collaborate than to work alone, and computing can give them the disciplines and methods they need to work successfully on large uncertain projects, and in collaborative teams.
  3. Computational Thinking. How does one prevent a computer from creating many thousands of e-mail accounts that can be used to send spam to millions of people? How can one design an electronic auction system that fairly represents the interests of all parties involved? How can one accurately simulate a system consisting of millions of objects evolving over billions of steps? How can one be certain a program will perform correctly, in life critical systems such as avionics or medicine? To deal with these problems, and many more similar ones, requires a type of thinking characteristic of computing: computational thinking. Computational thinking involves a clear focus on tangible problems; a large collection of proven techniques such as abstraction, decomposition, iteration, and recursion; an understanding of the capabilities of humans and machines alike; and a keen awareness of the cost of it all. Emphasis on computational thinking rather than just programming has greatly improved introductory courses and is starting to become a motivating principle in other parts of our curriculum.
  4. Computers and the Visual Arts. Computer technology and graphic arts have developed in parallel. Graphic representations can be used to teach fundamental computing concepts while new programs and technologies allow development of visual effects and new media opportunities.. An example is the development, reliant on new computer technology, of the web from static to dynamic images, and the shift 3-D representations and gesture interfaces. Computing skills are needed to maximise the opportunities these developments offer.
  5. Computers and Biology. Computing has become essential for solving biological and biotechnology problems. In molecular biology, for example the fragment assembly problem was a central computational task in sequencing the human genome. This problem is a nice vehicle for introducing the fact that some computational problems seem to have no efficient solution-a deep insight of computing.


Previous 0 1 2 3 4

Computing at School are supported and endorsed by: