Don't learn code, learn to think "it Blue Panther"

Source: Internet
Author: User


Don't learn code, learn to think "it Blue Panther"



This is a time when everyone is learning to program: Code.org asked Bill Gates, Mark Zuckerberg and Chris Bosh to tell you that everyone can program, CoderDojo ' s in every country quietly emerging;

is a formal course for students of all grades.

I think there is a misunderstanding here. Don't get me wrong--if everyone gets some programming knowledge, the world will certainly be better--but learning to write code shouldn't be our goal. Computers and programs are just a tool, a way to achieve a certain purpose.

Method.

The real goal should be to learn how to think. In other words, we should try to teach computer science instead of teaching writing code. In this article, I'll explain the difference between the two, and why the latter is the key to success in the next school programming wave.

If you like the explanation of the video, I highly recommend Simon Peyton Jones's ted,teaching Creative computer science. This coincides with the view of this article.

After reading, still want to see the text version? Good. Let's start with a key question: Why do you want to learn programming or computer science?

Before we answer this question, we'll sell a xiaoguanzi.
Welcome to the real world.

Now, you may be using Chrome or a Firefox browser to read this article, running a laptop or desktop computer on a Windows or OS X operating system. I guess you spent some time today checking emails, swiping Facebook, or

Watched the video on YouTube. Today, people's lives are increasingly dependent on computers: medical records are stored in databases, resumes are on LinkedIn, Google or Facebook is used to promote your products, Amazon is used to buy things, and online

Tax, manage your bank account online, and even get involved in bitcoin.

Now, remove your eyes from the screen: in your pocket, bag, or next to the table, there may be a smartphone. It is equipped with GPS, camera, touch screen, and thousands of applications. If you were in the living room now, you might have a TSU.

An LCD TV, a Dvr,dvd player, an apple Tv,xbox, or a PlayStation. The movies you watch every day, the music you listen to, the games you play, are encapsulated in these device graphics cards and sound cards.

Software is seizing the world, but it's just the beginning. Unconsciously, you wear all kinds of wearable devices, use a computer to lock the door, use robots to transport goods, clean the room. Have your own electronic technology, run your own production plant, living in the virtual

In the world, travel by auto-driving cars, or even fly to space.
Code everywhere

There is no doubt that the source of the technology I have described above is software. Every aspect of your life is surrounded by code. A lot of code will make the future better.

However, just being a technology is generally not a good reason for you to learn it in school. It's like we're flying, but the pilot's license is not in the kindergarten to Grade 12 course.

However, the principle of flight is part of the curriculum:

Physics and mathematics let you know about gravity, elastic components, pressure, speed, friction, and climbing.
Biology allows you to understand the human body in high altitude, low oxygen, extreme cold and other circumstances of the reaction.
History explains the invention, evolution, and the role it plays in travel, business, and war.

When you graduate from high school, you already know what a plane is, how it works, and how to fly safely. General classes, like physics, mathematics, history, teach you how to think about all kinds of problems, including airplanes;

is to teach you to use the tools of a course, like teaching you how to drive a particular type of airplane.
What is computer science?

Computer science is a subject of research and computation: that is, how to express and process information. Here are some of the concepts you'll learn:

Solve the problem: you will learn the algorithms--that is, some common methods, such as divide and conquer algorithms, recursion, genetic algorithms, greedy algorithms--to help you model, decompose, solve a variety of problems.
Logic: You will begin to use sophisticated and formal methods to think about problems, such as abstraction, logical algebra, number theory, and set theory, to solve problems with rigorous logic.
Data: You will be exposed to information theory and begin to think about what is the message? How to express? How to model the real world?
System: How to design and build a complex system to achieve a range of requirements? Systems engineering is an important topic that is involved in almost every field.
Thinking: The best way to understand the human brain is to try to replicate it. Topics such as artificial intelligence, machine learning, computer vision, and natural language processing are not only in the field of computer science, but also in mathematics, biology, physics, and philosophy.

Is the most cutting-edge science.

Note that the above list does not refer to code or programming because they are just tools for computing: They are not computer science in themselves.

Computer science is not about the science of computers, just as astronomy is not about the science of telescopes, biology is not about microscopes, and skiing is not about beakers and test tubes. Science is not a research tool. --michael Fellows and Parberry
What is programming?

Programming, or writing code, is instructing the computer to execute which instructions. If you have never written code, you may also interact with your computer by manipulating your application. In fact internally, this application is also through the code to tell the computer what to display in

Where to retrieve data and how to respond to your clicks.

All programming is based on the principles of computer science discussed above. It is worth noting that the same set of concepts-logic, algorithms, data, systems engineering-can be used to build any software that you now read in this article

Browser, big to the autopilot software on the plane. Although it involves some knowledge of mathematics and architecture, it is a very creative activity: You turn your ideas into reality, one line of code at a time.

Programming as part of learning computer science has the following benefits:

DIY: If you are programmed, you can make something. You can start with the simplest: make a script that allows you to rename your travel photos in batches, or write an Excel formula to help you calculate your tax. Then, start the Fever level: give you

Your own file system to write a browser, make an app for your company, or write a game that you can play with your friends.
Problem solving: Once you've made a few apps, it's much easier to figure out the rest. Once you're no longer afraid of computers-the uncharted realms-you'll be a technology man. As technology has been linked to every part of our lives, mastering them is

will become as important as learning to read.
Career: Our goal in computer science is not to become a professional programmer. We all learned math, physics, chemistry, but we didn't all become experts in this field. However, if you are passionate about this, software engineers are also a

A career with high evaluation, high salary and rapid progress.

Comprehensive consideration

Brief recap:

Computer science is a new way of thinking. In this age of technology, the concepts are very helpful to everyone.
Programming is an important part of learning computer science to realize these new ways of thinking. However, programming itself is not a goal.

Confusing these two ideas has led to some problems in the circle of learning the programming craze now. Slate published an article, "Maybe not everyone needs to learn programming," Atlantic wrote a "journalism school should ask reporters to write code?" No

Jeff Atwood wrote, "Please don't learn to write code," which raises an incisive question:

"If Michael Bloomberg (Mayor New York, the translator) is a professional Java programmer, can he better lead a big city in America?" ”

Of course, this is a wrong way of asking. This means that the goal of these activities is to learn the code, not to learn how to think. If a seasoned programmer like Jeff Atwood is mistaken, the average person is more confused. The question should be asked like this:

Can Michael Bloomberg (or someone else) work better if they are trained to improve their abilities by learning how to solve the problem and to train rigorous logic?

I believe that the answer is obvious. And with the development of science and technology, the answer will become clearer. That's why we have to focus our teaching on computer science, not code.
How do I get started?

The good news is that you don't have to wait for code.org to announce that you've started studying computer science. In fact, this is one of the easiest subjects to learn, and you only need a computer and a network cable. I think, now that you're reading this article, it's likely that you both have

The

Article Source: It Blue Panther "Http://www.itlanbao.com/preview.aspx"

Don't learn code, learn to think "it Blue Panther"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.