This is a first version of the University of Iowa 2018-19 General Catalog. The final edition and the historical PDF version will be published soon after the fall semester begins.

The Bachelor of Science in Engineering (B.S.E.) program in computer science and engineering combines the technical content of a computer science degree and a computer engineering degree in a single degree program. The program curriculum is jointly taught by faculty from the Departments of Electrical and Computer Engineering and Computer Science. The program provides students with a strong theoretical and conceptual understanding of the principles underlying computer software and hardware along with the engineering analysis, design, and multidisciplinary teamwork skills needed to develop large and complex systems containing both software and hardware components.

The computer science and engineering program encompasses the technical rigor of a Bachelor of Science program in computer science and a Bachelor of Science program in computer engineering. Graduates gain the foundational knowledge provided by a computer science education together with the critical thinking, problem-solving, and system design skills at the heart of a computer engineering curriculum.

Graduates of the program will:

  • exhibit leadership and vision in contributing to the technical and policy decision of industry, government, and research enterprises;
  • demonstrate problem-solving abilities that permit them to contribute in a variety of technical, business, and academic careers;
  • thrive in diverse, global, and multidisciplinary environments;
  • possess the ability to communicate effectively and participate collaboratively in interactions with engineers and other professionals; and
  • participate in lifelong learning activities that enhance their professional and personal development.

The Bachelor of Science in Engineering with a major in computer science and engineering (CSE) requires a minimum of 129 s.h. The major provides technical depth and breadth as well as flexibility and the opportunity for students to customize their programs according to their own goals and interests. Students choose one of several elective focus areas (EFAs) according to the type of job or research they plan to pursue; see "Elective Focus Area Courses" below. Students also have the opportunity to work with their academic advisor to build an EFA plan that adheres to their goals and interests.

Students complete the B.S.E. core requirements, which include RHET:1030 Rhetoric, ENGR:1300 Introduction to Engineering Computing; and courses in chemistry, engineering mathematics and fundamentals, and physics. Students take CS:1210 Computer Science I: Fundamentals instead of ENGR:1100 Introduction to Engineering Problem Solving. Those who complete ENGR:1100 Introduction to Engineering Problem Solving before entering the CSE program may use that course for elective credit. All students must earn a grade of C-minus or higher in the core requirements MATH:1550 Engineering Mathematics I: Single Variable Calculus and MATH:1560 Engineering Mathematics II: Multivariable Calculus.

They also complete the curriculum designed for their major program, which covers four major stems: mathematics and basic sciences, engineering topics, an elective focus area, and the general education component. For information about the curriculum stems, see the Bachelor of Science in Engineering in the Catalog.

CSE students must complete core courses; math, science, and communication courses; required computer science and engineering program courses; a constrained program elective course; approved elective focus area (EFA) courses; general education component (GEC) courses; and a two-semester capstone design sequence.

The B.S.E. with a major in computer science and engineering requires the following course work.

Core Computing Courses

All of these:
CS:1210Computer Science I: Fundamentals4
ENGR:1300Introduction to Engineering Computing3
ENGR:2730Computers in Engineering3

Core Engineering Courses

All of these:
ENGR:1000Engineering Success for First-Year Students1
ENGR:2110Engineering Fundamentals I: Statics2
ENGR:2120Engineering Fundamentals II: Electrical Circuits3
ENGR:2130Engineering Fundamentals III: Thermodynamics3

Math, Science, and Communication Courses

All of these:
CHEM:1110Principles of Chemistry I4
PHYS:1611Introductory Physics I4
PHYS:1612Introductory Physics II4
MATH:1550Engineering Mathematics I: Single Variable Calculus4
MATH:1560Engineering Mathematics II: Multivariable Calculus4
MATH:2550Engineering Mathematics III: Matrix Algebra2
MATH:2560Engineering Mathematics IV: Differential Equations3
RHET:1030Rhetoric4
STAT:2020Probability and Statistics for the Engineering and Physical Sciences3

Required Program Courses

All of these:
ECE:2400Linear Systems I3
ECE:2410Principles of Electronic Instrumentation4
ECE:3000Professional Seminar: Electrical Engineering1
ECE:3320Introduction to Digital Design3
ECE:3330Introduction to Software Design3
ECE:3350Computer Architecture and Organization3
ECE:3360Embedded Systems3
ECE:3540Communication Networks3
CS:2210Discrete Structures3
CS:2230Computer Science II: Data Structures4
CS:3330Algorithms3
CS:3620Operating Systems3
CS:3820Programming Language Concepts3

Constrained Program Elective

One of these:
CS:4330Theory of Computation3
CS:4350Logic in Computer Science3

Elective Focus Area Courses

Students select an elective focus area (EFA) to personalize their curriculum and to prepare them for certain jobs or research study they intend to seek. A number of areas are available, such as bioinformatics, business, medical imaging, embedded systems, and software engineering. Students also may work with their academic advisor to create a customized plan tailored to their goals and interests.

Students complete five elective focus area courses, which they select according to guidelines established by the department. For a complete list of EFAs and course selection guidelines, see Elective Focus Areas on the Department of Electrical and Computer Engineering website.

Students who choose their EFA and general education component carefully may be able to earn the Certificate in Sustainability, the Certificate in Technological Entrepreneurship, or one of several undergraduate minors offered by the University by taking minimal additional course work beyond that required for the computer science and engineering major.

General Education Component

Students are required to take at least 15 s.h. of General Education Component (GEC) courses; see General Education Component on the College of Engineering website.

The requirements are:

  • Engineering Be Creative: complete 3 s.h.

A full list of approved courses can be found on the College of Engineering GEC Options: Be Creative Course List web page.

  • GE CLAS Core: complete 3 s.h.

Students must complete 3 s.h. of course work from one of the approved GE CLAS Core areas below.

Interpretation of Literature
World Languages
Historical Perspectives
International and Global Issues
Literary, Visual, and Performing Arts
Social Sciences
Values and Culture

  • Approved Course Subjects: complete 9 s.h.

See the College of Engineering GEC Options: Approved Course Subjects web page.

Capstone Design Courses

In their senior year, students complete a two-semester capstone design sequence culminating in the development and implementation of a significant, original project. The capstone design experience emphasizes teamwork, professionalism, open-ended problem solving, and the ability to work within real-world constraints and engineering standards.

Both of these:
ECE:4880Principles of Electrical and Computer Engineering Design3
ECE:4890Senior Electrical and Computer Engineering Design3

Double Major in Computer Science and Engineering/Electrical Engineering

Students may earn a double major in computer science and engineering (CSE) and electrical engineering (EE). They must satisfy all requirements of the electrical track of the EE major and all requirements of the CSE major. The double major may be achieved with as few as six courses.

The following list shows the required courses that are not in common between the EE and CSE majors. In addition to the courses below, students must take one computer science elective, one ECE 5000-level course, and an additional 5000-level course that is cross-listed in the Department of Electrical and Computer Engineering and the Department of Computer Science. For more information, contact the Department of Electrical and Computer Engineering.

ECE:3330Introduction to Software Design (required for CSE, EE elective focus area)3
ECE:3350Computer Architecture and Organization (required for CSE, EE elective focus area)3
ECE:3360Embedded Systems (required for CSE, EE elective focus area)3
ECE:3400Linear Systems II (required for EE, CSE elective focus area elective)3
ECE:3410Electronic Circuits (required for EE, CSE elective focus area)4
ECE:3500Communication Systems (required for EE)3
ECE:3540Communication Networks (required for CSE, EE breadth elective)3
ECE:3600Control Systems (required for EE)3
ECE:3700Electromagnetic Theory (required for EE)3
ECE:3720Semiconductor Devices (required for EE)3
EE depth elective (required for EE)3
CS:1210Computer Science I: Fundamentals (required for CSE, EE substitute for ENGR:1100)4
CS:2210Discrete Structures (required for CSE, EE elective focus area)3
CS:2230Computer Science II: Data Structures (required for CSE)4
CS:3330Algorithms (required for CSE)3
CS:3620Operating Systems (required for CSE)3
CS:3820Programming Language Concepts (required for CSE)3
CS:4330Theory of Computation (CSE systems elective, EE depth elective)3
or CS:4350 Logic in Computer Science
CS elective (required for CSE)3
MATH:3550Engineering Mathematics V: Vector Calculus (required for EE)3

B.S.E./M.S. in Electrical and Computer Engineering

The College of Engineering offers a Bachelor of Science in Engineering/Master of Science for computer science and engineering undergraduate students who intend to earn a M.S. in electrical and computer engineering. B.S.E./M.S. students may take up to 12 s.h. of graduate-level course work and do thesis-level research while they are still undergraduates. They may count 9 s.h. of graduate course work toward both degrees. Once students complete the requirements for the bachelor's degree, they are granted the B.S.E., and they normally complete the M.S. one year later.

To be admitted to the degree program, students must have completed at least 80 s.h., must have a cumulative g.p.a. of at least 3.25, and must submit a letter of application to the chair of the Department of Electrical and Computer Engineering. For more information, see Joint B.S./M.S. Degree on the Department of Electrical and Computer Engineering website.

B.S.E./M.C.S.

The College of Engineering and the Department of Computer Science (College of Liberal Arts and Sciences) offer a combined Bachelor of Science in Engineering/Master of Computer Science for computer science and engineering undergraduate students.

The combined degree program allows students to count a limited amount of credit toward both degrees. For more information, see the Master of Computer Science in the Catalog.

Sample Plan of Study

Sample plans represent one way to complete a program of study. Actual course selection and sequence will vary and should be discussed with an academic advisor. For additional sample plans, see MyUI.

Computer Science and Engineering, B.S.E.

Plan of Study Grid (Manual)
First Year
FallHours
MATH:1550 Engineering Mathematics I: Single Variable Calculus a 4
ENGR:1300 Introduction to Engineering Computing 3
CHEM:1110 Principles of Chemistry I b 4
RHET:1030 Rhetoric 4
ENGR:1000 Engineering Success for First-Year Students 1
CSI:1600 Success at Iowa 0
 Hours16
Spring
MATH:1560 Engineering Mathematics II: Multivariable Calculus 4
CS:1210 Computer Science I: Fundamentals 4
PHYS:1611 Introductory Physics I 4
MATH:2550 Engineering Mathematics III: Matrix Algebra 2
GE: Engineering Be Creative c 3
 Hours17
Second Year
Fall
MATH:2560 Engineering Mathematics IV: Differential Equations 3
PHYS:1612 Introductory Physics II 4
ENGR:2110 Engineering Fundamentals I: Statics 2
ENGR:2120 Engineering Fundamentals II: Electrical Circuits 3
ENGR:2130 Engineering Fundamentals III: Thermodynamics 3
 Hours15
Spring
CS:2210 Discrete Structures 3
ECE:2400 Linear Systems I 3
ECE:2410 Principles of Electronic Instrumentation 4
ENGR:2730 Computers in Engineering 3
GE: CLAS General Education Component d 3
 Hours16
Third Year
Fall
STAT:2020 Probability and Statistics for the Engineering and Physical Sciences 3
ECE:3320 Introduction to Digital Design 3
CS:2230 Computer Science II: Data Structures 4
ECE:3330 Introduction to Software Design 3
GE: Approved Course Subjects e 3
ECE:3000 Professional Seminar: Electrical Engineering 1
 Hours17
Spring
CS:3330 Algorithms 3
ECE:3350 Computer Architecture and Organization 3
ECE:3360 Embedded Systems 3
Elective Focus Area: #1 3
GE: Approved Course Subjects e 3
CS:3820 Programming Language Concepts 3
 Hours18
Fourth Year
Fall
ECE:4880 Principles of Electrical and Computer Engineering Design 3
Elective Focus Area: #2 (technical, CS) 3
Elective Focus Area: #3 (technical, ECE) 3
ECE:3540 Communication Networks 3
CS:3620 Operating Systems 3
 Hours15
Spring
ECE:4890 Senior Electrical and Computer Engineering Design 3
Theory Elective: CS:4330 Theory of Computation or CS:4350 Logic in Computer Science 3
Elective Focus Area: #4 (advanced CS) 3
Elective Focus Area: #5 (advanced ECE) 3
GE: Approved Course Subjects e 3
 Hours15
 Total Hours129

Students who earn a major in computer science and engineering work in research, design, development, manufacturing, sales, market analysis, consulting, field service, and management. They are employed in computer, semiconductor, software, aerospace, telecommunication, medical, radio, television, and power industries, and many graduates pursue entrepreneurial ventures.

The major also prepares students for further study in many areas demanding computational and engineering skill sets.