Online Services Government Employment Education Business Tourism Need Help
Technology Council Heading City Letter Head
Academic Program Priorities: Software Engineering

  1. Centrality to Roles & Missions & Strategic Plans of the University
    Software Engineering principles are the building blocks for the software-based infrastructure that will drive the New Economy. All software intensive disciplines, from databases to information technology to geographic information systems to bioinformatics and beyond, require the use of software engineering principles. Benefits from improvements in education and research in this area will reach far beyond the disciplines of software engineering and computer science, affecting every aspect of a New Economy that depends heavily on the development of cost-effective, quality software systems.

    Software Engineering is by its nature a multi-disciplinary discipline, spanning nearly every field that uses software systems. It is therefore highly aligned with the land-grant and comprehensive public university roles of UNL. By providing principles and strategies for developing high-quality software systems, Software Engineering will impact the quality of education, research, and service throughout campus.

    Because Software Engineering is a new and emerging discipline that is experiencing rapid growth, significant resources and priority are necessary to ensure that UNL retains the ability to meet its tripartite mission of education, research, and service now and in the future. Doing so will help UNL achieve national prominence in research and education in an area of national significance and provide the necessary infrastructure to create a vibrant new economy based on information technologies in the State of Nebraska.

  2. Need and Demand
    There is a critical national need to develop scientific and engineering principles to fuel and promote the New Economy and its software-based infrastructure. Software Engineering is the study of building large-scale, high quality software systems that meet user needs and are built within schedule and budgetary constraints. As our society's reliance on large and mission critical software systems increases, so does our need to better understand and apply principles of software development. There is an increasing recognition by industry that software engineering practices have matured to the point that they are becoming necessary to compete in today's increasingly complex and fast-paced technology milieu. But the demand for software has grown faster than our ability to produce it.1 The majority of practicing software developers have no formal software engineering training and current research is falling short of the need for improvements in Software Engineering principles, practices, and tools.

    Software systems are amongst the most complex human produced artifacts, and current methods are inadequate for analyzing and constructing these large and complex systems.2 Software development methods remain labor-intensive and prone to errors. The Standish Group reports that 73 percent of software projects are late, substantially over budget, cancelled, or fail to meet the needs of customers.3 Only 16 percent of software projects are completed on-time and on-budget and of these, only 42 percent deliver the originally proposed features. Software failures causing the loss of two NASA Mars probes, the Denver airport baggage handling system, the multi-billion dollar failure of next-generation Air Traffic Control systems and other high visibility software problems underscore the critical need for improved software development methods and tools. As our reliance on software systems continues to increase, the potential of these systems to cripple commerce and/or threaten human life, also increases.

    In the meantime, the demand for software systems continues to expand at a rapid rate. Software is now the third largest industry in the U.S., behind automobile manufacturing and electronics, and growing at a 12.5 percent rate between 1990 and 1996, nearly 2.5 times faster than the overall U.S. economy.4 Although the numbers are not yet available, this rate surely increased during the "dot com" expansion in the past few years. In spite of the more recent "dot bomb" phenomenon that has dampened these numbers, it is widely believed that the networked economy is here to stay, securing the software industry's position as a future economic leader.

    The State of Nebraska has a critical need for IT and software trained professionals. The AIM Institute reports that 11.5% of all workers in Omaha are IT professionals, that IT employment is projected to grow about 5% per year over the next 5 years, but that only 59% of IT professionals hold a baccalaureate or advanced degree.5 Omaha ranks in the top 15 for software employment density,6 intensifying demand that will take significant effort, resources, and trained personnel to satisfy. Software Engineering is fundamental to IT endeavors and these skills are highly sought after by local industry. Recruiters are most interested in students with significant software project and team experiences, which are primarily taught in Software Engineering courses.

    Student demand for the Introduction to Software Engineering course (CSCE 461/861) course has risen sharply in recent years. Although the course is not required for any curriculum, most students in Computer Science and Computer Engineering, and any from outside the department, enroll in the course. In the past two years the class limit has been raised from 40 to 60, and many students were turned away. A critical need exists for expanding the offerings of this course and for advanced courses that go beyond the introductory material.

    The demand for software professionals is strong and is expected to remain strong for the next decade and beyond. UNL can play a significant role in both training software professionals and creating the software development infrastructure to achieve continued economic growth in this industry. Nebraska and the immediate region can benefit significantly from a Software Engineering priority at UNL.

  3. Quality and Outcomes of Teaching/Learning
    Although Software Engineering is considered a subdiscipline of Computer Science, it is quickly on its way to becoming a discipline on its own. Masters programs in Software Engineering are becoming commonplace and undergraduate programs in Software Engineering are beginning to appear. Within the last five years, seven undergraduate Software Engineering programs have been created in the United States, and many more are in the planning process. Also, the State of Texas has already enacted legislation to require certification for Software Engineering professionals. As the discipline continues to develop a body of knowledge that is distinct from traditional Computer Science curriculums, this trend will continue.

    Computer Science curriculums were built on a foundation that focused on the creation of algorithmic scientific applications. Although this discipline remains vital to campus and national concerns, it fails to adequately address needs that have arisen primarily outside the domain of scientific computing. Large-scale and data-intensive software systems require architectural, design, and organizational concepts that are currently underrepresented in Computer Science curriculums. New courses and new curriculums are needed to provide students with necessary skills from the rapidly growing body of knowledge in Software Engineering.

    The Computer Science and Engineering department has taken initial steps toward these goals. The introductory Software Engineering course is one of the most popular in the department and will soon become a required course. A professional Master's degree in Software Engineering has been established in the College of Engineering. A Software Engineering track for Computer Science undergraduates is under review by the CSE Curriculum Committee and should be approved shortly. The JDEHP curriculum has significant Software Engineering components. These remain first steps in a long journey to address the needs of the region and Nation as a whole in the area of Software Engineering.

    The national trend to create new undergraduate and graduate programs in Software Engineering underscore the urgent need to continue efforts that re-think and modernize Computer Science curriculums to meet the evolving needs of industry and research. Achieving these goals will require faculty with the necessary expertise to teach courses and supervise graduate students in this discipline.

  4. Quality and Outcomes of Research/Creative Activity
    Research funding in Software Engineering and closely related fields has been on the increase in recent years. The President's Information Technology Advisory Panel (PITAC) report, which places high emphasis on the need for improved Software Engineering research, has been widely cited and used as a guideline by the National Science Foundation and other funding agencies. The Information Technology Research initiative at NSF has focused its $90+ million annual budget on software concerns, with Software Engineering receiving a high percentage of the funding. Recent initiatives across all agencies at the Department of Defense have specifically targeted Software Engineering. NASA recently launched a high-dependability software research initiative aimed at improving Software Engineering techniques for safety critical software.

    UNL faculty have already established a track record of successful research funding in Software Engineering. In the current fiscal year alone, Computer Science and Engineering faculty have received four NSF awards in Software Engineering and closely related areas. Industry has also contributed grant funds to these research efforts. Between these nascent successes and the increasing research dollars being funneled into Software Engineering research initiatives, there is outstanding potential for creating a highly successful research team in this area.

  5. Quality and Outcomes of Service to the Public and University
    There is a critical need in the software industry to learn software engineering techniques and understand how they can be applied in specific industries. The majority of practicing software developers have no formal software engineering training and current research is falling short of the need for improvements in Software Engineering principles, practices, Faculty in Software Engineering have play a key role in developing the JD Edwards Honors program. Considerable effort has been expended on program objectives and vision, urriculum development, facilities design, and the establishment of the Software Design Studio, which will work with industry to integrate software development projects into the classroom. Without faculty with expertise in Software Engineering, the program would have been severely crippled. Outreach activities, however, have received less attention due to a lack the time and resources.

    UNL could significantly improve the state of the practice through its teaching and through seminars, workshops, and other public forums to discuss software engineering technologies and techniques. Faculty should be supported to engage in outreach activities such as speaking at local organizations and companies to convey the latest software engineering advances.

  6. Human, Fiscal and Physical Resources
    The Computer Science and Engineering department currently has three faculty members involved in Software Engineering education and research. Their time is currently split between the department and various activities in the JD Edwards Honors Program. Because of this and other demands, State support for faculty positions is the most critical need for a Software Engineering priority. It is not so much that additional faculty are needed, but that the growing body of knowledge in Software Engineering goes beyond the expertise of the majority of the faculty at UNL. This is a recognized national problem and UNL must be aggressive in pursuing faculty in this area. There is an immediate need to hire a senior Software Engineering faculty member and two to three junior faculty members within the next three to five years. If successful, the University has the potential to become a leader in this burgeoning field. If unsuccessful, it faces falling behind current and future trends.

    Equipment, software and supporting services are also important. Software development tools are far more complex and difficult to understand than the everyday applications created with these tools. Both research and educational programs need access to high-end computing systems and complex software systems that costs hundreds or thousands of dollars more than common office software. These systems also tend to have heavy administrative needs, creating a higher burden on system support personnel. The need for additional staff in system support is as critical as the need for additional faculty. Current resources in this area are currently inadequate and will become more critical as additional faculty and students become involved in the program.

    Space for housing the hardware, as well as systems manuals and references, are also necessary. Currently the department has one research lab and no educational space for Software Engineering. It is estimated that two laboratories housing 20-30 computers would be needed to fulfill undergraduate Software Engineering curriculum needs. An additional 3-4 smaller labs, with around 10 machines, would be needed for research needs.

    Salaries for faculty with Software Engineering expertise must not only account for demand in the academic marketplace, but also in industry. PhD's in Software Engineering are highly sought after by large companies with millions of dollars at stake in large software development projects. Current salaries in Computer Science are currently below average, and it is anticipated that even larger salaries will be necessary to attract and retain faculty in Software Engineering. If not addressed properly, salary issues could become the limiting factor that prohibits UNL from pursuing Software Engineering as a priority.

  7. Impact
    The future of our Nation and the economic development of the State of Nebraska depends critically on the tools, techniques, and principles used to develop the software systems that enable current and future progress. Creating a priority at UNL in Software Engineering will help ensure economic development for the University and the State as a whole. Without this infrastructure of software development know-how, the region faces the potential to quickly fall behind the pace of U.S. and World economies.

    Initial steps taken by the CSE department in this direction have had an immediate and substantial impact. The introductory Software Engineering course is highly sought after by students and often cited as one of the better courses taken by CSE students. The current personnel involved in Software Engineering have played a primary role in the JD Edwards Honors program and have been responsible for most of the innovation in that program's curriculum, such as the Software Design Studios. Software Engineering researchers have played a major role in the department's recent increases in research funding, receiving in excess of $800,000. With additional resources brought through a UNL priority, these successes will and continue and much more can be achieved.

  8. Cooperation and Partnership with other Programs
    A Software Engineering priority will benefit departments throughout campus. In particular, it is critical to have expertise in this area to support and complement the JD Edwards Honors Program. Whereas the JDEHP is focused exclusively on business software, the Software Engineering priority, being concerned with building an infrastructure for software development technologies and techniques, has a much broader focus and the potential for wider impact.

    In addition, there are a number of initiatives and priorities in area such as Information Technology, Telecommunications, Bioinformatics, Geospatial Systems, and many others that will benefit from the software development infrastructure created by a Software Engineering priority. Software Engineering is fundamental to developing the software systems that support these initiatives, and cooperative partnerships will be a key strategy for developing and nurturing a Software Engineering priority.

  9. Other Unique Dimensions of the Program
    The most unique characteristic of this priority is that it is more than a continuation of an existing program. There is a critical national and local need to develop curriculum and research agendas in Software Engineering that do not currently exist. The body of knowledge in Software Engineering is rapidly maturing, and resources are needed to disseminate and extend this knowledge. Universities are beginning to recognize this and create degree programs specializing in Software Engineering. Furthermore, the New Economy, The Digital Age, Networked Economy (pick your favorite label), depends critically on an infrastructure of software that is in urgent need of tools and methods that help software developers create higher quality software cheaper and faster.7

1 President's Information Technology Advisory Council, Information Technology Research:
Investing in Our Future. 1999.
2 Ibid.
3 The Standish Group, Chaos Report, available, 1995.
4 Business Software Alliance, Building an Information Economy: Software Industry Positions U.S. for New, Digital Era, 1997.
Unviersity of Nebraska 5 The Applied Information Management Institute,
Greater Omaha Business Requirements for Educational Services in Information Technology, available.
6 The Software and Information Industry Association, Top 25 Metro Areas for Software Employment, available.
7 W. W. Gibbs, "Software's Chronic Crisis," Scientific American, pp. 86-95, September, 1994.

InterLinc Home Page

Technology Council