Iowa State University

Iowa State University

2007-2009 Courses and Programs

Iowa State University Catalog

Search for classes offered this term

Catalog Index

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

Curriculum in Software Engineering

A bachelor of science degree in software engineering is jointly administered by the Department of Electrical and Computer Engineering and the Department of Computer Science. The program is aimed at creating high-quality software in a systematic, controlled, and efficient manner. The specific objective of the program is to educate students on principles, processes, techniques, and tools for producing, analyzing, specifying, designing and evolving software. A broader objective is to cultivate among students intellectual curiosity, problem solving skills, good learning habits, effective communication skills, leadership, and teamwork.

Preparation for the Software Engineering Curricula

High school credits particularly important to students wishing to study engineering include 2 years of algebra, 1 year of geometry, and 1/2 year of trigonometry; 1 year each of chemistry and physics, and 4 years of English. See Index for specific admission requirements. Placement in mathematics, English, and chemistry will generally be based on high school preparation and test scores. Advanced placement is possible for exceptionally well-prepared students. Students who are not adequately prepared may be encouraged or required to take additional preparatory coursework and should expect to spend more than the customary time to complete the engineering program. Any coursework which is preparatory or remedial in nature cannot be used to satisfy credit requirements for graduation in any of the engineering curricula.

Basic Program for the Software Engineering Curriculum

The basic program is a set of courses common to all engineering curricula. Entering undergraduates must demonstrate proficiency in trigonometry based on test scores, or by having transfer credits from a college trigonometry course, or by passing either Math 141 or 142 before enrolling in Math 166.

The Department of English may recommend placement in one or more sections of Engl 101 if the placement test administered to students whose first language is not English indicates a deficiency in reading or writing.

Basic Program
8 Mathematics 165, 166
6 English 150, 250
4 Chemistry 167 or 177
3 S E 1851
5 Physics 221
R Engineering 101
0.5 Library 160
26.5 Total Credits

English 250 will normally be taken in the second year reducing the first year Basic Program credits to 23.5. Refer to the curriculum designated requirements below for remaining first year credits by program.

The student’s adviser may require or recommend courses in addition to those specified above if the preparation and progress of the student are such that additional courses are necessary or desirable.

Requirement for Entry into Professional Program

At the completion of the first semester in which students are enrolled in 200-level engineering courses, they must satisfy both of the following requirements before continuing in courses (200-level and above) offered by departments in the College of Engineering.

1. Completion of the basic program with a grade point average of 2.00 or better in the basic program courses.

2. A cumulative grade point average of 2.00 or better for all courses taken at Iowa State University.

Students transferring into Software Engineering will be given an additional semester to complete the Basic Program.

Requirement for Graduation

In order to graduate in a professional engineering curriculum, a student must have a minimum GPA of 2.00 in a department-designated group of 200-level and above courses known as the Core. These courses will total no fewer than 24 nor more than 48 semester credits.

1Engr 160, Aer E 160, C E 160, Cpr E 185, E E 185, or I E 148 may be used to meet the Basic Program ‘problem-solving’ requirement.

Freshman Year
Cr. First Semester
4 Calculus 1—Math 165
3 Critical Thinking and Communication—Engl 150
3 Problem Solving in Software Engineering—S E 185
R Software Engineering Orientation— S E 101
4 Introduction to Object Oriented Programming—Com S 227
0.5 Library Instruction
Cr. Second Semester
4 Calculus II—Math 166
5 Introduction to Classical Physics I—Phys 221
R Careers in Software Engineering—S E 166
4 General Chemistry for Engineering—Chem 167

Introduction to Data Structures— Com S 228

Sophomore Year
Cr. First Semester
3 Written, Oral, Visual, and Electronic Composition—Engl 250
4 Elementary Differential Equations and Laplace Transforms—Math 267
4 Digital Logic—Cpr E 281*
3 Supplementary/Gen Ed elective1
Cr. Second Semester
3 Math elective
3 Discrete Computational Structures—Com S 330 or Theoretical Foundations of Computer Engineering—Cpr E 310*
3 Software Development Practices— Com S 309*
3 Economics elective

Embedded Systems I—Cpr E 288 or Advanced Programming Techniques—Com S 229*

Junior Year
Cr. First Semester
3 Supplementary/General Ed Electives1
3 Design and Analysis of Algorithms—Com S 311*
3 Software Construction and User Interfaces—S E 319*
3 Software Project Management— S E 329*
4/3 Operating Systems: Principles and Practice—Cpr E 308 or Introduction to Operating Systems—Com S 352*
Cr. Second Semester
3 Introduction to Database Management Systems—Com S 363*
3 Software Architecture and Design—S E 339*
3 Technical communication—Engl 314
6 Supplementary/Gen Ed elective1
3 Fundamentals of Public Speaking—Sp Cm 212
Senior Year
Cr. First Semester
3 Probability and Statistics for Computer Science—Stat 330
3 Senior Design Project I and Professionalism—S E 491
3 Software engineering elective2
3 Supplementary/General Ed elective1
3 Technical elective
Cr. Second Semester
2 Senior Design Project II–S E 492
3 Software engineering elective2
10/12 Supplementary/General education electives1

Note: The students who take the 4-credit lab course Cpr E 288 and/or Cpr E 308 instead of the corresponding 3-credit alternatives can apply the additional credits towards Supplementary/General Education electives. Thus, the total number of required credits remains the same for all.

Communication Proficiency

The department requires a grade of C or better in Engl 150, 250, (or 250H), and 314 (or 314H).

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 491 Senior Design Project I and Professionalism, 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.

1These courses to be selected in consultation with S E advisers from a list of approved courses. They must include courses to satisfy university and college general education requirements. These courses include courses, or categories of courses, that may need to be met, such as international perspectives, U.S. diversity, language, arts and humanities, and social sciences. The courses should also include electives. Pass-Not Pass credit is not accepted.

2Software Engineering electives must be chosen to satisfy S E requirements concerning content, distribution, and level. All technical electives must be chosen from lists approved by the software engineering program. Details are available in the E CPE or Com S Undergraduate Student Services Office or on the Web. Pass/not pass credit not accepted. One credit of S E 490 may be used to partially meet these requirements.

*Core professional curriculum. A student must have a minimum grade-point average of 2.00 in this group of courses in order to graduate.