Develop competence in programming principles and methodologies, problem-solving techniques, mathematics, and computer systems

The Computer Science Department offers two majors; Computer Science and Informatics. Each provides students with an understanding of the fundamental ideas in computing—computation and algorithms, software and hardware systems, and networking—but the informatics major has a stronger focus on computing applications.

Computer science is a popular major for first-year students at Iowa. It develops competence in programming principles and methodologies, problem-solving techniques, mathematics, and computer systems. Informatics combines competence in computational methods with expertise in a particular domain, such as geography or public health, which supports informed decision making.

Both majors provide outstanding preparation for the enormous variety of twenty-first-century careers in which computing knowledge plays a key role, and both programs have a strong commitment to fostering undergraduate research.

556

Undergraduate Computer Science Majors

137

Undergraduate Informatics Majors

1030

students taught in introductory courses per year (2015-2020)

Bachelor of Arts in Computer Science

The Bachelor of Arts in Computer Science 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.

Learning Outcomes

  • understand the mathematical, logical, and theoretical foundations of computing;
  • analyze and compare the relative merits of alternative software designs and develop high-quality software systems;
  • understand the fundamental principles of computer organization, system software, networks, and security; and
  • understand social, professional, and ethical issues related to computing.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

Bachelor of Arts in Informatics

The Bachelor of Arts in Informatics combines foundational informatics coursework with coursework in a cognate area. The major offers the cognate areas of bioinformatics, medical informatics, and individualized cognates. Required credit for the major depends on a student's choice of cognate area.

Learning Outcomes

  • gain a basic grounding in computer science;
  • gain a thorough understanding of information processing tools and constructs;
  • gain a user-centric perspective on computing tools;
  • gain a thorough understanding of chosen cognate area; and
  • apply computing tools to problem solving.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

Bachelor of Science in Computer Science

The Bachelor of Science in Computer Science 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.

Learning Outcomes

  • understand the mathematical, logical, and theoretical foundations of computing;
  • analyze and compare the relative merits of alternative software designs and develop high-quality software systems;
  • understand the fundamental principles of computer organization, system software, networks, and security;
  • apply computer science principles to a variety of problems, such as databases, data mining, and various fields of artificial intelligence (AI); and
  • understand social, professional, and ethical issues related to computing.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

Bachelor of Science in Informatics

The Bachelor of Science in Informatics provides students with the necessary training for employment in careers such as software development and information management. It provides good preparation for graduate study in a variety of disciplines. The informatics major combines fundamental and practical computing knowledge with a choice of cognate areas from the liberal arts and sciences.

Learning Outcomes

  • gain a basic grounding in computer science;
  • gain a thorough understanding of information processing tools and constructs;
  • gain a user-centric perspective on computing tools;
  • gain a thorough understanding of chosen cognate area; and
  • apply computing tools to problem solving.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

Bachelor of Science in Data Science*

The Bachelor of Science in data science produces graduates with the sophisticated analytical and computational skills required to thrive in a quantitative world where new problems are encountered at an ever-increasing rate. The major emphasizes the statistical/probabilistic and algorithmic methods that underlie the preparation, analysis, and communication of complex data.

Learning Outcomes

  • understand issues associated with data collection, management, provenance, storage, merging, sharing, and preparation;
  • use critical thinking skills to translate substantive questions into well-defined computational problems and choose appropriate computational techniques for a given problem;
  • understand that uncertainty, variability, and randomness play significant roles in data-driven decision making;
  • write accurate and meaningful reports that describe the statistical and computational analyses and summarize important findings; and 
  • work effectively as part of a team to address substantive questions that can be handled using statistical and computational methods.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

BSE in Computer Science and Engineering*

The Bachelor of Science in Engineering 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. 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.

Learning Outcomes

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

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here. The program curriculum is jointly taught by faculty from the Department of Electrical and Computer Engineering (College of Engineering) and the Department of Computer Science (College of Liberal Arts and Sciences).

Minor in Computer Science

The minor in Computer Science provides students with introductory knowledge in computer science. Students preparing for careers in the computing field are encouraged to supplement the base requirements with additional computer science courses.

Learning Outcomes

  • understand the mathematical, logical, and theoretical foundations of computing;
  • demonstrate computing skills and problem-solving abilities that permit them to contribute in a variety of technical, business, and academic careers; and
  • understand social, professional, and ethical issues related to computing.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

Minor in Informatics

The minor in Informatics provides students with introductory knowledge in computer science and informatics. Students preparing for careers in the informatics field are encouraged to supplement the base requirements with additional computer science and informatics courses.

Learning Outcomes

  • apply computational thinking approaches to solve problems;
  • extract, organize, analyze, and present data from a variety of sources;
  • contribute to the development of usable, useful, and enjoyable software applications by using human-centered methods; and
  • understand social, professional, and ethical issues related to computing.

Want to get started?

Learn more about the program, including courses, curriculum, and requirements here.

Certificate in Public Digital Arts*

The undergraduate certificate in Public Digital Arts provides students with the skills they need to apply cutting edge technologies and multiple media platforms to new forms of artistic expression. Artists, engineers, computer scientists and students from many fields collaborate on projects they design together.

Experts in Public Digital Arts for Faculty

Program faculty are experts in Public Digital Arts and come from Art and Art History, Cinema, Computer Science, Dance, Theatre, Engineering, Music, and other departments.

Want to get started?

The Certificate Program is open to any student, either non-traditional or undergraduate, with a minimum 2.0 g.p.a. who is not enrolled in the Graduate College at the University of Iowa. Graduate students are welcome to take courses, but currently the Certificate is only offered at the undergraduate level. Graduate students have the option to enroll in the Certificate program after completing the graduate degree.