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 (18 Credits)

MA 121Differential Calculus

2

MA 122Integral Calculus

2

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

CAL 103Writing and Communications Colloquium

3

Term II (17 Credits)

S.E. Science Elective I

3

PEP 111Mechanics

3

MA 125Vectors and Matrices

2

MA 126Multivariable Calculus I

2

ENGR 122Field Sustainable Systems with Sensors

2

MGT 103Introduction to Entrepreneurial Thinking

2

CAL 105CAL Colloquium: Knowledge, Nature, Culture

3

Term III (17 Credits)

PEP 112Electricity and Magnetism

3

ENGR 211Statics and Introduction to Engineering Mechanics

4

ENGR 245Circuits and Systems

3

SSW 215Individual Software Engineering

3

MA 221Differential Equations

4

Term IV (17 Credits)

ENGR 212Design of Dynamical Systems

4

ENGR 234Thermodynamics

3

SSW 315Object-Oriented Software Engineering

3

S.E. Science Elective II

3

Science Lab

1

Humanities Requirement 100-200 Level

3

Term V (17 Credits)

SSW 345Modeling and Simulation

3

ISE 350Logistics and Supply Chain Management

3

ENGR 241Probability and Statistics with Data Science Applications

4

ENGR 311Design with Materials

4

HUM Humanities

3

Term VI (16 Credits)

SSW 322Engineering Design VI

2

SSW 555Agile Methods for Software Development

3

SSW 564Software Requirements Analysis and Engineering

3

ISE 490Data-Mining and Applied Machine Learning

3

IDE 399Engineering Economics & Project Management

2

T.E. Technical Elective

3

Term VII (16 Credits)

SSW 423Engineering Design VII

3

IDE 401Senior Innovation-II:Value Proposition

1

SSW 567Software Testing, Quality Assurance and Maintenance

3

SSW 590DevOps Principles and Practices

3

G.E. General Elective

3

Humanities

3

Term VIII (16 Credits)

SSW 424Engineering Design VIII

3

IDE 402Senior Innovation III: Venture Planning and Pitch

1

SSW 533Cost Estimation and Metrics

3

SYS 581Introduction to Systems Engineering

3

G.E. General Elective

3

HUM Humanities

3

Note:

Humanities Requirement:  See College of Arts and Letters

Science Electives: Any from the list.

General Elective: Chosen by student; Can be used towards a minor or option; Can be applied to research or approved international studies.

All undergraduate students are required to fulfill 4 physical education requirements.

Minor in Software Engineering

Students must possess a cumulative GPA of at least 2.7 at graduation. A software engineering minor requires a two-course overload.

The following are the required courses:

MA 134Discrete Mathematics

3

Or

CS 135Discrete Structures

4

SSW 215Individual Software Engineering

3

SSW 315Object-Oriented Software Engineering

3

SSW 345Modeling and Simulation

3

SSW 555Agile Methods for Software Development

3

SYS 581Introduction to Systems Engineering

3

The following prerequisite is needed to undertake the minor program:

E 115

2

Or

CS 115Introduction to Computer Science

4

Or

ENGR 116Intro to Programming & Algorithmic Thinking

3