The Bachelor of Arts with a major in computer science requires a minimum of 120 s.h., including at least 41 s.h. of work (computer science core and mathematics courses) for the major. You may use up to 15 hours of Pass/Non-pass credit for your total of 120 semester hours, as long as they are not courses for your major, or courses in the General Education Program (including four years of the same language in high school).
The computer science major for the Bachelor of Arts is designed for students who would like to gain considerable knowledge in computer science and have flexibility in choosing electives. Students preparing for careers in the computing field are encouraged to supplement the base requirements with additional computer science courses. The program's flexibility makes it suitable for combination with other majors.
Students who earn a B.A. in computer science must complete at least five courses (minimum of 15 s.h.) at the University of Iowa from the following: CS:2630 Computer Organization or ECE:3350 Computer Architecture and Organization, CS:2820 Object-Oriented Software Development, CS:3330 Algorithms, or any other computer science course numbered CS:3620-CS:5890, but excluding CS:3910 and CS:3980.
The Bachelor of Science with a major in computer science requires a minimum of 120 s.h., including at least 63 s.h. of work for the major. The BS program is more rigorous than the BA and is designed to provide in-depth training for students who would like to acquire strength in math and science in order to enhance their skills and job prospects. It also is appropriate for those who plan to pursue graduate work in computer science, although it is not required for graduate study at most universities.
BS students complete all requirements for the BA major in computer science. They also complete an additional mathematics course, a course on computation theory, an additional computer science elective, two technical electives, and the natural science requirement.
Students who earn a B.S. in computer science must complete at least seven courses (minimum of 21 s.h.) at the University of Iowa from the following: CS:2630 Computer Organization or ECE:3350 Computer Architecture and Organization, CS:2820 Object-Oriented Software Development, CS:3330 Algorithms, or any other computer science course numbered CS:3620-CS:5890, but excluding CS:3910 and CS:3980.
Note: students majoring in Computer Science may not earn a second major in either Informatics or Computer Science and Engineering nor minor in either of these disciplines, but may obtain the Large Data Analysis Certificate.
Note: Work for the majors may not be taken Pass/Non-Pass.
Computer Science Core
All of these:
Course Number & Name | Semester Hours |
---|---|
CS:1210 Computer Science I: Fundamentals | 4 s.h. |
CS:2210 Discrete Structures | 3 s.h. |
CS:2230 Computer Science II: Data Structures | 4 s.h. |
CS:2820 Object-Oriented Software Development | 4 s.h. |
CS:3330 Algorithms | 3 s.h. |
CS:3820 Programming Language Concepts | 3 s.h. |
One of these:
Course Number & Name | Semester Hours |
---|---|
CS:2630 Computer Organization | 3 s.h. |
ECE:3350 Computer Architecture and Organization | 3 s.h. |
One of these:
Course Number & Name | Semester Hours |
---|---|
CS:3620 Operating Systems | 3 s.h. |
CS:3640 Introduction to Networks and Their Applications | 3 s.h. |
CS:4640 Computer Security | 3 s.h. |
One of Calculus I and Calculus II:
Course Number & Name | Semester Hours |
---|---|
MATH:1550 or MATH:1850; versions of Calculus I | 4 s.h. |
MATH:1560 or MATH:1860; versions of Calculus II | 4 s.h. |
One of these:
Course Number & Name | Semester Hours |
---|---|
MATH:2700 Introduction to Linear Algebra | 4 s.h. |
STAT:2020 Probability and Statistics for the Engineering and Physical Sciences | 3 s.h. |
STAT:3120 Probability and Statistics | 4 s.h. |
Note: MATH:2550 Engineering Mathematics III: Matrix Algebra and MATH:2560 Engineering Mathematics IV: Differential Equation together can be used to satisfy the linear algebra requirement.
Bachelor of Arts students must earn at least 3 s.h. in advanced computer science electives chosen from these:
Course Number & Name | Semester Hours |
---|---|
A computer science course (prefix CS) numbered 3620-5890, except CS:3910 and CS:3980 | 3 s.h. |
A computer science course (prefix CS) numbered 5900 or above, with department approval |
Students may count a maximum of 3 s.h. earned in CS:3990 Honors in Computer Science or Informatics toward the advanced CS elective requirement.
Linear Algebra
This course:
Course Number & Name | Semester Hours |
---|---|
MATH:2700 Introduction to Linear Algebra | 4 s.h. |
Note: MATH:2550 Engineering Mathematics III: Matrix Algebra and MATH:2560 Engineering Mathematics IV: Differential Equation together can be used to satisfy the linear algebra requirement.
Probability and Statistics
One of these:
Course Number & Name | Semester Hours |
---|---|
STAT:2020 Probability and Statistics for the Engineering and Physical Sciences | 3 s.h. |
STAT:3120 Probability and Statistics | 4 s.h. |
Other probability and statistics courses (prefix STAT) with a calculus prerequisite approved by the department.
Students must complete one of the following.
Course Number & Name | Semester Hours |
---|---|
CS:4330 Theory of Computation | 3 s.h. |
CS:4350 Logic in Computer Science | 3 s.h. |
Bachelor of Science students must earn at least 12 s.h. (four courses) in advanced technical electives, as follows.
At least 6 s.h. from these:
Course Number & Name |
---|
A computer science course (prefix CS) numbered 3620-5890, except CS:3910 and CS:3980 |
A computer science course (prefix CS) numbered 5900 or above, with department approval |
And:
Course Number & Name |
---|
Advanced technical electives in computer science (prefix CS), or in other disciplines with department approval, to complete the required 12 s.h. |
Students may count a maximum of 3 s.h. earned in CS:3990 Honors in Computer Science or Informatics toward the advanced technical elective requirement.
Pre-approved technical electives are as follows:
Course Number & Name | Semester Hours |
---|---|
BIOL:2512 Fundamental Genetics | 4 s.h. |
BIOL:3172 Evolution | 4 s.h. |
Course Number & Name | Semester Hours |
---|---|
CHEM:2210 Organic Chemistry I | 3 s.h. |
CHEM:2220 Organic Chemistry II | 3 s.h. |
CHEM:2230 Organic Chemistry I for Majors | 3 s.h. |
CHEM:2240 Organic Chemistry II for Majors | 3 s.h. |
CHEM:2410 Organic Chemistry Lab | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
ECE:3600 Control Systems | 3 s.h. |
ECE:5450 Pattern Recognition | 3 s.h. |
ECE:5480 Digital Image Processing | 3 s.h. |
ECE:5600 Control Theory | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
GEOG:3520 GIS for Environmental Studies | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
EES:2410 Mineralogy | 4 s.h. |
EES:3020 Earth Surface Processes | 3 s.h. |
EES:3140 Energy and the Environment | 3 s.h. |
EES:3210 Principles of Paleontology | 3 s.h. |
EES:3300 Sedimentary Geology | 3 s.h. |
EES:3360 Soil Genesis and Geomorphology | 3 s.h. |
EES:3380 Fluvial Geomorphology | 3 s.h. |
EES:3390 Integrated Watershed Analysis | 3 s.h. |
EES:3500 Igneous and Metamorhic Petrology (previously 012:052) | 4 s.h. |
EES:3840 Structural Geology (previously 012:092) | 4 s.h. |
EES:4800 Survey of Geophysical Methods | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
ECON:4700 Topics in Analytical Econ: Game Theory | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
MATH:2560 Engineering Mathematics IV: Differential Equations | 3 s.h. |
MATH:2850 Calculus III | 4 s.h. |
MATH:3550 Eng Math V: Vector Calculus | 3 s.h. |
MATH:3600 Introduction to Ordinary Differential Equations | 3 s.h. |
MATH:3720 Introduction to Abstract Algebra I | 3 s.h. |
MATH:3770 Fundamental Properties of Spaces and Functions I | 3 s.h. |
MATH:4040 Matrix Theory | 3 s.h. |
MATH:4050 Introduction to Discrete Mathematics | 3 s.h. |
MATH:4060 Discrete Mathematical Models | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
PHIL:5691 Mathematical Logic | 3 s.h. |
PHIL:5692 Modal Logic | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
PHYS:2703 Physics III | 4 s.h. |
PHYS:2704 Physics IV | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
LING:3117 Psychology of Language | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
ACTS:3080 Mathematics of Finance I | 4 s.h. |
STAT:4100 Mathematical Statistics I | 3 s.h. |
STAT:4101 Mathematical Statistics II | 3 s.h. |
Note: The above list is only a fraction of the courses that may satisfy the technical elective requirement. Students who wish to have a course in another department reviewed for approval as a technical elective should contact Catherine Till.
Bachelor of Science students take two or more courses in a sequence (totaling at least 6 s.h.) in a cognate area of natural science. The natural science sequence is intended to enhance the student's perspective by providing a deeper understanding of the scientific method. Typically, it consists of a sequence of courses taken in the same science department. Students often choose courses that also fulfill the General Education Program Natural Sciences requirement. Some possible choices are listed below; the department chair may approve others.
CLEP/APP credit may be used to satisfy part or all of the natural science requirement only if the appropriate science department at The University of Iowa accepts the credit as equivalent to one or more of the specific courses listed below.
Course Number & Name | Semester Hours |
---|---|
ASTR:1771 General Astronomy I | 4 s.h. |
ASTR:1772 General Astronomy II | 4 s.h. |
Course Number & Name | Semester Hours |
---|---|
BIOL:1411 Foundations of Biology | 4 s.h. |
BIOL:1412 Diversity of Form and Function | 4 s.h. |
Course Number & Name | Semester Hours |
---|---|
CHEM:1110 Principles of Chemistry I | 4 s.h. |
CHEM:1120 Principles of Chemistry II | 4 s.h. |
Course Number & Name | Semester Hours |
---|---|
EES:1030 Introduction to Earth Science or
EES:1050 Introduction to Geology |
3-4 s.h. |
EES:1080 Introduction to Environmental Science | 3-4 s.h. |
Course Number & Name | Semester Hours |
---|---|
GEOG:1020 The Global Environment | 3 s.h. |
GEOG:1050 Foundations of GIS | 3 s.h. |
Course Number & Name | Semester Hours |
---|---|
PHYS:1611 - PHYS:1612 Introductory Physics I-II | 8 s.h. |
PHYS:1701 - PHYS:1702 Physics I-II | 8 s.h. |
For BA students |
For BS students |
---|---|
Note: A solid arrow indicates a clear prerequisite course that must be taken before the next course; a dotted arrow indicates a course that must be taken before or with the other course.