Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
0Activity
0 of .
Results for:
No results containing your search query
P. 1
Overview of Computer Science

Overview of Computer Science

Ratings: (0)|Views: 0 |Likes:
“Computer scientists have the same relationship with computers that astronomers have with telescopes and biologists with microscopes.”
“Computer scientists have the same relationship with computers that astronomers have with telescopes and biologists with microscopes.”

More info:

Published by: The Old Schoolhouse® Magazine on Feb 22, 2014
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

02/22/2014

pdf

text

original

 
Overview of Computer Science By Andy Harris
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 it 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 provide an important means of expressing 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 tea
chers 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 that 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:
 
Applications
If a kid is going to encounter computers as a user (and he will), we have an obligation to ensure he understands the basic applications at a user level. All kids should know how to use a word processor, spreadsheet, and presentation software.
 
Data
—Today’s economy is increasingly about data. If you want your kids to thrive in
the near future, they must be fluent with what data is, how it is organized, and how to use it.
 
Synthesis
—It’s
 easier than ever to build computing applications that do exactly what you want. While formal programming languages may not be for everyone, the ability to convert an algorithm into instructions for a computer to solve is absolutely essential.
 
Cross-Discipline
—Computing supports nearly any other discipline. If you’re interested
in art, music, writing, or science, a solid knowledge of computing will be of benefit to you as you study your primary interest. I think of computer science as a twenty-first-century liberal art. It provides foundational knowledge that is beneficial in nearly every other area of study.
 
Support
There are opportunities in networking, security, and support. If your kids already like tinkering, you can look at ways to reinforce this behavior.
Career Options in Computing
One of the best reasons to teach computing is its vocational potential. The U.S. 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,430, and the median wage for a computer scientist was reported at $97,980 in May of 2008 (
www.bls.gov/oco/ocos303.htm
). There are roughly three jobs for every qualified applicant in the computing disciplines. Seventy-one percent 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:
 
Computer Support
These are the folks who fix and maintain computing systems. This is one of the few disciplines in computing that does not require a college degree, but it does not offer the high wages and numerous opportunities offered by other forms of computing. About 7% of those in computing jobs are expected to be in this area.
 
Computer Networking
This (along with support) is the creation and maintenance of data infrastructure. It accounts for 21% of the careers in computing.
 
Software Engineering/Programming
These are the people who actually write code. Sometimes they are writing programs for consumers; more often they are customizing software for a specific business or industry. Generally a four-year degree in computer science is preferred, although it is possible to get into the field without such credentials. Software engineering and programming are the largest single part of the computing puzzle, comprising about 27% of projected jobs in computing though 2018.
 
 
Systems Analysis
This is the link between software and management
the folks who know enough about computing to plan and manage large projects. Most systems analysts come from the ranks of software engineering and often hold advanced degrees in computer science or business in addition to experience in the field.
 
Database Administrator
This person manages the design and management of large amounts of data. Data administrators often have some programming background as well as management roles. Much of the interesting work in data today revolves around data mining, which is about using advanced techniques to read inferences from data.
 
Research
Computing is a young discipline, and there will always be a need to investigate the frontiers. Computer science researchers generally work at universities or large companies. A Ph.D. in computer science is generally necessary, and the number of such people is relatively small.
1
 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:
 
Play a lot
Building the hardware and playing with the software is a good start.
However, don’t expect your CS professors to be impressed that you’ve built a
computer or played a lot of games. These things are great, but assembling
components from a computer store doesn’t really teach you much about how
computers really work. Having a consumer-level knowledge of games and applications is also a good starting point, but not enough.
 
Build things
—It doesn’t matter much which environment you use, but make the switch from using tools to making stuff. For example, it’s one thing to play around
with
Google Earth
. It’s quite another to build your own content and add it to the
database. You could be creating content in art, writing, or music, but eventually
you’ll end up giving detailed instructions to the computer.
 
 
Learn to program
—It’s not fashionable now to recommend computer programming, but I can’t think of a more practical seco
nd-tier skill (after the fundamentals of
reading, writing, and mathematics). You don’t need some complicated or expensive
language, but you will need to learn how to think through a problem-solving process and convert your thoughts into something a computer can follow.
 
Take math courses
Computer science is really a form of applied mathematics. If you like computers, you like math, but you just might not know it yet. If you want to be
a professional programmer, you’ll use basic algebra quite frequently. If you’re in certain disciplines such as security or game development, you’ll need quite a bit more math (calculus, statistics, and linear algebra are all handy). If you don’t like math, stick with computing anyway. Soon enough, you’ll see why you need the
math, and it will make more sense when you know you will be using it.
 
Practice
Make stuff. I give plenty of ideas about how to get started every month in TOS. Get going! Build web pages, programs, games, tools, apps, or whatever.
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

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->