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. 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 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.
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 coursework.
Core Computing Courses
Code | Title | Hours |
---|---|---|
All of these: | ||
CS:1210 | Computer Science I: Fundamentals | 4 |
ENGR:1300 | Introduction to Engineering Computing | 3 |
ENGR:2730 | Computers in Engineering | 3 |
Core Engineering Courses
Code | Title | Hours |
---|---|---|
All of these: | ||
ENGR:1000 | Engineering Success for First-Year Students | 1 |
ENGR:2110 | Engineering Fundamentals I: Statics | 2 |
ENGR:2120 | Engineering Fundamentals II: Electrical Circuits | 3 |
ENGR:2130 | Engineering Fundamentals III: Thermodynamics | 3 |
Math, Science, and Communication Courses
Code | Title | Hours |
---|---|---|
All of these: | ||
CHEM:1110 | Principles of Chemistry I | 4 |
PHYS:1611 | Introductory Physics I | 4 |
PHYS:1612 | Introductory Physics II | 4 |
MATH:1550 | Engineering Mathematics I: Single Variable Calculus | 4 |
MATH:1560 | Engineering Mathematics II: Multivariable Calculus | 4 |
MATH:2550 | Engineering Mathematics III: Matrix Algebra | 2 |
MATH:2560 | Engineering Mathematics IV: Differential Equations | 3 |
RHET:1030 | Rhetoric | 4 |
STAT:2020 | Probability and Statistics for the Engineering and Physical Sciences | 3 |
Required Program Courses
Code | Title | Hours |
---|---|---|
All of these: | ||
ECE:2400 | Linear Systems I | 3 |
ECE:2410 | Principles of Electronic Instrumentation | 4 |
ECE:3000 | Electrical and Computer Engineering Professional Seminar | 1 |
ECE:3320 | Introduction to Digital Design | 3 |
ECE:3330 | Introduction to Software Design | 3 |
ECE:3350 | Computer Architecture and Organization | 3 |
ECE:3360 | Embedded Systems | 3 |
ECE:3540 | Communication Networks | 3 |
CS:2210 | Discrete Structures | 3 |
CS:2230 | Computer Science II: Data Structures | 4 |
CS:3330 | Algorithms | 3 |
CS:3620 | Operating Systems | 3 |
CS:3820 | Programming Language Concepts | 3 |
Theory Elective
Code | Title | Hours |
---|---|---|
One of these: | ||
ECE:5330 | Graph Algorithms and Combinatorial Optimization | 3 |
ECE:5450 | Machine Learning | 3 |
ECE:5520 | Introduction to Information and Coding Theories | 3 |
ECE:5810 | Formal Methods in Software Engineering | 3 |
ECE:5995 | Contemporary Topics in Electrical and Computer Engineering (when topic is cryptography) | 3 |
CS:4330 | Theory of Computation | 3 |
CS:4350 | Logic in Computer Science | 3 |
CS:4720 | Optimization Techniques | 3 |
CS:5340 | Limits of Computation | 3 |
CS:5360 | Randomized Algorithms | 3 |
CS:5370 | Computational Geometry | 3 |
CS:5430 | Machine Learning | 3 |
CS:5620 | Distributed Systems and Algorithms | 3 |
CS:5850 | Programming Language Foundations | 3 |
CS:5860 | Lambda Calculus and Applications | 3 |
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 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: 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 coursework 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.
Code | Title | Hours |
---|---|---|
Both of these: | ||
ECE:4880 | Principles of Electrical and Computer Engineering Design | 3 |
ECE:4890 | Senior Electrical and Computer Engineering Design | 3 |
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 five additional 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 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.
Code | Title | Hours |
---|---|---|
ECE:3330 | Introduction to Software Design (required for CSE, EE elective focus area) | 3 |
ECE:3350 | Computer Architecture and Organization (required for CSE, EE elective focus area) | 3 |
ECE:3400 | Linear Systems II (required for EE, CSE elective focus area elective) | 3 |
ECE:3410 | Electronic Circuits (required for EE, CSE elective focus area) | 4 |
ECE:3500 | Communication Systems (required for EE) | 3 |
ECE:3540 | Communication Networks (required for CSE, EE breadth elective) | 3 |
ECE:3600 | Control Systems (required for EE) | 3 |
ECE:3700 | Electromagnetic Theory (required for EE) | 3 |
ECE:3720 | Semiconductor Devices (required for EE) | 3 |
EE depth elective (required for EE, CS theory elective if 5000-level EE course selected from CS theory list) | 3 | |
CS:1210 | Computer Science I: Fundamentals (required for CSE, EE substitute for ENGR:1100) | 4 |
CS:2210 | Discrete Structures (required for CSE, EE elective focus area) | 3 |
CS:2230 | Computer Science II: Data Structures (required for CSE) | 4 |
CS:3330 | Algorithms (required for CSE) | 3 |
CS:3620 | Operating Systems (required for CSE) | 3 |
CS:3820 | Programming Language Concepts (required for CSE) | 3 |
CS theory elective (required for CSE, EE depth elective if satisfied with 5000-level EE course from CS theory list) | 3 | |
CS elective (required for CSE) | 3 | |
MATH:3550 | Engineering 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 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.
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.
First Year | ||
---|---|---|
Fall | Hours | |
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 |
Hours | 16 | |
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 | |
Hours | 17 | |
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 |
Hours | 15 | |
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 | |
Hours | 16 | |
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 | Electrical and Computer Engineering Professional Seminar | 1 |
Hours | 17 | |
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 |
Hours | 18 | |
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 |
Hours | 15 | |
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 | |
Degree Application: apply on MyUI before deadline (typically in February for spring, September for fall) f | ||
Hours | 15 | |
Total Hours | 129 |
a | Enrollment in math courses requires completion of a placement exam. |
b | Enrollment in chemistry courses requires completion of a placement exam. |
c | Courses with prerequisites; students should complete a prerequisite waiver form. |
d | Students may select a course from all GE CLAS Core categories except Rhetoric, Quantitative or Formal Reasoning, and Natural Sciences. |
e | A full list of approved course subjects can be found on the College of Engineering General Education Component website. |
f | Please see Academic Calendar, Office of the Registrar website for current degree application deadlines. Students should apply for a degree for the session in which all requirements will be met. For any questions on appropriate timing, contact your academic advisor. For more information visit http://commencement.uiowa.edu/ |