Computer Science

Computer Science

The undergraduate program in computer science provides the knowledge required for long-term success in a rapidly changing field. Computer science emphasizes not only current techniques, tools, and programming languages but also emerging conceptual frameworks that provide a view of the future.

Undergraduates majoring in computer science develop competence in programming principles and methodologies, problem-solving techniques, mathematics, and computer systems. Computer science training is critical for many careers in science, engineering, business, and health care.

Students may declare a major in computer science when they are admitted to the University or afterward. Students may pursue either a Bachelor of Arts (BA) or a Bachelor of Science (BS). All students begin the major as Bachelor of Arts students but may switch to the Bachelor of Science programs at any time. Both degrees require a mixture of skills in mathematics, programming languages, and theory. Students who are enrolled in the BA program but who might switch to the BS program should choose their General Education natural science courses carefully; courses may satisfy both the departmental natural science requirement and the General Education Program natural science requirement.

The BA program offers a solid computer science foundation plus substantial freedom to combine computer science with a second major (or a minor) or to explore other interests. The BS program provides more extensive education in computer science with a greater emphasis on natural sciences, mathematics, and foundations of computer science. Both degrees also require Calculus I and II. The BA requires one additional mathematics course, while the BS requires two. The BS also requires several additional computer science elective courses.

All students are advised at the Academic Advising Center until they have completed CS:2210 Discrete Structures. Computer science students being advised at the advising center also may consult with computer science faculty members.

Transfer students who have taken a course approved as equivalent to a required computer science course are exempt from that course. Transfer course grades are included in the computer science grade-point average.

All students must meet the requirements set by The University of Iowa and the College of Liberal Arts and Sciences. This includes

Work for the major may not be taken pass/nonpass.

In addition, all students must maintain a GPA of at least 2.00 in:

  • all college work attempted,
  • all work undertaken at the University of Iowa,
  • all University of Iowa major work, and
  • all work attempted in the major field.


Engineering, Computer Science Pay More than Liberal Arts — from The Wall Street Journal (October 25, 2010)
What's the Difference Between CS and Informatics? — from Communications of the ACM (February 2010)