This is the first version of the 2021-22 General Catalog. The final edition and the historical PDF will be published during the fall semester.

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 Department of Electrical and Computer Engineering and the Department of Computer Science (College of Liberal Arts and Sciences). 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.

Educational Objectives

Graduates of the computer science and engineering program will:

  • exhibit leadership and vision in contributing to the computing-related technical and policy decisions of industry, government, and research enterprises;
  • demonstrate computing skills and 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 other computing and engineering professionals; and
  • understand the importance of participating 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. of credit. Students must have a g.p.a. of at least 2.00 on all college work used to satisfy degree requirements as well as on all work undertaken at the University of Iowa.

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 focus areas according to the type of job or research they plan to pursue; see "Focus Area Courses" below. Students also have the opportunity to work with their academic advisor to build a focus area plan that adheres to their goals and interests.

Students complete the B.S.E. core requirements, which include RHET:1030 Rhetoric, ENGR:1100 Introduction to Engineering Problem SolvingENGR:1300 Introduction to Engineering Computing, and courses in chemistry, engineering mathematics and fundamentals, and physics. 

They also complete the curriculum designed for their major program, which covers four major stems: mathematics and basic sciences, engineering topics, a focus area, and the General Education Component (GEC). For information about the curriculum stems, see the Bachelor of Science in Engineering, B.S.E. 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 focus area 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 coursework.

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:1100Introduction to Engineering Problem Solving3
ENGR:2120Electrical Circuits3

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:3000Electrical and Computer Engineering Professional Seminar1
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

Theory Elective

One of these:
ECE:5330Graph Algorithms and Combinatorial Optimization3
ECE:5450Machine Learning3
ECE:5520Introduction to Information and Coding Theories3
ECE:5810Formal Methods in Software Engineering3
ECE:5995Contemporary Topics in Electrical and Computer Engineering (when topic is cryptography)3
CS:4330Theory of Computation3
CS:4350Logic in Computer Science3
CS:4720Optimization Techniques3
CS:5340Limits of Computation3
CS:5360Randomized Algorithms3
CS:5370Computational Geometry3
CS:5430Machine Learning3
CS:5620Distributed Systems and Algorithms3
CS:5850Programming Language Foundations3
CS:5860Lambda Calculus and Applications3

Focus Area Courses

Students select a focus area 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 six focus area elective courses (17 s.h.), which they select according to guidelines established by the department. For a complete list of focus areas and course selection guidelines, see Focus Areas on the Department of Electrical and Computer Engineering website.

Students who choose their focus area and General Education Component (GEC) 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 coursework 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

Students 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.

Diversity and Inclusion

Students complete 3 s.h. They must complete 3 s.h. of coursework from the GE CLAS Core Diversity and Inclusion area.

Approved Course Subjects

Students 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.

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 coursework and do thesis-level research while they are still undergraduates. They may count 9 s.h. of graduate coursework 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, M.C.S. in the Catalog.

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.

Engineering Career Services develops and promotes experiential education and professional opportunities for students. Professional staff coordinate the college's co-op and internship program, engage in employer outreach, and provide opportunities for students to network with employers, including an engineering career fair and other career-development programming each semester. 

Engineering Career Services also offers individual advising and class presentations on résumé and cover letter preparation, job and internship search strategies, interviewing skills, and job offer evaluation.