Software Engineering- Bachelor of Science in Software Engineering

For information, contact the Department of Computer Science and Software Engineering, 262 McVey Data Science Building, 513-529-0340, or visit http://cse.MiamiOH.edu.

The software engineering major provides graduates with the foundational knowledge and practical skills necessary to develop large, complex computer software systems. The program focuses on the methodologies, techniques and tools needed to develop complex software in a multidisciplinary environment. Topics of study go beyond traditional computer science and include software design, software maintenance, and formal methods for software development. Throughout the program, students are expected to learn in a team environment and thus gain skills in effective communication. In addition to interest in analytical skills, problem solving, and an aptitude for working with technology, students are expected to develop an appreciation for teamwork.

The U.S. Bureau of Labor’s job outlook for software engineering graduates is excellent, and the number of positions is expected to increase by 25% between 2021 and 2031. This employment growth is due to the demand for increasing efficiency in network technology, computing speeds, software performance, and embedded systems. The median annual earnings for software developers were $120,730 in May 2021. According to the National Association of Colleges and Employers, starting offers for graduates with a bachelor’s degree in computer science average more than $72,000.

Program Educational Objectives

Graduates from the Software Engineering program are expected to attain or achieve the following Program Educational Objectives within a few years of graduation:

  • Develop in their chosen profession and/or progress toward an advanced degree

  • Provide innovative solutions using technical skills in their discipline

  • Communicate effectively, demonstrate leadership, and work collaboratively in diverse teams/organizations

  • Act responsibly and ethically in their profession and as informed citizens

Student Outcomes

Upon graduation, software engineering majors should be able to:

  1. Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  2. 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.
  3. Communicate effectively with a range of audiences.
  4. 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.
  5. Function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
  6. Develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
  7. Acquire and apply new knowledge as needed, using appropriate learning strategies.

Departmental Honors

If you excel in your studies, you may qualify for the University Honors Program or the program for Honors in Computer Science and Software Engineering. As a senior in these programs, you will have the opportunity to work closely with the faculty on research projects of interest.

Credit/No-Credit Policy

All courses in chemistry, physics, biology, mathematics, statistics and those in the College of Engineering and Computing (CPB, CSE, ECE, EGM, MME, CEC) that are used to fulfill requirements of the major, must be taken for a grade.

Divisional Policy

MULTIPLE MAJORS: Students with two or more majors in the College of Engineering and Computing must take a minimum of 15 unique, additional credit hours in each major.

For more information, visit our website at http://cse.MiamiOH.edu.

Program Requirements

Core Requirements
STC 135Principles of Public Speaking3
or APC 231 Small Group Communication
Mathematics:
MTH 151Calculus I4
MTH 231Elements of Discrete Mathematics3
or MTH 331 Proof: Introduction to Higher Mathematics
Statistics
STA 301Applied Statistics3-4
or STA 261 Statistics
or ECE 345 Introduction to Probability, Statistics, and Random Processes
Mathematics/Statistics Electives9-10
Take three of the following:
Nonparametric Statistics
Introduction to Statistical Modeling
Statistical Monitoring and Design of Experiments
Probability
Statistical Programming
Advanced Data Visualization
Introduction to Bayesian Statistics
Survey Sampling in Business
Experimental Design Methods
Statistical Learning
Introduction to Linear Algebra
Differential Equations for Engineers
Calculus II
Calculus II
Calculus III
Differential Equations
Foundations of Geometry
Introduction to Abstract Algebra
Optimization
Game Theory and Related Topics
Theory and Applications of Graphs
Combinatorics
Real Analysis
Topics in Mathematical Finance
Natural Science Electives8-10
Select two of the following six options:
Biological Concepts: Ecology, Evolution, Genetics, and Diversity
Biological Concepts: Structure, Function, Cellular, and Molecular Biology
College Chemistry
and College Chemistry Laboratory
College Chemistry
and College Chemistry Laboratory
General Physics I
and General Physics Laboratory I
General Physics II
and General Physics Laboratory II
Mathematics/Statistics/Science Elective3-5
Select one additional course from one of the following:
Any of the above Mathematics/Statistics Electives
Any of the above Natural Science Electives
Any Miami Plan Natural Science
Software Engineering Core
CEC 111Imagination, Ingenuity and Impact I2
CEC 112Imagination, Ingenuity, and Impact II2
CSE 174Fundamentals of Problem Solving and Programming3
CYB 134Introduction to Cybersecurity3
CSE 201Introduction to Software Engineering3
CSE 202Software Requirements3
CSE 212Software Engineering for User Interface and User Experience Design3
CSE 271Object-Oriented Programming3
CSE 274Data Abstraction and Data Structures3
CSE 278Systems I: Introduction to Systems Programming3
CSE 301Software Architecture and Design3
CSE 302Software Construction3
CSE 374Algorithms I3
CSE 383Web Application Programming3
CSE 401Software Quality Assurance and Testing3
CSE 448Senior Design Project2
CSE 449Senior Design Project2
CSE Electives (a total of 12 hours are required)12
6 to 12 hours of software engineering electives:
Introduction to Knowledge Representation
Mobile App Development
Database Systems
Game Design and Implementation
Introduction to Model-Driven Software Engineering
Machine Learning
Web Services and Service Oriented Architectures
Computer and Network Security
Special Topics in CSE
Compiler Design
Advanced Database Systems
Advanced Graphics and Game Engine Design
Computer Network Design and Administration
Introduction to Game Studies
Introduction to Game Design
Foundations in Digital 3-D Modeling and Animation
Business Intelligence and Data Visualization
IT Project Management
0 to 6 hours of affiliate electives:
Technology, Ethics, and Global Society
Special Topics
Mathematics and Computer Science
Systems 2: OS, Concurrency, Virtualization, and Security
Foundations of Computer Graphics and Games
High Performance Computing & Parallel Programming
Comparative Programming Languages
Automata, Formal Languages, and Computability
Introduction to Artificial Intelligence
Image Processing & Computer Vision
System Administration and Scripting for Cybersecurity
Data Security
Digital Systems Design
Network Performance Analysis
Digital Innovation and Entrepreneurship
Web and Social Media Analytics
Information Technology and the Intelligent Enterprise
0 to 3 hours of research electives:
Undergraduate Summer Scholars Program (requires petition)
Special Problems (honors Program)
Undergraduate Research
Total Credit Hours92-98