Bachelor of Engineering in Software Engineering

Software engineering is the discipline dedicated to the engineering principles and techniques required for the sound construction of the computer systems of today and tomorrow. As businesses and institutions integrate new technologies to compete in the global environment they require individuals who are cognizant of the latest techniques in computational intelligence and are armed with the skills required to construct new dynamically interacting components.

Software engineers are trained in all aspects of software creation- from specification through analysis and design, to testing, maintenance and evaluation of the product. They are equipped with advanced knowledge in software architecture, project management, technical planning, risk management and software assurance – areas that are essential in implementing and overseeing software-intensive projects of high technical complexity.

Bachelor of Engineering in Software Engineering Mission and Objectives

The mission of the Bachelor of engineering in software engineering (BESWE) program is to provide an education based on a strong engineering core, complemented by a strong thread of systems thinking and critical thinking. Students will have an opportunity to explore a domain of interest where they may apply their software engineering skills.

  • Design and develop software components for complex systems.
  • Communicate with engineers of all disciplines in the languages and methods of those engineers.
  • Understand the overall systems context for their projects, and apply systems thinking in designing solutions that integrate components of different types, such as hardware, software and people.

Student Outcomes – By the time of graduation, software engineering students will have:

  1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  2. 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.
  3. An ability to communicate effectively with a range of audiences.
  4. 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.
  5. 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.
  6. An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
  7. An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
  8. A fundamental knowledge and an appreciation of the technology and business processes necessary to nurture new technologies from concept to commercialization.

Software Engineering Curriculum

Term I

CAL 103Writing and Communications Colloquium

3

CH 115General Chemistry I

3

CH 117General Chemistry Laboratory I

1

ENGR 111Introduction to Engineering Design & Systems Thinking

4

ENGR 116Intro to Programming & Algorithmic Thinking

3

MA 121Differential Calculus

2

MA 122Integral Calculus

2

Term II

CAL 105CAL Colloquium: Knowledge, Nature, Culture

3

ENGR 122Field Sustainable Systems with Sensors

2

MA 125Vectors and Matrices

2

MA 126Multivariable Calculus I

2

MGT 103Introduction to Entrepreneurial Thinking

2

PEP 111Mechanics

3

Science Elective I

3

Term III

ENGR 211Statics and Introduction to Engineering Mechanics

4

ENGR 245Circuits and Systems

3

MA 221Differential Equations

4

PEP 112Electricity and Magnetism

3

SSW 215Individual Software Engineering

3

Term IV

ENGR 212Design of Dynamical Systems

4

ENGR 234Thermodynamics

3

SSW 325Object-Oriented Software Engineering

3

Science Elective II

3

Science Lab

1

Humanities

3

Term V

ISE 350Logistics and Supply Chain Management

3

ENGR 241Probability and Statistics with Data Science Applications

4

ENGR 311Design with Materials

4

SSW 345Modeling and Simulation

3

Humanities

3

Term VI

IDE 399Engineering Economics & Project Management

2

ISE 490Data-Mining and Applied Machine Learning

3

SSW 322Engineering Design VI

3

SSW 555Agile Methods for Software Development

3

SSW 564Software Requirements Analysis and Engineering

3

General Elective

3

Term VII

IDE 401Senior Innovation II: Value Proposition

1

SSW 423Engineering Design VII

3

SSW 567Software Testing, Quality Assurance and Maintenance

3

SSW 590DevOps Principles and Practices

3

Technical Elective

3

Humanities

3

Term VIII

IDE 402Senior Innovation III: Venture Planning and Pitch

1

SSW 424Engineering Design VIII

3

SSW 533Cost Estimation and Metrics

3

SYS 581Introduction to Systems Engineering

3

General Elective

3

Humanities

3

Notes:

(1) Science Elective can be selected from the following list.

(2) Technical Electives are any 500-599 level EM, ISE, CpE, CS, SSW, or SYS courses. Additional courses can be selected with the approval of the student's advisor.

(3) General Electives are chosen by the student, can be used toward a minor or AMP option, and can be applied to research or approved international studies. Selected from available courses offered by programs in SES, SSE, SOB and HASS. Approval from the student’s advisor and the course instructor may be required.

(4) Humanities: Please see Humanities Requirements for additional requirements.