Volume 5 Number 2 - Software Engineering Education
Today the cost of software could easily account for twenty percent of the Department of Defense budget according to Paul Strassman, a former Director of Defense Information. That would equate to an annual expenditure of over $60 billion, a huge investment by any standard. Any marginal improvement in the effectiveness of this software or the efficiency of its acquisition would yield an enormous return on the investment in both the near term, and over the life cycle of the systems being acquired.
DoD software systems are typically highly complex and may also be real-time and mission critical, so any cost savings gained are unlikely to come from simple, easy actions or "quick fixes." Realizing this, the Navy concluded that well-educated managers would have the greatest impact on effectiveness. Decision makers who understand the software acquisition process and have an in-depth knowledge of the principles of good software engineering represent the most cost-effective way to improve the overall quality and reduce the life cycle cost of tomorrow's software systems. Topics of concern include software architecture, system requirements, software design, challenges, and risks.
In support of this concept, a unique and highly innovative program in graduate education in software engineering has been undertaken at the U.S. Naval Postgraduate School, Monterey, California. The program offers both Masters and PHD degrees in software engineering. Although some students are in residence on the campus in Monterey, most are gaining their degrees through Distance Learning. These classes are conducted via video teleconferencing primarily, and involve both military and DoD civilians from activities across the country, and a few stationed aboard ships or overseas.
The curriculum covers all the principles of superior software engineering and the software engineering body of knowledge, but it's tailored to be particularly relevant to the current and emerging needs of the Navy and DoD. Thus, topics uniquely applicable to DoD systems are the prime focus of this program. Typically, these receive little emphasis at other universities. One such focused course is the guaranteed performance and safety of software systems a topic of great importance for weapons systems, missile systems, and others. Other courses cover the development of embedded real time systems; software engineering research and development in DoD; engineering network centric systems; and automated software/hardware integration in DoD; among other uniquely relevant topics to DoD activities.
Students in the Masters Program are typically mid-level DoD managers and engineers, and are frequently working within development commands for major DoD systems. The program is normally two years but some students may accelerate or slow their pace for personal or professional reasons. Regular class sessions are conducted each week and students "attend" via video teleconference. The MS degree requires twelve graduate level courses and a thesis. A distance learning course matrix is shown in Table 1.
1 - Fall | SW3460 (3-1) Software Methodology |
SW4582 (3-1) Software Safety |
2 - Winter | SW4591 (3-1) Requirements Engineering |
SW4580 (3-0) Design of Embedded Real-Time Systems |
3 - Spring | SW4590 (3-1) Software Architecture |
IS4300 (3-2) Software Engineering & Management |
4 - Summer | SW4540 (3-1) Software Testing |
MN3309 (4-1) Acquisition of Embedded Weapon Systems Software |
5 - Fall | SW4592 (3-1) Software Risk Assessment |
IS3301 (3-2) Fundamentals of Decision Support Systems |
6 - Winter | SW4500 (3-1) Software Engineering |
EO4011 (3-2) Systems Engineering for Acquisition Managers |
7 - Spring | SW0810 (0-8) Thesis Research |
SW0810 (0-8) Thesis Research |
8 - Summer | SW0810 (0-8) Thesis Research |
SW0810 (0-8) Thesis Research |
Table 1 - Curriculum schedule for a civilian to obtain a Master of Science degree in Software Engineering
in two years via distance learning.
For those students who are particularly gifted and who wish to become involved in more research associated with software engineering, the PHD degree program is also available.
The Naval Postgraduate School was the first university to offer a PHD in Software Engineering, and it remains one of the very few opportunities to earn this degree via distance learning. Again, students are typically military or civilian professionals in mid-career and will work on the PHD degree over a period of approximately three years.
Additionally, for students or organizations not fully ready to commit to a full graduate degree, short-term programs can be tailored to lead to Software Engineering Certificates in particular areas. These courses are taught at the graduate level. If the student takes a real interest, and later decides to pursue a graduate degree, a number of graduate credits will already be available to apply to the overall credit requirement needed for satisfactory completion.
Unique to this graduate-level distance learning program is the focus of the research associated with the thesis or dissertation. It is typical for students to be attracted to the program because they are particularly interested in improving some aspect of their job or the process associated with the software systems that they are acquiring. Thus, they choose research topics which are relevant to their own situation and their own commands.
Thus, in addition to potentially resolving the original technical problem, their graduate education leads to long term improvement in better and more capable software system managers, better systems, and greater effectiveness within their organizations. And all the time that the student is getting the graduate degree, he or she is still on the job - just doing it better each month. From the employer's perspective, there is also a big advantage to retaining educated and top performing individuals within the command or organization. Those returns on any investment are hard to beat!
Finally, the cost of each program is very competitive with the cost of getting graduate degrees from other universities. The costs can be underwritten by a variety of methods from total underwriting by the parent organization; to research support for specific issues/tasks; to fellowships; to various tuition assistance programs.
The center of software engineering research activity associated with the educational program at NPS is the Software Engineering Automation Center. It is positioned to afford maximum flexibility in achieving high quality research in software engineering while facilitating excellence in software engineering education. The web site for additional information is http://seac.nps.navy.mil.
Jack Jensen, is the Managing Director of the Software Engineering Automation Center, at the U.S. Naval Postgraduate School.
CAPT Jensen has broad experience in the development and acquisition of DoD software and in computer systems management. His Navy experience included tours on the SECNAV staff, as Program Manager for Navy Environmental Systems, and as the Commanding Officer of Fleet Numerical Meteorology and Oceanography Center, one of DoD's largest supercomputer centers. His civilian experience includes managing the development of software systems and the education and training of computer systems professionals.
Jack Jensen, CAPT USN (Ret)
Software Eng. Automation Center
U.S. Naval Postgraduate School, 833 Dyer Rd.
Monterey, CA 93943
Phone: (831) 656-2168
E-Mail: [email protected]
URL: www.nps.navy.mil
1. Federal Computing Week, April 26, 1999, http://www.fcw.com/fcw/articles/1999/FCW_042699_385.asp
![]() |
![]() |
![]() |