your adventure in

Software Engineering

This is an archived copy of the 2023-2024 catalog. To access the most recent version of the catalog, please visit http://catalog.iastate.edu.

View PDF

Administrated by the College of Engineering and the College of Liberal Arts and Sciences.

For the undergraduate curriculum in Software Engineering leading to the degree Bachelor of Science. The Software Engineering Program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

A software engineer uses their expertise to design, develop, and evaluate software, configure and install computer systems, and build and maintain software systems throughout their lifecycle. Specific tasks software engineers perform evolve quickly, reflecting changes in technology, as well as the needs of employers. Software engineers work as members of teams that may include experts in engineering, marketing, manufacturing, accounting, training, and design.

The Software Engineering Program provides undergraduate students with the opportunity to learn Software Engineering fundamentals, to study applications of state-of-the art software technologies, and to prepare for the practice of Software Engineering. The student-faculty interaction necessary to realize this opportunity occurs within an environment motivated by the principle that excellence in undergraduate education is enhanced by an integrated commitment to successful, long-term research, and outreach programs.

Student learning outcomes

Graduates of the Software Engineering curriculum should have, at the time of graduation:

  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.

PROGRAM EDUCATIONAL Objectives

Within five years of graduation, the graduates should:

1. attain a productive career in Software Engineering or related fields;

2. attain leadership roles and become effective collaborators to advance professional and organizational goals;

3. engage in lifelong learning and professional development;

4. encourage and support diversity and inclusiveness in their workplace.

We expect that these objectives will be manifested in our graduates through the following five key attributes: (a) peer-recognized expertise, (b) engagement in professional practice, (c) sustained learning, (d) leadership and (e) teamwork.  

Demonstration of expertise involves applying state-of-the-art practices for solving problems in the design, development, validation, evolution and sustainment of (software) products. Demonstration of professional engagement involves contributing locally and globally to the use of ethical, competent, and creative practices in industry, academia or the public sector. Demonstration of sustained learning involves the ability to adapt to rapid technological, environmental, and organizational changes through self-study and group study and through opportunities of professional development or graduate study. Demonstration of leadership involves the ability to take initiative, and to facilitate the advancements of individuals and the community by influencing others and by having a widespread, positive impact on critical issues and projects. Finally, demonstration of teamwork involves the ability to work with collaborators who have varied expertise, and with diverse cultural and interdisciplinary backgrounds.


As a complement to the instructional activity, the College of Engineering and the College of Liberal Arts and Sciences provide opportunities for each student to have experience with broadening activities. Students have the opportunity to gain practical industry experience in the cooperative education and internship program. Students have the opportunity to participate in advanced research activities. Through international exchange programs, students learn about engineering practices in other parts of the world.

Curriculum in Software Engineering

Degree requirements leading to the degree Bachelor of Science in Software Engineering.

Total credits required: 125 cr.

Any transfer credit courses applied to the degree program require a grade of C or better (but will not be calculated into the ISU cumulative GPA, Engineering Basic Program GPA, or Software Engineering Core GPA). See also Engineering Basic Program and Special Programs. Note: Pass/Not Pass credits cannot be used to meet graduation requirements.

International Perspectives: 3 cr.1

U.S. Diversity: 3 cr.1

Communication Proficiency/Library requirement:

ENGL 150Critical Thinking and Communication (C or better in this course)3
ENGL 250Written, Oral, Visual, and Electronic Composition (C or better in this course)3
LIB 160Introduction to College Level Research1
Choose one of the following:3
Proposal and Report Writing (C or better in this course)
Technical Communication (C or better in this course)
Total Credits10

General Education Requirements: 21 cr.2

Choose 1 course from the following:3
Principles of Microeconomics
Principles of Macroeconomics
Engineering Economic Analysis
Approved Arts and Humanities or Social Sciences courses9
ENGL 250Written, Oral, Visual, and Electronic Composition (C or better in this course)3
Choose one of the following ENGL courses (C or better in this course)3
Proposal and Report Writing
Technical Communication
SP CM 212Fundamentals of Public Speaking3
Total Credits21

Engineering Basic Program: 24 cr.

A minimum GPA of 2.00 is required for this set of courses (please note that transfer course grades will not be calculated into the Engineering Basic Program GPA). See Requirement for Entry into Professional Program in College of Engineering Overview section.

CHEM 167General Chemistry for Engineering Students4
or CHEM 177 General Chemistry I
ENGL 150Critical Thinking and Communication (C or better in this course)3
S E 101Software Engineering Orientation 3R
S E 185Problem Solving in Software Engineering 33
LIB 160Introduction to College Level Research1
MATH 165Calculus I4
MATH 166Calculus II4
PHYS 231Introduction to Classical Physics I4
PHYS 231LIntroduction to Classical Physics I Laboratory1
Total Credits24

Math and Physical Science: 17 cr.

COM S 227Object-oriented Programming (C- or better in this course)4
COM S 228Introduction to Data Structures (C- or better in this course)3
MATH 267Elementary Differential Equations and Laplace Transforms4
Math Elective: Choose one of the following:3
Matrices and Linear Algebra
Calculus III
Combinatorics
Graph Theory
Theory of Linear Algebra
STAT 330Probability and Statistics for Computer Science3
Total Credits17

Software Engineering Core: 37 cr.

A minimum GPA of 2.00 is required for this set of courses, including any transfer courses (please note that transfer course grades will not be calculated into the Software Engineering Core GPA):

CPR E 281Digital Logic4
Choose one of the following: 3
Advanced Programming Techniques
Embedded Systems I: Introduction
Choose one of the following:3
Introduction to Computer Architecture and Machine-Level Programming
Computer Organization and Assembly Level Programming
Choose one of the following:3
Introduction to Operating Systems
Operating Systems: Principles and Practice
Choose one of the following:3
Discrete Computational Structures
Theoretical Foundations of Computer Engineering
COM S 311Introduction to the Design and Analysis of Algorithms3
COM S 363Introduction to Database Management Systems3
S E 309Software Development Practices3
S E 317Introduction to Software Testing3
S E 319Construction of User Interfaces3
S E 339Software Architecture and Design3
S E 421Software Analysis and Verification for Safety and Security3
Note: CPR E 288, CPR E 381, and CPR E 308 are 4-credit courses. The Software Engineering Core credit requirement (37 credits) is given in terms of 3-credit courses. If the 4-credit courses are taken instead, then the extra credits will be used as credits for Supplemental Electives.
Total Credits37

Other Remaining Courses: 26 cr.

S E 166Careers in Software EngineeringR
S E 491Senior Design Project I and Professionalism3
S E 492Senior Design Project II2
Software Engineering Electives 29
Supplemental Electives 29
Open Elective 23
Total Credits26

Optional Co-op/Internships

Co-op (ENGR 398) or internship (ENGR 396) is optional

Transfer Credit Requirements

The degree program must include a minimum of 30 credits at the 300-level or above in professional and technical courses earned at ISU in order to receive a Bachelor of Science in Software Engineering. These 30 credits must include S E 491 Senior Design Project I and Professionalism and S E 492 Senior Design Project II. The Software Engineering degree program requires a grade of C or better for any transfer credit course that is applied to the degree program.

  1. These university requirements will add to the minimum credits of the program unless the university-approved courses are also approved by the department to meet other course requirements within the degree program. U.S Diversity and International Perspectives courses may not be taken Pass/Not Pass.
  2. Choose from approved lists.
  3. See Basic Program for Professional Engineering Curricula for accepted substitutions for curriculum designated courses in the Engineering Basic Program.

See also: A 4-year plan of study grid showing course template by semester.

Note: International Perspectives and U.S. Diversity courses are used to meet the General Education Electives.

Software Engineering, B.S.

Freshman
FallCreditsSpringCredits
S E 101RS E 166R
S E 1853COM S 2274
MATH 1654MATH 1664
CHEM 167 or 1774PHYS 2314
LIB 1601PHYS 231L1
Economics Elective3ENGL 1503
 15 16
Sophomore
FallCreditsSpringCredits
COM S 2283S E 31913
CPR E 28114COM S 327 or CPR E 2881, 23
MATH 2674CPR E 310 or COM S 2303
SP CM 2123Math Elective3
ENGL 2503General Education Elective3
 17 15
Junior
FallCreditsSpringCredits
S E 30913S E 31713
COM S 321 or CPR E 3811, 23S E 33913
COM S 3113COM S 352 or CPR E 3081, 23
COM S 36313ENGL 314 or 3093
General Education Elective3General Education Elective3
 15 15
Senior
FallCreditsSpringCredits
S E 4913S E 4922
S E 42113Software Engineering Elective3
Software Engineering Elective3Software Engineering Elective3
Supplemental Elective3Supplemental Elective3
STAT 3303Supplemental Elective3
 Open Elective3
 15 17
Total Credits: 125
*

Total credits required - 125 credits.  Any transfer credit courses applied to the degree program require a grade of C or better (but will not be calculated into the ISU Cumulative GPA, Engineering Basic Program GPA, or Software Engineering Core GPA).  See also Basic Program and Special Programs.

Engineering Basic Program - A minimum GPA of 2.00 is required for this set of courses, including any transfer courses (please note that transfer course grades will not be calculated into the Engineering Basic Program GPA)

Must receive a C or better grade in required English classes.

Must receive a C- or better grade in MATH 165, MATH 166, COM S 227, and COM S 228.

General Educational Elective courses to be selected in consultation with Software Engineering Academic Advisors from a list of approved courses. They must include courses that satisfy university and college general education requirements. These courses include courses or categories of courses such as International Perspectives and U.S. Diversity, World Language, Arts and Humanities, and Social Sciences. Pass/Not Pass credit is not accepted.

Software Engineering Electives and Supplemental Electives must be selected from the program-approved list.

1

Software Engineering Core (A minimum GPA of 2.00 is required for this set of courses, including any transfer courses but transfer course grades will not be calculated into the Software Engineering Core GPA)

2

Students who take the 4-credit lab courses CPR E 288, CPR E 308, and CPR E 381 instead of the corresponding 3-credit alternatives can apply the additional credits toward Supplemental Electives. The total number of credits required in the Software Engineering Program remains the same for all students.

The Software Engineering Program has established concurrent undergraduate and graduate programs with the Department of Computer Science, the Department of Electrical and Computer Engineering, and the Ivy College of Business. Please visit https://se.iastate.edu/academics/ for details.