logo
Search:

Login:


Forgot Details? Sign-up

Overview of Computer Science

The academic focus of this month’s magazine is computer science. I think that’s a great idea, but there is a lot of confusion about exactly what computer science is, how it fits in to other computing disciplines, how to study it, and what kinds of jobs are available.

 

In my primary job, I teach computer science for a major university, so this month I’d like to explain exactly what this discipline is about, how it relates to other types of computing, and why it makes sense to add to your homeschool curriculum.

 

What is computer science?

First we have to deal with the unfortunate name. If we’re going to call this discipline “computer science” we should really rename biology “microscope science” and astronomy should be “telescope science.” Astronomers and biologists certainly are good at using their tools, and they often invent newer, more powerful tools, but astronomers don’t really look at telescopes; They look through them. To an astronomer, a telescope is a wonderful tool, but it is not the real focus of study. Astronomers use telescopes to understand the nature of the universe. They build telescopes to amplify the natural process of vision to see things, and to see new things. Often what they see is a total mystery.

 

Computer scientists have the same relationship with computers that astronomers have with telescopes and biologists with microscopes. While we might invent new kinds of computers, it’s not really the computer itself that’s interesting. We don’t study computers. We study with computers. The particular part of the universe we’re interested in is the process of solving problems. Like a biologist uses a microscope to see the very small and the astronomer uses the telescope to see the very large, computer scientists look at processes. Sure, we use computers (as do nearly all scientists) but computer science isn’t really about computers or even programming.

 

Computer science is the study of problem solving, normally called algorithms. This has been studied for centuries, but the computer brings the ability to run very complex processes very quickly and solve problems that were previously unsolvable. It also brings us the unique ability to plan a process exactly and know it will happen exactly that way again.

 

Computer science is not about programming, either. We certainly teach programming, and computer scientists are usually very good programmers, but that is because programming languages are an important way to express processes. Computer scientists invent new programming languages, and think about new ways to use existing languages and hardware to solve difficult problems.

 

It might sound like ‘real’ computer science is too difficult to teach to kids, especially if the parents and teachers don’t have a solid grasp of the topic to begin with, but computer science is so relevant and so important that it can (and I believe must) be taught. We expect our students to grasp basic math, but not everyone needs calculus. Not everyone needs to be able to create an operating system, or even to write programs in C++, but today there are very few disciplines which do not benefit from the ability to design a problem-solving process in a way that is so clear even a computer can do it. Managing data and solving complex problems are among the skills most in demand today. These are exactly the main aspects of computing.

 

True computer science is a research discipline, but there are many other ways kids can benefit from some flavor of computer science.

Career options in computing

One of the best reasons to teach computing is its vocational potential. The US Bureau of Labor Statistics

provides career projections for various disciplines. They project 21% growth in computer software engineering and programming jobs The median salary for a software engineer in 2008 was $85,000, and the median wage for a computer scientist was reported at $97,980 in May of 2008. (http://www.bls.gov/oco/ocos303.htm) There are roughly three jobs for every qualified applicant in the computing disciplines. 71% of all jobs in the sciences, engineering, technology, and mathematics are projected to be in the computing sector.

 

There are a number of career opportunities in programming, and they require different skills, preparation, and abilities.

 

(Data derived from US BLS: http://www.bls.gov/opub/mlr/2011/05/art1full.pdf)

(reprinted w/ permission Calvin College Computer Science Dept)

 

 

Computing seems like quite a promising career, but it does require some planning. A student who is interested in computing ought to take a few steps in high school and perhaps earlier:

 

Can homeschoolers compete?

Computer science is a new and relatively challenging topic. It’s normal to wonder if a homeschool family (especially one without technical parents) can compete with public and private schools when it comes to helping kids get prepared for these promising careers.

 

 

As a freshman adviser and teacher, I can tell you that homeschool students are very welcome in computing programs. A number of my best students have come from a homeschool background, and they often perform very well. The truth is, a motivated kid with supportive parents will generally be well prepared for college no matter what kind of school she attended. Homeschool families self-select for involved parents, and this might explain why homeschool students tend to do so well in computing programs even if they didn’t have huge computer labs or expensive software.

 

If you have any questions, please contact me at my normal address: andy@aharrisbooks.net. If you want to know more about college opportunities or just talk to a freshman CS teacher, I’m happy to answer your questions.