Bachelor of Science in Computer Science

Behind every awesome website, must-have mobile app, or mission-critical data management system is a computer scientist—or a team of computer scientists—that made it happen. Computer scientists, software engineers, programmers, and other computing professionals are experts on how technology works and how computing can address even the most complicated and intricate problems.

In the Bachelor of Science in Computer Science program, you’ll get in-depth, hands-on experience in the theory and application of computing, as well as practical experience—more than half our students complete internships.

Here are some other options to consider:

  • The Accelerated Master’s Program in Computer Science is an accelerated five-year program that combines the B.S. in Computer Science and M.S. in Computer Science curricula.
  • If you’re in another discipline altogether, pick up some basic computing and programming skills with our minor.

Quick Links


The Bachelor of Science in Computer Science program includes a minimum of 120 credit hours of course work, including (12 hours must be completed on the Bloomington campus):

Further information, including core course requirements and course listings may be found in the 2018-2019 SICE Bulletin.

One course is typically 3-4 credit hours. The degree requires a minimum of 45 hours of computer science course work; at least 26 credit hours in computer science must be above the 200 level.


Artificial Intelligence
  • Artificial intelligence allows students to push the cutting edge while utilizing intelligent systems and databases to study reasoning. Learn how to collect and analyze big data, make inferences about the real world, and build hard devices, including robots. Related areas include artificial intelligence, machine learning, and data mining—skills that are in-demand in nearly all industries. Artificial intelligence is for those who love staying ahead of the trends.
Data Science
  • Data science focuses on the algorithms, programming, and systems expertise needed to acquire, model, store, search, analyze, mine, and learn to extract knowledge from data. The data can range in size from small to very large. It can come in various forms or types, from structured to unstructured, and be of different quality, whether it be accurate, incomplete, or uncertain. The data science specialization is designed for graduating computer science students who wish to pursue a career in data science or as a data engineer in industry, government, and academic institutions.
  •  Foundations focuses on the fundamentals of computing theory and structure, including algorithm design and analysis, language theory, various computational models, program verification, database concepts, and more. Consider this specialization if you excel at math, are motivated by the pursuit of finding patterns and analyzing things.
Programming Languages
  • Learn both the practical side and philosophical aspects of programming. Students learn multiple language structures and concepts, how languages interact, and how they are used to manage data structures. Building and understanding tools that are used for software is a focus, as are languages, computer programs—such as compilers—and operating systems. If you love to build and understand how things work, programming languages could be the specialization for you.
  • The security specialization provides students with a solid foundation in systems and the networking that underpins all modern systems—including the theory, practice, and tools behind securing these systems—and the software systems built upon them.
Software Engineering
  • The software engineering specialization is designed to prepare students to become software engineers who understand and can use the principles and techniques of software engineering essential for the design and development of software products. Students will learn to effectively use a variety of tools for software design, development, testing, debugging, management, and maintenance, and effectively work in teams.
  • Systems focuses on understanding machine structure, the internal operation and hardware organization of computers, linking computers into networks, and working in areas such as operating systems and input/output devices. Systems might be the best fit for you if you enjoy working with your hands and building things.

For specific requirements, see the School of Informatics, Computing, and Engineering undergraduate academic bulletin (listed below). Students should pursue the academic requirements of the year that they entered IU Bloomington. The academic requirements outlined in the academic bulletin in effect at the time of your matriculation will remain the same throughout your degree program, assuming you graduate within eight years. Check the list of academic bulletins below to find the version you should use.

Honors Option

Want more of a challenge? Go for the B.S. in Computer Science with honors. You’ll take at least 11 credit hours of honors courses, complete an additional advanced course in computer science, and have the opportunity to do independent study and research. Students must have a Major and Program GPA of 3.3 or higher.