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 market place.
  • 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 (such as CASE tools) and processes (such as the Personal Software Process) to standardize and automate software development.
  • 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 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 BS in Software Engineering program is accredited by the Engineering Accreditation Commission of ABET, abet.org

415 North Charles Street,
Suite 1050,
Baltimore, MD 21201
Telephone: (410) 347-7700.

Program Objectives

  1. Our graduates will be successfully employed in software engineering–related field or another career path, in an industrial, commercial, academic, governmental, or non-governmental organization, or will be a successful graduate student in a program preparing them for such employment. 
  2. Our graduates will lead and participate in culturally diverse teams, become global collaborators and adapting to an ever-changing field. 
  3. Our graduates will continue professional development by obtaining continuing education credits, professional registration or certifications, or post-graduate study credits or degrees.

Program Outcomes

  1. An ability to apply knowledge of mathematics, science, and engineering;
  2. An ability to design and conduct experiments, as well as to analyze and interpret data;
  3. 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;
  4. An ability to function on multidisciplinary teams;
  5. An ability to identify, formulate, and solve engineering problems;
  6. An understanding of professional and ethical responsibility;
  7. An ability to communicate effectively;
  8. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context;
  9. A recognition of the need for, and an ability to engage in, life-long learning;
  10. A knowledge of contemporary issues;
  11. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
  12. An ability to program.
  13. An ability to manage a project.

Concentration 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:

(120 hours minimum)

Dearborn Discovery Core Requirement

The minimum passing grade for a Dearborn Discovery Core (DDC) course is 2.0. The minimum GPA for the program is 2.0. In addition, the DDC permits any approved course to satisfy up to three credit hours within three different categories. Please see the General Education Program: The Dearborn Discovery Core section for additional information.

Foundational Studies

Written and Oral Communication (GEWO) – 6 Credits

Upper Level Writing Intensive (GEWI) – 3 Credits

Quantitative Thinking and Problem Solving (GEQT) – 3 Credits

Critical and Creative Thinking (GECC) – 3 Credits

Areas of Inquiry

Natural Science (GENS) – 7 Credits

  • Lecture/Lab Science Course
  • Additional Science Course

Social and Behavioral Analysis (GESB) – 9 Credits

Humanities and the Arts (GEHA) – 6 Credits

Intersections (GEIN) – 6 Credits

Capstone

Capstone (GECE) – 3 Credits

General Requirements

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.

General Requirements
Tech Writing for Engineers (Also fulfills 3 credits of DDC Written and Oral Communication)
Prin: Macroeconomics (Also fulfills 3 credits of DDC Social and Behavioral Analysis)
Mathematics
MATH 115Calculus I4
MATH 116Calculus II4
CIS 275Discrete Structures I4
CIS 306Discrete Structures II4
MATH 217Intro to Matrix Algebra2-3
or MATH 227 Introduction to Linear Algebra
IMSE 317Eng Probability and Statistics3
Laboratory Science Sequence
Select two courses, 8 credits, in one sequence from:8
Intro Org and Environ Biology
and Intro Molec & Cellular Biology
General Chemistry IA
and General Chemistry IIA
Gen Chemistry IB
and General Chemistry IIB
Physical Geology
and Historical Geology
Introductory Physics I
and Introductory Physics II
General Physics I
and General Physics II
Natural Science
Select four credits from:4
Introduction to Astronomy
and Introductory Astronomy Lab
Intro Org and Environ Biology
Intro Molec & Cellular Biology
General Chemistry IA
General Chemistry IIA
Gen Chemistry IB
General Chemistry IIB
Organic Chemistry I
Organic Chemistry II
Organic Chemistry Laboratory
Physical Geology
Historical Geology
Introductory Physics I
Introductory Physics II
General Physics I
General Physics II
Business Courses
OB 354Behavior in Organization3
CIS Core
Seven computer and information science courses are required.
CIS 150Computer Science I4
CIS 200Computer Science II4
CIS 310Computer Org and Assembly Lang4
CIS 3501Data Struc & Alg Anlys for SE4
CIS 375Software Engineering I4
CIS 427Comp Networks and Dis Process4
CIS 450Operating Systems4
Software Engineering Requirements
CIS 285Software Engineering Tools3
CIS 376Software Engineering II4
CIS 476Soft Arch & Design Patterns3
CIS 4961Design Seminar for SE I2
CIS 4962Design Seminar for SE II2
One Application Sequence 1
Select 7-9 credit hours:7-9
Information Systems Sequence
CIS 425Information Systems4
CIS 447Intro Computr & Ntwrk Security3
Computer Game Design Sequence
CIS 297Intro to C Sharp3
CIS 487Computer Game Design & Implem3
CIS 488Computer Game Design II3
Web Engineering Sequence
CIS 421Database Mgmt Systems4
Take one of the following two courses:
Web Technology
Mobile App Des & Impl
Technical Electives 1
Select 8-10 additional credits from the following. Only one course from CIS 296 or CIS 297 may be used towards the 120 credits of the degree:8-10
Java Programming
Intro to C Sharp
Industrial Robots
Digital Forensics I
Programming Languages
Algorithm Analysis & Design
Database Mgmt Systems
Dec Support and Exp Systems
Information Systems
Web Technology
Mobile App Des & Impl
Advanced Networking
Intro Computr & Ntwrk Security
Computer Graphics
Inf Vis & Multimedia Gaming
Digital Forensics II
Compiler Design
Intro to Artificial Intel
Computer Game Design & Implem
Computer Game Design II
Intro to Microprocessors
Embedded System Design
Appl Business Tech for Engr
Entrepreneurial Thinking&Behav
General Electives
Select four credit hours 34
1

The Application Area and Technical Electives must total 17 hrs

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.