What is Software Engineering?

Software Engineering is defined in IEEE Standard 610.12 as "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." David Parnas, an internationally-known scholar in computer science and engineering, recently noted that "as chemical engineering is a marriage of the science of chemistry with ... engineering areas..., the software engineering field should be a marriage of the science of software with the older knowledge of the engineering profession." Recognizing the growing need for programs preparing students for careers in the engineering of large complex software systems and products, in 1998 the Accreditation Board of Engineering and Technology (ABET) approved accreditation of undergraduate programs in software engineering. Mississippi State University seeks to offer an ABET-accredited software engineering program to the citizens of Mississippi and to produce graduates with the additional capabilities desired by companies, thereby improving the opportunities for citizens and the economic climate of the State.

Learning Objectives

The following educational objectives for the Software Engineering program have been developed by the program's constituents and with an eye toward Mississippi State's Mission.

Degree Requirements

2001-2002 Degree Requirements and Illustrative Program of Study
2002-2003 Degree Requirements and Illustrative Program of Study
2003-2004 Degree Requirements and Illustrative Program of Study
2004-2005 Degree Requirements and Illustrative Program of Study
2005-2006 Degree Requirements and Illustrative Program of Study
2006-2007 Degree Requirements and Illustrative Program of Study
2007-2008 Degree Requirements and Illustrative Program of Study


The requirements for the Bachelor of Science degree are specified in the annual Bulletin of Mississippi State University (the catalog). Each year the requirements change slightly, and every few years there are substantial changes in requirements. These changes are, of course, to assure that computer science graduates from Mississippi State University are well-prepared and competitive with graduates from any program in the country.

Students beginning their studies at MSU or at a community college who remain in near continuous enrollment can satisfy the requirements for the B.S. degree by completing the requirements specified in the Bulletin for their freshman year OR they can opt for the requirements specified in any more recent Bulletin. However, students must satisfy ALL requirements of one Bulletin, with any course substitution approved in writing by the student's advisor and the Coordinator of Undergraduate Programs.

The degree requirements are presented in the Bulletin in the form of an illustrative program of study showing on order of course enrollments that satisfy the requirements. There are, of course, many others. The requirements from recent Bulletins and a corresponding illustrative program are given above.

Minors in Software Engineering

Software Engineering is defined in IEEE Standard 610.12 as "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." Students that wish to study this area to a limited degree can do so by majoring in a related area and taking a concentration of software engineering classes that constitutes the minor offering (i.e., 21 hours of course work). These 21 hours are chosen to give the student a basic understanding of the tenets of software engineering and will allow students to practice in the field should they desire to so do.

A minor in software engineering consists of CSE 1284, CSE 1384, CSE 2383, CSE 4214, and nine hours of approved upper-division software engineering courses. A list of approved courses is available from the Department of Computer Science & Engineering.