Prospective Students - [ Undergraduate Studies - 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.
- The instruction a student receives will be consistent with national norms and will enable the student to understand the state-of-the-practice engineering of software systems and products and to become a competent software developer, and to understand how software systems are designed, constructed and maintained.
- The graduate can successfully compete for software engineering positions in the discipline at both the regional and national levels, and will be successful in the discipline by being able to apply computer science to software engineering processes in practical circumstances.
- The graduate can solve technical problems together with co-workers in a team environment, can use and develop software tools, and apply written and oral communication skills effectively in the workplace.
- The graduate can compete for admission to graduate programs nationwide, and will be able to continue learning new principles and practices of computing as the field progresses. The graduate is capable of advancing to professional certification, as it becomes available nationwide.
- The graduate will understand and be able to apply social and ethical duties that arise from the increased use of technology in society.
Degree Requirements
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.

