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.


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 2016-2017 SoIC 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.


  • 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.
Intelligent Systems
  • Intelligent systems allows students to push the cutting edge while utilizing artificial intelligence 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. Intelligent systems is for those who love staying ahead of the trends.
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.
  • 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 and Computing 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.