Your browser is unsupported

We recommend using the latest version of IE11, Edge, Chrome, Firefox or Safari.

Computer Science Major

Two students work on a laptop amid a field of large black panel monitors in the computer science lab

Studying computer science will help you understand how the computing technology around us works. When you finish this UIC major, you will be able to create software and systems that enhance our daily interactions, determine how (and how quickly!) we get things done, connect us with other people, improve our quality of life, and much more.

Do you like taking on a good challenge — especially one that you can work on with a team? Perhaps you enjoy using creative approaches to dive into how things work on the inside. Maybe you like making something that serves a useful purpose, testing and refining it until it finally works.

If so, computer science could be a great major for you.

Get started here Heading link

Are you just starting your inquiry into the CS major at UIC? This one-page PDF offers an overview of the program.

View the PDF

What do computer scientists do? Heading link

Computer science is a broad umbrella that covers many fast-growing career paths. These are examples of careers that you can pursue with a CS degree, and their average annual pay:

A panel of six sample computer science jobs and their salaries, ranging from $99,000 for a systems analyst to $131,000 for a computer science researcher

Source: U.S. Bureau of Labor Statistics

Did you know: Heading link

  • 2x The average salary for computer science jobs is more than twice the national average for all occupations.

  • +15% Computer science jobs are expected to grow 15 percent in the next decade, far outpacing most fields.

The CS major, start to finish Heading link

Students listen to an introductory computer science lesson in one of UIC's sunlit lecture halls

You can break down the CS major into four principal parts:

Computer science requirements (39 credits) and electives (18 credits): These courses form your core curriculum in computer science and then allow you to add a layer of specialization or explore your interests.

Math courses (9 credits): Math is the foundation of computer science. These courses will give you all the building blocks you need to understand advanced computing concepts.

Science electives (10 credits): In biology, chemistry, physics, or environmental science courses (your choice!) you will practice the scientific methods of hypothesizing, testing, adjusting, and retesting that will inform your work on computer science projects.

General education courses (27 credits): These courses help make you a well-rounded person, a critical thinker, and a general asset to the companies that will eventually hire you. They might include classes in history, sociology, language, or the creative arts.

One of our faculty members, Shanon Reckinger, drew this flow chart to visually represent how the CS requirements and electives are structured:

A colorful illustration of the computer science courses that are all listed in text form at catalog.uic.edu

Artwork by Clinical Associate Professor Shanon Reckinger

Computer science concentrations Heading link

If you would like to put a specific spin on your computer science major, the CS department offers three concentrations for you to choose from. Each one requires you to complete a specific collection of courses, so if you pick one, it may affect your selection of CS electives. (Your advisors and professors can help you navigate these choices if you decide you would like to complete a concentration). The options are:

Course highlights Heading link

two Black female students work on their laptops during a lecture section of Dale Reed's intro to computer science class, CS 111

The UIC computer science major gives you room to customize your academic experience to the areas of CS that interest you most. Here are three classes in particular that CS majors have come to know and love:

CS 361 Systems Programming

Writing code that squeezes every last bit of performance out of a computer and its hardware requires knowing how that code can use the parts of the computer, such as the processor, files, network, and memory. Systems Programming teaches students about how these underlying parts of the operating system work, so that they can write code that takes full advantage of the machines that it runs on.

CS 377 Communication and Ethical Issues in Computing

This discussion-based course offers students the opportunity to consider the various ways in which computing technologies shape the world. It balances the exploration of particular issues in computer science ethics — such as privacy, the social and psychological consequences of automation, and the changing conditions of free speech in the internet age — and critical frameworks that can help us describe and analyze those problems more clearly. The course challenges students to reflect on how their own technical and professional choices will resonate outward and affect others.

CS 401 Computer Algorithms

This course allows you to develop programs to efficiently solve problems that you encounter in practice. Suppose you want to write a program to find a path from the entrance of a huge maze to the exit. A slow program may take years to find a solution, but a fast one can do the same work in seconds. CS 401 introduces the principles and methods to develop programs that work as fast as possible.

View all computer science courses here

The CS major in depth Heading link

Ready to explore the computer science major in detail? Use these links to access everything you need to know about pursuing your CS degree at UIC.

Program educational objectives: CS major Heading link

The computer science program at UIC is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.

As part of our accreditation process, ABET asks our department to capture the overall goals of the computer science program. These are called our educational program objectives. They are:

  • Depth: Through professional practice or advanced study in computer science, graduates will apply the foundational concepts of the discipline including design, implementation, and analysis of computing systems.
  • Breadth: Graduates will demonstrate an awareness of broad societal and ethical issues in computing as they engage in productive public or private sector careers or graduate study.
  • Professionalism: As participants in complex modern work environment, graduates will demonstrate clear communication skills, engage in responsible teamwork practices, and exhibit ethical and professional attitudes.
  • Learning: Graduates will pursue lifelong learning that builds on the foundational knowledge and skills of computer science acquired in their undergraduate program in pursuit of their goals.

Student outcomes: CS major Heading link

Another part of the ABET accreditation process requires the department to identify the specific knowledge and skills that students are intended to have when they complete their undergraduate education. These are called student outcomes.

Students graduating from the UIC computer science program will have the ability to:

  1. Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

In the 2021-2022 academic year, 1,713 students are enrolled at UIC Engineering as computer science majors across all class years. The department graduated 352 computer science majors in the academic year ending August 2021. View historical enrollment and graduation data here.

Apply to UIC! Click here