Undergraduate Study

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

This curriculum is jointly administered by the Department of Computer Science and the Department of Electrical and Computer Engineering at Iowa State University. 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.

The software engineering curriculum offers emphasis areas in software engineering principles, process and practice. Students may also take elective courses in computer engineering and computer science.

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 continuous learning and professional development.

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 Department of Computer Science and the Department of Electrical and Computer Engineering 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

Administered by the Department of Electrical and Computer Engineering in the College of Engineering and the Department of Computer Science in the College of Liberal Arts and Sciences.

Leading to the degree bachelor of science.

Total credits required: 125 cr. See also Basic Program and Special Programs. Note: Pass/Not Pass credits cannot be used to meet graduation requirements.

Note: CPR E 288, CPR E 381 and CPR E 308 are 4-credit courses. The core credit requirement (34 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 Supplementary Electives.

Seminar/Co-op/Internships

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 B.S. in software engineering. These 30 credits must include S E 492 Senior Design Project II and credits in the core professional curriculum and/or in technical electives. 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 Diversity and International Perspectives courses may not be taken Pass/Not Pass.

Courses

Courses primarily for undergraduates:

S E 101. Software Engineering Orientation.

Cr. R.
Introduction to the procedures, policies, and resources of Iowa State University and the department of Computer Science and Electrical and Computer Engineering. Information on engineering and computer-based professions.

S E 166. Careers in Software Engineering.

Cr. R.
Overview of the nature and scope of the software engineering profession. Relationship of coursework to careers. Departmental rules, student services operations, degree requirements, program of study planning, career options, and student organizations.

(Cross-listed with COM S). (3-1) Cr. 3.
F.S.
Prereq: Minimum of C- in COM S 228, COM S 330 or CPR E 310Study of concepts in programming languages and major programming paradigms, especially functional programming. Special emphasis on design tradeoffs that enable students to make sound choices of programming languages for a given software development task. Programming projects.

Cr. R.
Repeatable. SS.
Prereq: Permission of department and Career ServicesSummer professional work period.

S E 397. Software Engineering Internship.

Cr. R.
Repeatable. F.S.
Prereq: Permission of department and Career ServicesOne semester maximum per academic year professional work period.

S E 398. Cooperative Education.

Cr. R.
F.S.SS.
Prereq: S E 298, permission of department and Career ServicesSecond professional work period in the cooperative education program. Students must register for this course before commencing work.

(1-3) Cr. 2.
Prereq: S E 491Second semester of a team design project experience. Emphasis on the successful implementation and demonstration of the design completed in S E 491 and the evaluation of project results. Technical writing of final project report; oral presentation of project achievements.

S E 494. Software Engineering Portfolio Development.

Cr. R.
F.S.
Prereq: Credit or enrollment in S E 491Portfolio assessment for Software Engineers. Guidelines and Advice to improve software engineering portfolios and to better use portfolios as a tool to enhance career opportunities.

S E 498. Cooperative Education.

Cr. R.
Repeatable. F.S.SS.
Prereq: S E 398, permission of department and Career ServicesThird and subsequent professional work periods in the cooperative education program. Students must register for this course before commencing work.

Every effort has been made to make the catalog accurate as of the date of publication. However, all policies, procedures, fees, and charges are subject to change at any time by appropriate action of the faculty, the university administration, or the Board of Regents, State of Iowa.