your adventure in

Software Engineering

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, https://www.abet.org, under the commission’s General Criteria and Program Criteria for Software and Similarly Named Engineering Programs.

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 and innovators 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. Cultures and Communities (formerly U.S. Diversity): 3 cr.1

Communication Proficiency/Library requirement:

ENGL 1500Critical Thinking and Communication (C or better in this course)3
ENGL 2500Written, Oral, Visual, and Electronic Composition (C or better in this course)3
LIB 1600Introduction 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 2500Written, 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
SPCM 2120Fundamentals 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 1670General Chemistry for Engineering Students4
or CHEM 1770 General Chemistry I
ENGL 1500Critical Thinking and Communication (C or better in this course)3
Software Engineering Orientation
SE 1850Problem Solving in Software Engineering 33
LIB 1600Introduction to College Level Research1
MATH 1650Calculus I4
MATH 1660Calculus II4
PHYS 2310Introduction to Classical Physics I4
PHYS 2310LIntroduction to Classical Physics I Laboratory1
Total Credits24

Math and Physical Science: 17 cr.

COMS 2270Object-oriented Programming (C- or better in this course)4
COMS 2280Introduction to Data Structures (C- or better in this course)3
MATH 2670Elementary 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 3300Probability 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):

CPRE 2810Digital 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
COMS 3110Introduction to the Design and Analysis of Algorithms3
COMS 3630Introduction to Database Management Systems3
SE 3090Software Development Practices3
SE 3170Introduction to Software Testing3
SE 3190Construction of User Interfaces3
SE 3390Software Architecture and Design3
SE 4210Software Analysis and Verification for Safety and Security3
Note: CPRE 2880, CPRE 3810, and CPRE 3080 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.

SE 4910Senior Design Project I and Professionalism3
Careers in Software Engineering
SE 4920Senior Design Project II2
Software Engineering Electives 29
Supplemental Electives 29
Open Elective 23
Total Credits26

Optional Co-op/Internships

Co-op (ENGR 3980) or internship (ENGR 3960) is optional

Transfer Credit Requirements

The degree program must include a minimum of 30 credits at the 3000-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 SE 4910 Senior Design Project I and Professionalism and SE 4920 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. Cultures and Communities (formerly 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. Cultures and Communities (formerly U.S. Diversity) courses are used to meet the General Education Electives.

Software Engineering, B.S.

Freshman
FallCreditsSpringCredits
SE 1010RSE 1660R
SE 18503COMS 22704
MATH 16504MATH 16604
CHEM 1670 or 17704PHYS 23104
LIB 16001PHYS 2310L1
Economics Elective3ENGL 15003
 15 16
Sophomore
FallCreditsSpringCredits
COMS 22803SE 319013
CPRE 281014COMS 3270 or CPRE 28801, 23
MATH 26704CPRE 3100 or COMS 23003
SPCM 21203Math Elective3
ENGL 25003General Education Elective3
 17 15
Junior
FallCreditsSpringCredits
SE 309013SE 317013
COMS 3210 or CPRE 38101, 23SE 339013
COMS 31103COMS 3520 or CPRE 30801, 23
COMS 363013ENGL 3140 or 30903
General Education Elective3General Education Elective3
 15 15
Senior
FallCreditsSpringCredits
SE 49103SE 49202
SE 421013Software Engineering Elective3
Software Engineering Elective3Software Engineering Elective3
Supplemental Elective3Supplemental Elective3
STAT 33003Supplemental 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 1650, MATH 1660, COMS 2270, and COMS 2280.

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. Cultures and Communities (formerly 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 CPRE 2880, CPRE 3080, and CPRE 3810 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.