Software Engineering- Bachelor of Science in Software Engineering
For information, contact the Department of Computer Science and Software Engineering, 205 Benton Hall, 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 job outlook for software engineers is excellent. Jobs are expected to grow 32% from 2008 to 2018, much faster than average for all occupations. This US bureau reports that "expanding Internet technologies have spurred demand for computer software engineers who can develop Internet, intranet, and World Wide Web applications." (http://www.bls.gov/ooh/)
Program Educational Objectives
Depth. Software Engineering graduates will have a sufficient understanding of the field of software engineering including scientific principles, analysis techniques, and design methodologies to:
Be successfully employed, pursue a graduate degree, or continue their professional education.
Breadth. Software Engineering graduates will have a broad liberal education enabling them to:
Demonstrate adaptability or leadership by, for example, being promoted, moving up to a better job, or by taking a leadership role in a team.
Demonstrate an understanding of the context and broader impacts of technology in their organization by, for example, engaging stakeholders outside their immediate team, or by identifying ethical, economic, cultural, legal or environmental issues related to work projects.
Professionalism. Software Engineering graduates will be prepared for modern work environments, where they will:
- Apply their skills in clear communication, responsible teamwork, and time management by, for example, managing a team or project, working on multidisciplinary project teams, or communicating with external stakeholders.
- Demonstrate professional attitudes and ethics by, for example, assisting colleagues in professional development (e.g. mentoring), engaging in continuing education or training, participating in professional societies, engaging in service to the community, or contributing to an employer’s efforts to comply with software licensing, protect privacy, or assure quality and safety.
Upon graduation, software engineering majors should be able to:
- Demonstrate an understanding of the key facts, concepts, principles, and theories of software engineering.
- Analyze real problems, and select and apply appropriate techniques from computing, mathematics and engineering to solve them.
- Demonstrate an ability to use software development tools.
- Model, design, build, and evaluate software systems of varying complexity based on client requirements, and subject to realistic constraints.
- Design experiments and think critically in evaluating the design choices made and tradeoffs considered when developing software-based systems.
- Work effectively as a member or leader in a multidisciplinary team.
- Describe the importance of and avenues for continuing professional development.
- Communicate technical information effectively, both orally and in writing.
- Recognize the social, professional, cultural, and ethical issues involved in the use of computer technology and give them due consideration in decision making.
For more information, visit our website at http://cse.MiamiOH.edu.
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.
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.
|ECO 201||Principles of Microeconomics||3|
|or ECO 202||Principles of Macroeconomics|
|ENG 313||Technical Writing||3|
|STC 135||Principles of Public Speaking||3|
|or STC 231||Small Group Communication|
|MTH 151||Calculus I||5|
|MTH 231||Elements of Discrete Mathematics||3|
|or MTH 331||Proof: Introduction to Higher Mathematics|
|STA 301||Applied Statistics||3-4|
|or STA 261||Statistics|
|or ECE 345||Applied Probability and Statistics for Engineers|
|Take three of the following:|
|Introduction to Statistical Modeling|
|Statistical Monitoring and Design of Experiments|
|Advanced Data Visualization|
|Introduction to Bayesian Statistics|
|Survey Sampling in Business|
|Experimental Design Methods|
|Introduction to Linear Algebra|
|Foundations of Geometry|
|Introduction to Abstract Algebra|
|Combinatorial Designs and Coding Theory|
|Game Theory and Related Topics|
|Theory and Applications of Graphs|
|Topics in Mathematical Finance|
|Natural Science Electives||8-10|
Select two of the following six options
|Biological Concepts: Ecology, Evolution, Genetics, and Diversity|
|Biological Concepts: Structure, Function, Cellular, and Molecular Biology|
and College Chemistry Laboratory
and College Chemistry Laboratory
|General Physics with Laboratory I|
|General Physics with Laboratory II|
|Mathematics/Statistics/Science Elective 1||3-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 Global Miami Plan Natural Science (MPF IV A or IV B)
|Software Engineering Core|
|CEC 101||Computing, Engineering & Society||1|
|CSE 102||Introduction to Computing and Engineering (or equivalent)||3|
|CSE 174||Fundamentals of Programming and Problem Solving||3|
|CSE 201||Introduction to Software Engineering||3|
|CSE 211||Software Construction||3|
|CSE 212||Software Engineering for User Interface and User Experience Design||3|
|CSE/CIT 262||Technology, Ethics, and Global Society||3|
|CSE 271||Object-Oriented Programming||3|
|CSE 274||Data Abstraction and Data Structures||3|
|CSE 278||Systems I: Introduction to Systems Programming||3|
|CSE 311||Software Architecture and Design||3|
|CSE 321||Software Quality Assurance and Testing||3|
|CSE 322||Software Requirements||3|
|CSE 383||Client Server Programming||3|
|ISA 406||IT Project Management||3|
|CSE 448||Senior Design Project 2||2|
|CSE 449||Senior Design Project 2||2|
Complete an area of specialization 3
|Total Credit Hours||99-105|
Software engineering majors are required to take at least 32 hours of mathematics, statistics, and natural science courses. Mathematics courses must be selected from courses at or beyond MTH 151.
See the department for a list of specialization areas or consult with your faculty advisor to define a custom specialization area.