Should all high-schoolers have to take computer science?

Just curious what opinions are since my school is considering making it a graduation requirement. For reference, my high school’s in silicon valley.

Written Oct 30


This is really a much bigger question.

Should all high-schoolers have to take ANY “subject”?

What is the purpose of schooling? If it is to stuff facts into your brain like “What is the capital of Kansas?” then, by all means, let’s have teaching of subjects. While we are at it, why don’t we have kids memorize the dictionary, or an encyclopedia.

But if the purpose of high school is to teach kids how to learn, then we need a completely different approach.

In real life, we generally don’t need to learn “subjects”. (There are situations where it is necessary, but often this is “training”, rather than “learning”). The teaching of subjects, and the standardized tests that accompany them, are an important reason why our schools are ineffective, and why our children hate school.

Let’s redefine the problem

The purpose of education is to learn how to learn. In order to do this, we have to be able to define a problem, consider the structure and mechanics of the problem, consider alternate approaches to the problem, attempt solutions, iterate several times if necessary, and select the optimal solution.

The purpose of education is not to memorize the capital of Kansas. That is a completely different purpose. That is part of the process of providing a common set of principles and knowledge that a committee of curricular specialists have decided is necessary to survive in today’s society – and it may (or may not) be a completely wrong or irrelevant set of facts and principles for the classroom.

Let’s propose a solution


The primary mission of an education is to learn how to learn. In my opinion, this best way to do this is by the use of project-based learning. Using this method, a teacher (or students?) uses a project to initially approach a topic, and as the project is explored, the project blossoms (explodes?) into any number of adjacent areas. Students follow the problem wherever it leads them, learning about stuff along the way and, more importantly, learning how to question and explore, and then communicate their findings. The outcome may be in any number of formats; report, documentary, presentation, song, etc.

A secondary mission of an education is to train students a set of skills to prepare them for life during and after high school. (Aha! We may soon be able to answer the question about computer science).

So, which topics should be “trained” in high school? Who decides which topics should be “taught”?

In my view, this is a question that should be addressed by the “community” that needs the answers. In my view, this question should be addressed at the lowest possible level – by students, teachers, and parents.

For example – in an Amish community, it may be deemed important to learn about the economics of farming and food distribution (computer science may not be a priority). In your community, computer science may be deemed essential – whereas other communities may decide it is optional.

Therefore, in this example, the school becomes a place which has two purposes:

  • teaching how to learn (also called critical thinking)
    • one approach is project-based learning (there are others)
  • training of skills
    • determined by the community

Examples of project-based learning

A Better List Of Ideas For Project-Based Learning

Pick a Project | | Making Projects Click


One thought on “Should all high-schoolers have to take computer science?

Comments are closed.