|
05.11
Path to
Licensure: A Bachelor’s Degree in Software
Engineering or Computer Science?
By Donald J. Bagert
One of the implications of
establishing a licensure path for software
engineers that could be used in the United
States is the need to obtain an “appropriate”
undergraduate degree. The two most likely
candidates for such a degree are the Bachelor of
Science in Computer Science (BSCS), which
generally covers much more software content than
hardware, and the Bachelor of Science in
Software Engineering (BSSE). This article looks
at the effects of selecting each of these
degrees if a student might eventually want to be
licensed as a Professional Engineer (P.E.).
Background on BSSE
The Bachelor of Science in
Software Engineering (BSEE) degree is fairly new
to the United States, with the first degree
program available in 1996, and no others until
1999. However, things began to steadily increase
after that, with 32 programs by 2005, and 48 by
2011.
Meanwhile, ABET (the recognized
accreditor in the United States degree programs
in computing, engineering and other disciplines)
began accrediting software engineering programs
under its Engineering Accreditation Commission (EAC)
in 2003. The list of accredited U.S. software
engineering programs has also steadily grown,
from the original group of four in that first
year to 21 in 2010.
To be accredited as an ABET/EAC
software engineering program, the degree
requirements must satisfy both the EAC general
criteria for all engineering programs and the
program-specific criteria for software
engineering. The general criteria state that all
engineering program curricula must have:
-
One year of a combination of
appropriate mathematics and basic sciences;
-
One-and-a-half years of
engineering topics, consisting of
engineering sciences and engineering design
appropriate to the student's field of study
(computer science courses may be used as
engineering sciences);
-
A general education
component that complements the technical
content; and
-
A major capstone design
experience
The program-specific criteria
state that the curriculum must additionally be
such so that software engineering graduates also
have the following abilities:
-
To analyze, design, verify,
validate, implement, apply, maintain and
manage the development of software systems;
-
To appropriately apply
discrete mathematics, probability and
statistics, and relevant topics in computer
science and supporting disciplines to
software systems; and
-
To work in one or more
significant application domains
Concerning the last bullet:
Since, every software product is intrinsically
tied to a particular application domain,
understanding domain-specific information is
essential for the proper development of software
in that application area. Some software
engineering programs concentrate on a particular
application area (e.g., electrical/computer
engineering applications at Clarkson University)
while others allow the student to pick from a
variety of possible application areas (e.g.,
Rochester Institute of Technology).
Here is an example of a software
engineering curriculum that follows the above
criteria:
-
Math: Two semesters of
calculus, two courses in discrete math and a
probability and statistics course.
-
Basic Science: Two semesters
of physics plus one semester of biology or
chemistry, all with labs and taken by at
least some other science or engineering
majors.
-
Engineering Science: Seven
computer science courses plus one computer
engineering course.
-
Engineering Design: Five
software engineering courses covering the
engineering process topics listed in the
program-specific criteria, plus a
two-semester capstone project.
-
Application Domain: Five
courses in an application area.
-
General Education: One
additional year of courses, including
technical writing and oral communication.
Not much flexibility exists
here, although the basic sciences could be
different and there could possibly be fewer
courses in the application area.
Background on BSCS
Compared to the BSSE, the
Bachelor of Science in Computer Science (BSCS)
degree has been around for quite a while, having
first appeared in the United States in the early
1960s. More than a thousand bachelor’s degree
programs in computer science exist today,
including at virtually every institution in the
United States with a medium-to-large enrollment.
In the early 1980s, the Computer
Sciences Accreditation Board (CSAB) was formed
for the purpose of accrediting computer science
programs in the United States, using an
accreditation commission (CSAC) not unlike the
EAC of ABET. In the late 1990s, CSAB began
serious discussions with ABET (which at the time
only accredited applied science, engineering and
technology programs) about merging the two
organizations. By the early 2000s, the
integration of ABET and CSAB was complete, with
the new organization keeping the title ABET. The
work previously done by CSAC was now done by the
Computing Accreditation Commission (CAC) within
ABET. The CAC was also expanded over time to
include both information sciences (IS) and
information technology (IT) programs.
There are now more than 250
ABET/CAC computer science-accredited programs in
the United States, virtually all with a Bachelor
of Science degree. There are Bachelor of Arts
computer science degrees but the ABET/CAC
criteria makes it difficult to accredit them and
there are computer science programs that choose
not seek ABET/CAC approval. Accreditation has
not been required to successfully obtain a
quality position in the field of computer
science, as it has been for those with
engineering degrees.
Similar to software engineering,
to be accredited as an ABET/CAC Computer Science
program, the degree requirements must satisfy
both the CAC general criteria for all its
programs (CS, IS and IT) as well as the
program-specific criteria for computer science.
The general criteria state that all curricula
accredited by CAC must have:
-
One of year of courses on
fundamental and advanced topics in the
computing discipline, and
-
Mathematics appropriate to
the discipline beyond the pre-calculus.
The program-specific criteria
for computer science expand and add to the
general criteria as follows:
The reason why one and one-third
years of computer science is required, as
opposed to 1.5 years of engineering topics in
EAC, is that some BSCS programs are housed in an
academic unit (e.g. College of Arts & Sciences)
that limits the courses in the student’s major
to one-third of the total four-year curriculum.
However, if there is no such restriction (e.g.
if CS is housed in a College of Engineering),
there may well be additional computer science
coursework.
Here is an example of a computer
science curriculum that also follows the above
criteria:
-
Math: About the same as for
software engineering, with linear algebra
probably also included.
-
Science: About the same as
for software engineering.
-
Computing: Two years of
computing courses, including the computer
science topics shown above, one computer
engineering course and a 1-2 semester
capstone (not required by CAC, but often
included).
-
General Education: About the
same as for software engineering.
This is pretty close to the
sample software engineering curriculum above,
but keep in mind that the computer science
programs have more flexibility; for instance,
the program could have 40 hours of major
courses, with no capstone. Regardless, the
accredited computer science curriculum will have
more computer science and less software
engineering than its software engineering
counterpart, which will also have the
application area courses.
Questions to Ask
So what questions should a
prospective college student be asking when
considering whether to pursue a BSCS or BSSE
with the option in mind of becoming a licensed
P.E. in the future? Here are a few suggestions:
-
Will the engineering
licensing board in the state where you want
to work accept BSCS and BSSE degrees?
All 55 of the engineering licensing
jurisdictions in the United States recognize
an ABET/EAC-accredited degree as appropriate
for licensure, so an accredited BSSE degree
will always be accepted. However, the same
is not true for a BSCS degree. Even if it’s
accredited by CAC and accepted by a
particular state, an additional number of
years of work experience is usually
required.
-
How far away is the
nearest accredited BSSE program? Only 15
states have accredited BSSE programs, while
47 states have accredited BSCS programs.
-
How much software
engineering content can be taken with this
BSCS program? Software
design/engineering is a smaller part of most
BSCS degrees than BSSE programs, and often
varies widely from school to school. Find
out the maximum number of software
engineering courses allowed within a
particular BSCS curriculum.
-
How much computer science
content can be taken with this BSSE program?
A major concern posed by some computing
professionals is that the additional
software engineering content is added to a
BSSE at cost of additional upper-level
computer science courses found in a BSCS.
Find out the maximum number of possible
computer science courses allowed within a
particular BSSE curriculum.
-
How much of the
“traditional” engineering sciences are
covered in these programs? Neither EAC
nor CAC criteria require a BSSE or BSCS
program, respectively, to take engineering
sciences such as statics and dynamics,
strength of materials, fluid mechanics or
thermodynamics, all topics which are part of
the Fundamentals of Engineering examination
required of most people pursuing a P.E.
However, it is possible that a particular
BSSE program allows such study under
application domains, so asking about this is
a good idea.
Conclusion
At some point there may be
enough accredited, quality software engineering
degree programs so that getting a BSSE degree
will be the natural step for a person who wants
to eventually become a Professional Engineer in
software engineering. However, considering the
limited number of Bachelor of Science in
Software Engineering programs and their relative
“immaturity” compared to their computer science
counterparts, pursuing a BSCS might be the right
choice for a individuals out looking for a
school and program right now.

Don Bagert is a Professor of Computer Science at Southeast Missouri State University in Cape Girardeau, Missouri. He is a Senior Member of IEEE, a licensed Professor Engineer in the State of Texas, and is helping with the development of the NCEES Principles and Practices Examination in Software Engineering.
Comments may be submitted to
todaysengineer@ieee.org.
|