Offshore
Outsourcing
Coming
to a Town Near You
Joe Kmoch
Washington High School, Milwaukee, Wisconsin
Offshore Outsourcing" strikes fear in the hearts of many in all
kinds
of industries and is likely to play a bigger role in careers involving
computer
science. What does this have to do with computer science at the high
school
level? I think potentially a lot.
From my reading it appears that the results are twofold at least in
one camp.
Jobs involving application development which many do with their
computer science
degrees are and will continue to be candidates for movement offshore.
The kinds
of jobs that US companies will likely keep here involve planning (what
Id
label system analysis) and actual application of systems to
businesses.
As I think about the kinds of jobs that will persist on US shores and
what
people do in these jobs, there is a higher level of thinking skills
required
and there is a lot of human interaction with clients involved. In
addition,
knowledge of business is viewed as important.
At the high school level we teach computer science courses for a
variety of
reasons. Some of these reasons are exposure to this kind of work as a
possible
career, problem solving (whatever that means) and just plain fun. So
how might
this current trend toward offshore outsourcing relate to our high
school courses?
To me, one thing is clear. Those courses need to be more than
programming,
at least if we are really going to deal with the first two reasons
listed above.
To be sure a definition of computer science is more robust than just
programming;
the development and analysis of algorithms, data structures, and the
study of
standard algorithms and typical applications are included. While these
certainly
encourage the development of high order thinking skills on the
students
part, not all of our courses deal with these areas beyond
programming.
What we should try to do in our courses is to encourage the
development of
problem solving using the four problem solving phases that George
Polya described:
understand the problem, plan the solution, implement the solution, and
make
sure it really solves the problem using a good set of test data.
Unfortunately,
all too often we "understand" the problem for the students,
we develop
a plan to solve it, they write the code to accomplish this plan, and
we provide
the good data for testing. As we proceed through the course, we should
be trying
to get the students to do more of the other phases, thus rounding out
their
abilities for problem solving.
To respond to the human interface issue, businesses (at least those
we deal
with in my school) continue to emphasize that developing employability
skills
and job readiness is most useful, regardless of the kinds of careers
and opportunities
they may seek.
Finally, with respect to the need suggested by businesses that
students learn
about business, I think what were talking about is making sure
that there
is context for the computer science work we have students do at least
some of
the time.
We are in the business of preparing students both to enter the
marketplace
and to continue with their education. With the changing job
requirements I think
we need to make sure that at least within our computer science
courses, that
we help students do both.
References
"The Future of Jobs and Innovation", CIO Magazine,
December
15, 2003.
http://www.cio.com/archive/121503/jobfuture.html
Polya, George. How to Solve It. Princeton University Press,
1982 (reissued).
College Board. AP Computer Science Course Description. 2003.
http://www.collegeboard.com/student/testing/ap/sub_compscia.html
|