Problem
Solving and Program Design in C
Computer Science as a Career
Path
Section 1
Why Computer Science May be the Right Field for You
Reasons to Major in Computer Science
Many people in the workforce resist the changes that technology
requires. They often turn to the youngest employees to take over technology
issues and to make choices that will have important consequences. This
difference among generations creates a great environment for bright and
dedicated students to choose to major in computer science or a related field. The
computer industry is one of the fastest growing segments of our economy and promises
to continue to see growth well into the future. In order to be competitive, businesses
must continue to hire well-trained professionals not only to produce high quality
products for the present, but also to plan creative scientific and engineering advances
for the future. A person who is part of the computer industry can choose from a
wide variety of fields where many interesting and challenging problems will
need to be solved. In addition to all the business and communication jobs that
may first come to
mind, people with degrees in computer science are working on
problems from all spectrums of life. A quick review of technical articles
highlights such areas as developing electronic balloting for state and national
elections, using signals from wireless devices to update vehicle and pedestrian
travel times in order to make the
best decisions for traffic signals or management of construction
zones, and using a supercomputer-powered “virtual earthquake” to study benefits
of an early warning system using 3D models of actual geographic locations and
damage scenarios. Some problems being worked on right now by
computer professionals in the medical
world
include understanding how the human brain works by modeling brain activation patterns
with emphasis on helping people impacted by autism or disorders like paranoid
schizophrenia; customizing a wide array of helpful devices for the physically
impaired,
from programmable robotic prostheses to digital “sight”; gathering information from
implanted pacemakers in order to make timely decisions in times of crisis; developing
a computer system capable of recognizing human emotional states by analyzing
a human face
in real-time; and developing human–computer interfaces that allow a computer to
be operated solely by human gestures in order to manipulate virtual objects.
The
fields of security and law enforcement present many challenges to the computer professional,
and include the following: The U.S. government is performing observational
studies on normal behavior in online worlds in hopes of developing techniques
for uncovering online activities of terrorist groups. Advancements in voice
biometrics technology allow speech to be analyzed by computer software to determine
identity, truthfulness, and emotional states. Electronic protection against
malicious software is of great concern to national economies and security
interests.
Traits of a Computer Scientist
very
important to be able to work with different personalities.
Frederick
P. Brooks, famous for leading the team that developed the operating system for
the IBM System/360, wrote a book in the 1970’s titled The
Mythical
Man
Month—Essays on Software Engineering . Even though
much has changed in the computing world since he wrote the book, his essays
still hold a lot of relevance today. He listed the “Joys of the Craft” as the
following: First is the sheer joy of making things of your own design. Second
is the pleasure of making things that are useful to and respected by other
people. Third is the joy of fashioning complex puzzle-like entities into a
system that works correctly. Fourth is the joy of always learning because of
the non-repetitive nature of the work. Finally, there is the joy of working
with a very tractable medium. The programmer can create in his or her
imagination
and readily produce a product that can be tested and easily changed and
reworked. Wouldn’t the sculptor or civil engineer enjoy such easy tractability!
Section 2
The College Experience: Computer Disciplines and Majors to
Choose From
Computing
is a broad discipline that intersects many other fields such as mathematics, science,
engineering, and business. Because of such a wide range of choices, it is
impossible for anyone to be an expert in all of them. A career involving
computing requires the individual to focus his or her efforts while obtaining a
college degree. There are many different degrees that involve computing offered
at institutions of higher learning. These degrees can even be from different
departments within the same institution. Although computing degrees can share
some of the same courses, they can also be quite different from each other.
Choosing among them can be confusing. To ease this confusion, it is wise for
students to be exposed to the work already done on this topic. The three
largest international professional societies for computing
professionals—the
Association for Computing Machinery (ACM), the Association for Information
Systems (AIS), and the Institute of Electrical and Electronics Engineers
Computer Society (IEEE-CS)—produced a cooperative report titled “Computing
Curricula 2005.” Five fields and their suggested college curricula have been
identified and explained in this report: computer science, computer
engineering, information systems, information technology, and software
engineering. Most of the degree programs in our colleges and universities
follow these guidelines. The report states at the beginning that “it is
important that the computing disciplines attract quality students from a broad
cross section of the population and
prepare
them to be capable and responsible professionals, scientists, and engineers.”
There are
countless opportunities for the dedicated and curious individual who is willing
to put in the hard work to obtain a degree. Those students who are also members
of an underrepresented minority will find these fields to be full of prospects.
Computer Science
Computer science as a discipline encompasses a wide range of
topics from theoretical and algorithmic foundations to cutting-edge
developments. The work computer scientists are trained to do can be arranged
into three categories:
• Designing and implementing useful software.
• Devising new ways to use computers.
• Developing effective ways to solve computing problems.
A computer science degree consists of courses that include
computing theory, programming, and mathematics. These courses ultimately
develop the logic and reasoning skills integral to becoming a computer
scientist. The math sequence includes calculus I and II (and in many cases,
calculus III) as well as discrete mathematics. Some students also study linear
algebra and probability and statistics. A computer science degree offers a
comprehensive foundation that permits graduates to understand and adapt to
new technologies and new ideas. Computer science departments are
often found at universities as part of the science, engineering, or mathematics
divisions.
Computer Engineering
For
students who are more interested in understanding and designing the actual computing
devices, many opportunities are available in computer engineering, which is
concerned with the design and construction of computers and computerbased
systems.
A computer engineering degree involves the study of hardware, software, communications,
and the interaction among them, and is a customized blend of an Electrical
Engineering degree with a Computer Science degree. The computer engineering
curriculum includes courses on the theories, principles,
and
practices of traditional electrical engineering as well as mathematics through
the standard calculus sequence and beyond. This knowledge is then applied in
courses dealing with designing computers and computer-based devices. In
addition, programming courses are required so that the computer engineer can
develop
software
for digital devices and their interfaces.
Currently,
an important area for computer engineers involves embedded systems. This
involves the development of devices that have software and hardware embedded in
them such as cell phones, digital music players, alarm systems, medical
diagnostic devices, laser surgical tools, and so on. The devices a computer
engineer
might
work with are limitless as he or she applies his or her knowledge of how to integrate
hardware and software systems.
Information Systems
The information systems (IS) field focuses on integrating
technology into businesses and other enterprises to manage their information in
an efficient and secure manner. In this area, technology is viewed as an
instrument for generating, processing,
and distributing information. Therefore, the focus in this field
is on business and organizational principles.
Most IS programs are located in the business school of a
university or college, and IS degrees combine business and computing
coursework, and the math that is required has a business application focus.
These degrees may be found under such programs as Computer Information Systems
(CIS) or Management Information
Systems (MIS). Degree program names are not always consistent, but
they all have their focus on business principles and applications of technology
with less emphasis on the theory of computer science or the digital design of
computer engineering.
IS specialists must understand both technical and organizational
factors, and must be able to help an organization determine how to use
information and technology to provide a competitive edge. These professionals
serve as a bridge between the technical community and the management community
within an organization.
They are called on to determine the best way to use technology,
organize information, and communicate effectively.
Information Technology
An Information Technology (IT) program prepares students to meet
the computertechnology needs of business, government, healthcare, schools, and
other organizations.
IT has its emphasis on the technology itself, more than on the
informationhandled, the theory behind it, or how to design hardware or
software. IT professionals work with computer systems to ensure they work
properly, are secure, are upgraded and maintained, and are replaced as
appropriate. Because computers have become integral parts of the work
environment for all
employees at all levels of the organization, many enterprises must
maintain departments of IT workers. Organizations of every kind are dependent
on information technology on a daily basis and the need for qualified workers
is great. Degree programs in IT are commonly found in business or information
management
departments, or as an alternate degree in a computer science
department.
IT programs in business departments focus on using applications to
meet the requirements, networking, systems integration, and resource planning.
The emphasis is less on programming and more on using programs already written
to the best advantage. IT programs in computer science departments often have
more emphasis on programming for computer users, with a focus on writing
software for interactive web pages, multimedia, and cloud computing.
IT specialists select appropriate hardware and software products
for an organization and then integrate these products within the existing
infrastructure. They install and customize and maintain the software as needed.
Other examples of responsibilities include network administration and security,
design and implementation
of Web pages, development of multimedia resources, oversight of
email systems, and installation of communication components. User support and training
are often important responsibilities for the IT professional as well.
Software Engineering
Software engineering (SE) is the discipline of developing and
maintaining large software systems. These systems must behave reliably and
efficiently, be affordable, and satisfy all requirements defined for them. SE
seeks to integrate the theory of
computer science and mathematics with the practical engineering
principles developed for physical objects.
An SE degree program is closely related to the computer science
degree program, and they are usually offered within the same department. In
fact, most computer science curricula require one or more software engineering
courses. An SE degree can be considered a specialized degree within the
confines of the field of computer science.
SE students learn more about software reliability and maintenance
of large systems and focus more on
techniques for developing and maintaining software that is engineered to be
correct from its inception. Most programs require SE students to participate in
group projects for the development of software that will be used in
earnest by others. Students assess customer needs, develop usable
software, test the product thoroughly, and analyze its usefulness.
Professionals who hold a software engineering degree expect to be
involved with the creation and maintenance of large software systems that may
be used by many different organizations. Their focus will be on the design
principles that make the system viable for many people and through many years.
Although an SE degree has a recognized description, the term software engineer is
merely a job label in the workplace. There is no standard definition for this term when used in a job
description, and its meaning can vary widely among employers. An employer may think
of a programmer or an IT specialist as a software
engineer.
Mixed Disciplinary Majors
Technology is opening doors for fields of study that combine
different sciences or engineering fields with computing. Institutes of higher learning
have responded by offering courses or programs for multidisciplinary majors.
Some examples follow.
• Bioinformatics
is the use of computer science to maintain,
analyze, andstore biological data as well as to assist in solving biological
problems—usually on the molecular level. Such biological problems include
protein folding, protein function prediction, and phylogeny (the history,
origin, and evolution of a set of organisms). The core principal of
bioinformatics involves using computing resources to help solve problems on
scales of magnitude too great for human observation.
• Artificial
Intelligence (AI) is the implementation and study of
systems that can exhibit autonomous intelligence or behaviors. AI research
draws from many fields including computer science, psychology, philosophy,
linguistics, neuroscience, logic, and economics. Applications include robotics,
control systems, scheduling, logistics, speech recognition, handwriting
recognition,
understanding
natural language, proving mathematical theorems, data mining, and facial
recognition.
• Computer
Forensics is a branch of forensic science pertaining
to legal evidence that may be found in computers and digital storage devices.
The collection of this evidence must adhere to standards of evidence admissible
in a court of law. Computer forensics involves the fields of law, law
enforcement, and business.
• Cryptology
(or cryptography) is the practice and study
of hiding information and involves mathematics, computer science, and
engineering. Electronic data security for commerce, personal uses, and military
uses continue to be of vast importance.
• Mechatronics
is the combination of mechanical
engineering, electronic engineering, and software engineering in order to
design advanced hybrid systems.
Examples
of mechatronics include production systems, planetary exploration rovers,
automotive subsystems such as anti-lock braking systems, and autofocus Cameras.
Even when
the definitions are given for the different computing disciplines mentioned in
this chapter, it is easy to see that there is great overlap among all of them.
In fact,
many professionals who have earned a computer science degree may be working in
jobs that are closer to an information systems description or vice versa. The
student is encouraged to choose a computing field that seems closest to his or her
personal goals. Keep in mind that in general, computer science is probably the
degree
that will open the most doors in the most diverse areas of computing.
Section 3
Career Opportunities
The
Bureau of Labor Statistics is the principal fact-finding agency for the U.S.
Federal
Government in the field of labor economics and statistics. This agency
publishes
The
Occupational Outlook Handbook , which is a
nationally recognized source of career information, designed to provide
valuable assistance to individuals making decisions about their future work
lives. The Handbook is
revised every two years.
In 2011,
an occupation search using the term computer
science resulted in over 9000 search results with
more than 40 career matches. This means that computer
science
was listed in the job description, or in the
type of degree desired, or in the recommended courses for that job. Examples of
the matched include Computer Software engineers, Computer Systems analysts,
Mathematicians, Computer Programmers, Web Designers and Developers, Secondary
and Postsecondary
Teachers,
Statisticians, Medical Records and Health Information Technicians, Atmospheric
Scientists, Market and Survey Researcher, Economists, Radiation Therapists,
Urban and Regional Planners, Surveyors and Mapping Technicians, Conservation
Scientists and Foresters, Travel Agents, Private Detectives and
Investigators,
Geoscientists, Psychologists, and Interpreters and Translators.
The Demand in the United States and in the World
According to the BLS Occupational Outlook Handbook, computer software engineer and computer scientist and database
administrator are some of the occupations projected
to grow the fastest and to add the most new jobs over the
2008–2018 decade.
Strong employment growth combined with a limited supply of
qualified workers will result in excellent employment prospects. Those with
practical experience and at least a bachelor’s degree in computer engineering
or computer science should have the best opportunities. Employers will continue
to seek computer professionals with strong programming, systems analysis,
interpersonal, and business skills.
The Federal Government is the nation’s largest employer, with more
than 1.8 million civilian employees. Computer specialists—primarily computer
software engineers, computer systems analysts, and network administrators—are
employed throughout the federal government. Of all the “professional and
related occupations”
listed as employed by the federal government, only the occupations
of computer specialists and conservation scientists were projected to have an
actual increase in job numbers for the 2008–2018 decade.
The growing need for computer professionals is increased by the
looming retirement of a generation of baby boomers, and all of this is
occurring as the government projects that the computer science/IT workforce
will grow nearly 25 percent between 2008 and 2018 more than twice as fast as
the overall workforce.
Today’s student should not be worried about any impact outsourcing
computer jobs to other countries will have on their ability to find a job. The
fact is many companies have tried outsourcing entire projects and found that it
does not work well. Some of the more mundane aspects of coding can be
outsourced, but the more creative
work is best kept in house. For example, during the design and
development of a new system, interaction with specialists from other
disciplines and communication with other team members and potential system
users are of utmost importance. These activities cannot be effectively done
from a distance. Many companies are
abandoning outsourcing and doing more system development at home.
The number of graduates from the computing fields will not meet
the demand in the marketplace in the foreseeable future. Projections and
statistics show that there will be plenty of jobs to be offered to the
qualified computer professional and the salaries will be higher than the
average full-time worker earns in the United States.
The Demand for Underrepresented Groups
The demand for women and minorities to fill computer-related jobs
is higher than ever. The computer-related fields have traditionally seen small
numbers of women and minorities in the workplace. Colleges and universities
want to attract these groups to computer science and IS departments and often
offer good scholarships
and opportunities. According to a recent study by the National
Center for Women and Information Technology, the most successful IT teams were
also the most diverse.
The study showed that diversity of thought leads to innovation,
and that companies should be aware of the significance of diversity.
Prospective students should not be turned away by the stereotypical view of a
“computer geek” who sits in front of a computer all day, but should realize all
the opportunities to be found in such a
diverse and fast-growing field. Computer professionals will be
creating the applications that allow computers to solve real-world problems.
New Careers Constantly on the Horizon
It is clear that there will be a healthy need for computer professionals
in the career paths that are known about today. For the student just starting
to plan a career, there will surely be opportunities that have not even been
imagined yet. The possibilities
are amazing and the rewards are many.
One such window into the future can be seen in the work of Bruce
Donald, a professor of Computer Science and of Biochemistry at Duke University.
Through his research, Professor Donald has developed microscopic robots that
can be controlled individually or as a group. These robots are measured in
microns (millionths of a meter) and are almost 100 times smaller than any
previous robotic designs of their kind. “Our work constitutes the first implementation
of an untethered, multimicrorobotic system.” Each robot can respond differently
to the same single “global control signal” as voltages charge and discharge on
their working parts. A budding computer scientist should see many fantastic
applications for these devices!
The student who chooses to major in computer science or a related
field can look forward to challenging and interesting classes. The job market
will be wide open upon graduation, with the assurance that such degrees will be
highly marketable. A new employee or researcher will have opportunities to be
at the forefront
of innovative technology in a constantly changing world. The
prospects are limited only by the imagination.
No comments:
Post a Comment