SE@UCM - Prepare for Career Success
UCM offers the first and only undergraduate Software Engineering (SE) program in the state of Missouri. Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software. The software engineering program prepares students with a mastery of software development theory, practice and process. By completing the program, you go on to a career as a software engineer, project manager, designer, consultant or architect who creates software. With the demand for qualified technical personnel far exceeding the available supply, the opportunities awaiting software engineering graduates are nearly limitless.
What will I study?
In this major you'll study the disciplined engineering practices necessary to specify, build, analyze, test and maintain complex software systems. The curriculum has a balanced coverage of both computer science and engineering topics with emphasis on software requirement engineering, software design and architecture, software testing and quality assurance, software project management and secure software engineering. Software engineering students gain knowledge and skill in all aspects of the software development life cycle. They learn to work within and to continuously improve a defined software development process, with the aim of producing high-quality software predictably and efficiently. Our undergraduate software engineering major will prepare you for professional practice and post-graduate education.
What is Software Engineering?
Software Engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. Drawing on computing as one of its foundations, software engineering seeks to develop and use systematic models and reliable techniques to produce high-quality software. Students who complete the program go on to careers as software engineers, project managers, designers, consultants or architects who create software.
Program Educational Objectives
Within a few years of graduation, graduates with a Bachelor of Science degree in Software Engineering will use the knowledge and skills obtained in the program to:
- Demonstrate the ability to create quality software in industry, government or academia appropriate to their levels of professional experience.
- Be capable of gauging the impact of computing and engineering on society, and possess knowledge of the ethical, social and professional responsibilities of their work.
- Have effective oral and written communication skills and demonstrate the ability to contribute effectively to the benefit of teams.
- Continue to update their professional knowledge and skills to adapt to innovation and change, and be successful in their professional work and/or graduate studies.
Graduates with a Bachelor of Science degree in Software Engineering will demonstrate the following specific student outcomes:
- an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
- an ability to communicate effectively with a range of audiences.
- an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
- an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
- an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
Software Engineering vs. Computer Science
Drawing on computing as one of its foundations, software engineering seeks to develop and use systematic models and reliable techniques to produce high-quality software. The study and practice of software engineering is influenced both by its roots in computer science and its emergence as an engineering discipline.
Some critical characteristics common to every other engineering discipline are equally applicable to software engineering. They are
- Whereas scientists observe and study existing behaviors and then develop models to describe them, engineers use such models as a starting point for designing and developing technologies that enable new forms of behavior.
- Engineers proceed by making a series of decisions, carefully evaluating options, and choosing an approach at each decision point that is appropriate for the current task in the current context. Appropriateness can be judged by trade-off analysis, which balances costs against benefits.
- Engineers measure things, and when appropriate, work quantitatively. They calibrate and validate their measurements, and they use approximations based on experience and empirical data.
- Engineers emphasize the use of a disciplined process when creating and implementing designs and can operate effectively as part of a team in doing so.
- Engineers can have multiple roles: research, development, design, production, testing, construction, operations, and management in addition to others such as sales, consulting, and teaching.
- Engineers use tools to apply processes systematically. Therefore, the choice and use of appropriate tools is a key aspect of engineering.
- Engineers, via their professional societies, advance by the development and validation of principles, standards, and best practices.
- Engineers reuse designs and design artifacts.
Excerpted from ACM Software Engineering 2014
All permanent computer science faculty have a Ph. D. degree in computer science or closely related areas. They conduct both theoretical and applied research in their own areas and publish their research results on major research journals. In addition, they also travel to give technical talks at various national/international conferences. They are committed to deliver today’s technology to students.
Scholarships and Financial Assistance
Numerous scholarships are available specifically for Software Engineering majors. In addition, there are paid opportunities to work as a tutor or teaching assistant.
The program has state-of-the-art computing labs to support both instruction and research needs. The main lab for software engineering program consists of forty Dell computers running both Linux and Microsoft windows operating systems. Six computer classrooms, with more than thirty computers each, are ideal for upper classes and special lab sessions. Lab computers are upgraded regularly. Three student common areas provide a space for students to collaborate on homework and projects, as well as relax between classes. These rooms are conveniently located near faculty offices to help establish a community of learners.
The program strives to provide our students with the latest technologies. We offer both Windows and Linux platforms so that our students are well-prepared for a career as a software professional under those two leading industry-standard platforms. The program is a member of the Microsoft Imagine, Oracle Academy and VMWare Academic Program.
Explore Software Engineering outside the classroom by joining a Software Engineering student organization. These include:
- Upsilon Pi Epsilon, an honor society for Computing and Information disciplines, and
- a student chapter of the Association of Computing Machinery
By participating in these organizations, you will learn from guest speakers, attend regional and national conferences, and participate in state and/or national programming competitions.
Careers in Software Engineering
Software Engineering job market is booming. Companies across hundreds of industries employ software engineers. Demand for software engineers in the United States and Missouri grows faster than universities can produce graduates. According to the Bureau of Labor Statistics, 58% of total Science, Technology, Engineering and Mathematics (STEM) jobs through 2024 in U.S. are computing related. Among all computing jobs, 26% of the jobs are in software development. In other words, there will be nearly as many openings in software development as there will be in all the branches of traditional engineering combined. The mean salary for software engineer in Missouri is $92,680-$101,450. As a matter of fact, U.S. News & World Report, the global authority in rankings and consumer advice, recently ranked Software Developer as the No. 1 of the best jobs in America 2018 .
This school offers programs in:
Last updated October 9, 2018