2003-2004 UAF Catalog

Degrees and Programs

Software Engineering

College of Science, Engineering and Mathematics
Department of Mathematical Sciences
(907) 474-7332

Degree: M.S.E.

Minimum Requirements for Degrees: 30 credits

Downloadable PDF (440K)

Software engineering is a relatively young discipline defined as "the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software" (IEEE Standard Glossary of Software Engineering Terminology). Superior software engineering results in high-quality software projects that meet required deadlines within budget constraints. Students in this program will learn to use specific tools and processes for the design and development of software, learn how to effectively test software, learn when and why to reuse software, and manage projects to achieve these results.

This software engineering program is meant to prepare students for careers as software practitioners, i.e., those whose primary job is to design, develop, maintain or manage software projects of varying scales. Most students admitted to the program will hold undergraduate degrees in scientific or engineering fields. Applicants with degrees in other fields will be considered for admission if they can clearly demonstrate the ability to perform graduate-level work in software engineering. This program is based upon recommendations offered by the Carnegie Mellon University's Software Engineering Institute and the Software Engineering Coordinating Committee, an international group formed by the Association for Computing Machinery and Institute of Electrical and the Electronics Engineers (IEEE). Local and nationwide demand for software engineers is high and continues to increase.


Graduate Program

Software Engineering -- M.S.E. Degree

  1. Complete the UAF admission process including the following:
    1. Submit GRE general scores.
    2. Complete at least a bachelor's degree at an accredited institution with a GPA of at least 3.0. Complete coursework or possess practical knowledge at the advanced undergraduate level in each of the following areas: computer organization, discrete mathematics, algorithms and data structures, object-oriented programming (e.g., C++, FORTRAN95, or Java), and an in-depth knowledge of at least two of the following topics; compiler techniques, comparative programming languages, operating systems, or database systems.
    3. Have at least two years of relevant software development experience or equivalent.
  2. Complete the general university requirements.
  3. Complete the master's degree requirements (page 46).
  4. Complete the following:
    CS 602 -- Project Management and Professional Practice (3)
         or ESM 609 -- Project Management (3) (3 credits)
    CS 670 -- Computer Science for Software Engineers (3 credits)
    CS 671 -- Advanced Software Engineering (3 credits)
    CS 690 -- Graduate Seminar and Project (3 credits)
    CS 691 -- Graduate Seminar and Project (3 credits)
    ESM 608 -- Legal Principles for Engineering Management (3)
         or BA 604 -- The Legal Environment of Business (3) (3 credits)
    Approved electives (12 credits)
  5. Minimum credits required (30 credits)

Note: Each student must take and pass a comprehensive examination covering material from all of the required courses listed in item 4 above.

See Computer Science.