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:
- An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- 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.
- An ability to communicate effectively with a range of audiences.
- 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.
- 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.
- An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- 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: 3 cr.1
Communication Proficiency/Library requirement:
ENGL 1500 | Critical Thinking and Communication (C or better in this course) | 3 |
ENGL 2500 | Written, Oral, Visual, and Electronic Composition (C or better in this course) | 3 |
LIB 1600 | Introduction to College Level Research | 1 |
| 3 |
| Proposal and Report Writing (C or better in this course) | |
| Technical Communication (C or better in this course) | |
Total Credits | 10 |
General Education Requirements: 21 cr.2
| 3 |
| Principles of Microeconomics | |
| Principles of Macroeconomics | |
| Introduction to Economics: Real World Applications | |
| Engineering Economic Analysis | |
| 9 |
ENGL 2500 | Written, Oral, Visual, and Electronic Composition (C or better in this course) | 3 |
| 3 |
| Proposal and Report Writing | |
| Technical Communication | |
SPCM 2120 | Fundamentals of Public Speaking | 3 |
Total Credits | 21 |
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 1670 | General Chemistry for Engineering Students | 4 |
or CHEM 1770 | General Chemistry I |
ENGL 1500 | Critical Thinking and Communication (C or better in this course) | 3 |
SE 1010 | Software Engineering Orientation | R |
SE 1850 | Problem Solving in Software Engineering 3 | 3 |
LIB 1600 | Introduction to College Level Research | 1 |
MATH 1650 | Calculus I | 4 |
MATH 1660 | Calculus II | 4 |
PHYS 2310 | Introduction to Classical Physics I | 4 |
PHYS 2310L | Introduction to Classical Physics I Laboratory | 1 |
Total Credits | 24 |
Math and Physical Science: 17 cr.
COMS 2270 | Object-oriented Programming (C- or better in this course) | 4 |
COMS 2280 | Introduction to Data Structures (C- or better in this course) | 3 |
MATH 2670 | Elementary Differential Equations and Laplace Transforms | 4 |
| 3 |
| Matrices and Linear Algebra | |
| Calculus III | |
| Combinatorics | |
| Graph Theory | |
| Theory of Linear Algebra | |
STAT 3300 | Probability and Statistics for Computer Science | 3 |
Total Credits | 17 |
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 2810 | Digital Logic | 4 |
| 3 |
| Advanced Programming Techniques | |
| Embedded Systems I: Introduction | |
| 3 |
| Introduction to Computer Architecture and Machine-Level Programming | |
| Computer Organization and Assembly Level Programming | |
| 3 |
| Introduction to Operating Systems | |
| Operating Systems: Principles and Practice | |
| 3 |
| Discrete Computational Structures | |
| Theoretical Foundations of Computer Engineering | |
COMS 3110 | Introduction to the Design and Analysis of Algorithms | 3 |
COMS 3630 | Introduction to Database Management Systems | 3 |
SE 3090 | Software Development Practices | 3 |
SE 3170 | Introduction to Software Testing | 3 |
SE 3190 | Construction of User Interfaces | 3 |
SE 3390 | Software Architecture and Design | 3 |
SE 4210 | Software Analysis and Verification for Safety and Security | 3 |
| |
Total Credits | 37 |
Other Remaining Courses: 26 cr.
SE 1660 | Careers in Software Engineering | R |
SE 4910 | Senior Design Project I and Professionalism | 3 |
SE 4920 | Senior Design Project II | 2 |
2 | 9 |
2 | 9 |
2 | 3 |
Total Credits | 26 |
Optional Co-op/Internships
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.
- 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 and International Perspectives courses may not be taken Pass/Not Pass.
- Choose from approved lists.
- 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 courses are used to meet the General Education Electives.
Software Engineering, B.S.
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.