Software Engineering
Software Engineering is the computer discipline that is concerned with the theoretical and practical aspects of building high quality software systems, on time, and within budget. Software engineers are tasked with the detailed analysis, design, implementation, testing, maintenance, and management of software product development projects for a broad range of computing applications across society.
The increasing pressure to deliver high-quality, reliable software products in less time is rapidly fueling the demand for computer professionals with specific preparation in software engineering and experience in working on teams. These pressures stem from such widespread development as
- The use of software for demanding and safety-critical applications that make it imperative to avoid the serious, indeed sometimes fatal, consequences of poorly understood design.
- The need to create consumer and entertainment applications like computer games, in the face of a highly competitive global marketplace.
- The increasing need to develop useful, easy-to-use software tools that reliably meet customer needs and whose features and documentation can be used and understood by their intended user with a high degree of consistency and confidence.
- The need to re-engineer or replace aging legacy software systems to take advantage of modern computer hardware capabilities.
Recent advances in the practice and technology of software engineering have made it possible to offer undergraduate and graduate degree programs in software engineering itself. Notable among these advances are:
- The availability of proven computer tools and processes to standardize the development of software products and automate software engineering tasks.
- The increasing importance of formal methods and software quality measurement techniques to ensure more thorough testing of software.
- The success of the agile and object-oriented software engineering methods, as well as the move toward technical and managerial practices that cover the full software development cycle.
Software engineers must know the subset of computer science that is relevant to software development. They must also have knowledge of the principles of effective and reliable design, of mathematics and other sciences that are traditionally known by engineers, and of the skills and applications of project management.
Software engineering includes:
- Software design and development; that is, building commercial, industrial-strength software by the application of validated knowledge and experience that have been codified into formal methods of best practices.
- Software process and quality assurance; that is, the systematic discipline of consciously improving the quality, cost, and timeliness of the process itself by which large software systems are designed and developed.
- Software development project management; that is, how to manage large software design projects and bring development to a timely and efficient completion.
The Software Engineering (SWE) degree program offered by the Department of Computer and Information Science stresses the range of technical, systematic, and managerial aspects of the software engineering process but places primary emphasis on the technical facets of designing, building, and modifying large and complex software systems. This program concentrates on all software development lifecycle phases, including program management, requirements engineering, software architecture design, software implementation, software configuration management, software quality assurance, and software process maturity measurements and improvements. It balances both theoretical and practical aspects by covering fundamentals in the classroom and evaluating student knowledge by implementing team-based work projects. Students complete a minimum of 120 credits and receive a BS degree in Software Engineering. The degree prepares graduates for immediate employment in the software engineering field and for graduate study.
The Bachelor of Science in Software Engineering program is accredited by the Engineering Accreditation Commission of ABET, https://www.abet.org
Accelerated Master's Options for Undergraduate Students (4+1 Program)
The Computer and Information Science (CIS) department proposes the introduction of new accelerated master’s (4+1) programs designed to allow qualified undergraduate students to seamlessly transition into the department’s graduate programs. These programs will enable students to earn both a bachelor’s and a master’s degree in a reduced timeframe, enhancing their academic experience and providing a cost-effective pathway to advanced degrees.
Students enrolled in this option can take eligible 500-level courses during their junior and senior years, with up to 9 credit hours of such coursework being double-counted toward both degrees. Additionally, another 6 credit hours earned but not applied to the bachelor degree can later be counted toward the master’s degree. Depending on the number of graduate courses taken while working toward the bachelor program, students will need to complete 15-21 credit hours to finish the master’s program after earning their undergraduate degree.
BS in Software Engineering (SWE) can advance to MS in Computer and Information Science (CIS), Data Science (DATA), Artificial Intelligence (AI), Software Engineering (SWE) or Cybersecurity and Information Assurance (CIA).
A maximum of 9 credits from combined undergraduate and graduate courses can be double-counted toward both the undergraduate and graduate degrees. This will streamline the process and reduce the total credit load required to complete both degrees. Any 500-level course that is part of the respective master’s program can be selected for double-counting, as shown in the following table. If there is a mismatch in credit hours between the combined course pair, only the smaller number of credits will be counted.
In addition, students may apply up to 6 additional credits of 500-level courses toward their master’s degree, taken during their undergraduate study, though these credits cannot be double-counted. This allows students to make substantial progress toward their graduate degree while still completing their undergraduate requirements. However, the courses of these six additional credits should be listed in the corresponding graduate program.
To ensure that students entering the 4+1 programs are well-prepared for the academic rigor of graduate-level coursework, the following admission criteria will apply:
- A minimum cumulative GPA of 3.2 at the University of Michigan-Dearborn after completing at least 60 credits.
- Letters of recommendation are waived.
- A regular admission review will be streamlined for students with a cumulative GPA of 3.4 or higher at the University of Michigan-Dearborn after completing at least 85 credits.
- Students must have completed CIS 310, CIS350/3501, CIS 375, and CIS 427 with a grade of B or better.
Program Educational Objectives
- Our graduates will be successfully employed in Software Engineering–related fields or other career paths, including industrial, academic, governmental, and non-governmental organizations, or will be successful graduate students in a program preparing them for such employment.
- Our graduates will lead and participate in culturally diverse and inclusive teams, becoming global and ethical collaborators.
- Our graduates will continue their professional development through, for example, obtaining continuing education credits, professional registration or certifications, or post-graduate study credits or degrees.
Student Outcomes
To achieve the educational objectives of the program, graduates of the BS in SWE program will have an ability to:
- Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- 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.
- Communicate effectively with a range of audiences.
- 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.
- Function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
- Develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- Acquire and apply new knowledge as needed, using appropriate learning strategies.
Dearborn Discovery Core (General Education)
All students must satisfy the University’s Dearborn Discovery Core requirements, in addition to the requirements for the major
Major Requirements
A candidate for the degree Bachelor of Science in Software Engineering is required to pursue scholastic quality and to complete satisfactorily the following program of study:
In addition to completion of the Dearborn Discovery Core, the following courses are required to earn a BS degree in Software Engineering from UM-Dearborn.
| Code | Title | Credit Hours |
|---|---|---|
| Prerequisite Courses | ||
| COMP 105 | Writing & Rhetoric I | 3 |
| COMP 270 | Tech Writing for Engineers (Also fulfills 3 credits of DDC Written and Oral Communication) | 3 |
| ECON 201 | Prin: Macroeconomics (Also fulfills 3 credits of DDC Social and Behavioral Analysis) | 3 |
| MATH 115 | Calculus I | 4 |
| MATH 116 | Calculus II | 4 |
| MATH 227 | Introduction to Linear Algebra | 3 |
| CIS 150 | Computer Science I | 4 |
| CIS 200 | Computer Science II | 4 |
| CIS 275 | Discrete Structures I | 4 |
| CIS 306 | Discrete Structures II | 4 |
| IMSE 317 | Eng Probability and Statistics | 3 |
| Select one laboratory science sequence from the following: | 8 | |
| Intro Org and Environ Biology and Field Biology | ||
| General Chemistry IA and General Chemistry IIA | ||
| Physical Geology and Historical Geology | ||
| Introductory Physics I and Introductory Physics I Lab/Dis and Introductory Physics II and Intro Physics II Lab/Dis | ||
| General Physics I and General Physics I Lab/Dis and General Physics II and General Physics II Lab/Dis | ||
| Additional 4 credit science. Course must be from a different subject than the laboratory science sequence. | ||
| Introduction to Astronomy and Introductory Astronomy Lab | ||
| Intro Org and Environ Biology | ||
| Field Biology | ||
| General Chemistry IA | ||
| General Chemistry IIA | ||
| Organic Chemistry I | ||
| Organic Chemistry II | ||
| Organic Chemistry Laboratory | ||
| Physical Geology | ||
| Historical Geology | ||
| Introductory Physics I and Introductory Physics I Lab/Dis | ||
| Introductory Physics II and Intro Physics II Lab/Dis | ||
| General Physics I and General Physics I Lab/Dis | ||
| General Physics II and General Physics II Lab/Dis | ||
| Software Engineering Major Requirements | ||
| CIS 285 | Software Engineering Tools | 3 |
| CIS 310 | Computer Org and Assembly Lang | 4 |
| CIS 3501 | Data Struc & Alg Anlys for SE | 4 |
| CIS 375 | Software Engineering I | 4 |
| CIS 376 | Software Engineering II | 4 |
| CIS 427 | Comp Networks and Dis Process | 4 |
| CIS 450 | Operating Systems | 4 |
| CIS 476 | Soft Arch & Design Patterns | 3 |
| CIS 4961 | Design Seminar for SE I | 2 |
| CIS 4962 | Design Seminar for SE II | 2 |
| OB 354 | Behavior in Organizations | 3 |
| Application Sequence 1 | ||
| Choose from one of the following: | 7-9 | |
| Information Systems Sequence | ||
| CIS 425 | Information Systems | 4 |
| CIS 447 | Intro Computr & Ntwrk Security | 3 |
| Computer Game Design Sequence | ||
| CIS 297 | Intro to C Sharp 2 | 3 |
| CIS 487 | Computer Game Design & Implem | 3 |
| CIS 488 | Computer Game Design II | 3 |
| Web Engineering Sequence | ||
| CIS 421 | Database Mgmt Systems | 4 |
| Take one of the following two courses: | 3 | |
| Web Technology | ||
| Mobile App Des & Impl | ||
| Artificial Intelligence Sequence | ||
| CIS 411 | Introduction to Natural Language Processing | 3 |
| CIS 479 | Intro to Artificial Intel | 3 |
| CIS 481 | Computational Learning | 3 |
| Technical Electives 1 | ||
| Select 5-7 additional credits from the following. Only one course from CIS 296, CIS 297 or CIS 298 may be used towards the 120 credits of the degree: | 5-7 | |
| Java Programming | ||
| Intro to C Sharp | ||
| Intro to Python | ||
| Prac. Comp. Sec. | ||
| Industrial Robots | ||
| Introduction to Digital Forensics | ||
| Programming Languages | ||
| Algorithm Analysis & Design | ||
| Introduction to Natural Language Processing | ||
| Introduction to Quantum Computing | ||
| Database Mgmt Systems 4 | ||
or CIS 422 | Massive Data Management | |
| Information Systems | ||
| Web Technology | ||
| Mobile App Des & Impl | ||
| Advanced Networking | ||
| Text Mining and Information Retrieval | ||
| Wireless & Mobi Comp Security | ||
| Intro Computr & Ntwrk Security | ||
| Intro to Software Security | ||
| Computer Graphics and Visual Computing | ||
| Information Visualization with Parallel Computing | ||
| Network and Mobile Forensics | ||
| Compiler Design | ||
| Intro to Artificial Intel | ||
| Computational Learning | ||
| Trustworthy Artificial Intelligence | ||
| Deep Learning | ||
| Computer Game Design & Implem | ||
| Computer Game Design II | ||
| Edge Computing | ||
| Data Security and Privacy | ||
| Intro to Microprocessors | ||
| Embedded System Design | ||
| Design Thinking : Process, Method & Practice | ||
or ENGR 400 | Appl Business Tech for Engr | |
or ENT 400 | Entrepreneurial Thinking&Behav | |
| Experiential Learning in Engineering & Computer Science 1 | ||
| Experiential Learning in Engineering & Computer Science 2 | ||
| Experiential Learning in Engineering & Computer Science 3 | ||
| Exper Honors Directed Research | ||
| Exper Hnrs Dir Dsgn | ||
| General Electives | ||
| Any 100 to 400 level course, as needed, to get a minimum of 120 credits for graduation. 3 | ||
- 1
The Application Area and Technical Electives must total 14 hrs. Any courses taken in the Application Area cannot also be used for Technical Electives credit.
- 2
CIS 296 or CIS 298 cannot count as Technical Electives since CIS 297 is required of the Game Design Sequence
- 3
Any for-credit courses; that is, courses not on the No Credit list, which is found at the end of the CECS Student Handbook.
- 4
Only one course from CIS 421 or CIS 422 may be used towards the 120 credits of the degree.
Students admitted to the BS-SWE to MS-CIS 4+1 Option may substitute CIS 505 for CIS 405, CIS 511 for CIS 411, CIS 512 for CIS 412, CIS 556 for CIS 421, CIS 525 for CIS 435, CIS 537 for CIS 437, CIS 536 for CIS 439, CIS 546 for CIS 446, CIS 544 for CIS 447, CIS 549 for CIS 449, CIS 515 for CIS 451, CIS 552 for CIS 452, CIS 574 for CIS 474, CIS 566 for CIS 476, CIS 579 for CIS 479, CIS 581 for CIS 481, CIS 582 for CIS 482, CIS 583 for CIS 483, CIS 545 for CIS 4851, CIS 587 for CIS 487, CIS 588 for CIS 488, and CIS 589 for CIS 489.
Students admitted to the BS-SWE to MS-AI 4+1 Option may substitute CIS 505 for CIS 405, CIS 511 for CIS 411, CIS 512 for CIS 412, CIS 536 for CIS 439, CIS 549 for CIS 449, CIS 515 for CIS 451, CIS 552 for CIS 452, CIS 579 for CIS 479, CIS 581 for CIS 481, CIS 582 for CIS 482, CIS 583 for CIS 483, CIS 587 for CIS 487, CIS 588 for CIS 488, and CIS 589 for CIS 489.
Students admitted to the BS-SWE to MS-CIA 4+1 Option may substitute CIS 505 for CIS 405, CIS 512 for CIS 412, CIS 525 for CIS 435, CIS 536 for CIS 439, CIS 537 for CIS 437, CIS 546 for CIS 446, CIS 544 for CIS 447, CIS 556 for CIS 421, CIS 574 for CIS 474, CIS 566 for CIS 476, CIS 579 for CIS 479, CIS 581 for CIS 481, CIS 582 for CIS 482, CIS 583 for CIS 483, CIS 545 for CIS 4851, and CIS 589 for CIS 489.
Students admitted to the BS-SWE to MS-DATA 4+1 Option may substitute CIS 511 for CIS 411, CIS 512 for CIS 412, CIS 556 for CIS 421, CIS 525 for CIS 435, CIS 536 for CIS 439, CIS 546 for CIS 446, CIS 549 for CIS 449, CIS 579 for CIS 479, CIS 515 for CIS 451, CIS 552 for CIS 452, CIS 581 for CIS 481, CIS 582 for CIS 482, CIS 583 for CIS 483, CIS 545 for CIS 4851, and CIS 589 for CIS 489.
Students admitted to the BS-SWE to MS-SWE 4+1 Option may substitute CIS 511 for CIS 411, CIS 512 for CIS 412, CIS 556 for CIS 421, CIS 525 for CIS 435, CIS 537 for CIS 437, CIS 536 for CIS 439, CIS 546 for CIS 446, CIS 544 for CIS 447, CIS 549 for CIS 449, CIS 579 for CIS 479, CIS 515 for CIS 451, CIS 552 for CIS 452, CIS 574 for CIS 474, CIS 566 for CIS 476, CIS 581 for CIS 481, CIS 582 for CIS 482, CIS 583 for CIS 483, CIS 545 for CIS 4851, CIS 587 for CIS 487, CIS 588 for CIS 488, and CIS 589 for CIS 489.
Learning Goals
- An ability to apply knowledge of mathematics, science, and engineering.
- An ability to design and conduct experiments, as well as to analyze and interpret data.
- An ability to design a system, component, or process to meet desired needs within realistic constraints, such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.
- An ability function on multidisciplinary teams.
- An ability to identify, formulate, and solve engineering problems.
- An understanding of professional and ethical responsibility.
- An ability to communicate effectively.
- The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
- A recognition of the need for, and an ability to engage in, life-long learning.
- A knowledge of contemporary issues.
- An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
- An ability to program.
- An ability to manage a project.
