There are very few areas in modern society that are untouched by computer science. It is present in communications, transportation, education, defense, entertainment, healthcare, and scores of other fields. It is in our homes, our schools, our workplaces, and probably also our pockets (if our phones are in there).
To keep pace with this extraordinary reach, today’s computer scientists must have a broad mastery of the field as well as the communication skills to develop connections with the people whom computing affects. UIC’s computer science major prepares you for all of this through a well-rounded degree that requires significant coursework inside and outside the computer science department, placing a strong emphasis on written and verbal communication.
The computer science major is outlined in detail in the course catalog; the information below provides an overview.
Computer Science Major Requirements
Computer science majors complete coursework in five major categories:
General education courses
General education courses are designed to make you a well-rounded, well-informed graduate across disciplines outside of computer science. These requirements total 27 credit hours, including two English classes, courses in broad categories such as Understanding the Creative Arts and Understanding U.S. Society, and electives in humanities, social science, and the arts. Specific requirements and course options are in the course catalog.
Because math is so critical to the work of computer scientists, computer science majors take 9 credit hours of additional math courses. Details on course options are in the in the course catalog.
Students choose 10 credit hours of courses that can include biology, chemistry, physics, and earth and environmental sciences. For more information, see the Science Electives section of the course catalog.
Required computer science courses
There are 39 credit hours that make up the computer science core curriculum. To give a few examples, the core includes Program Design I and II, Mathematical Foundations of Computing, Software Design, Data Structures, Systems Programming, and Communication and Ethical Issues in Computing. Learn about them all in the course catalog.
Computer science electives
In choosing your 18 credit hours of electives, you can add a layer of specialization to your computer science major or explore your interests. The options are far too numerous to list here—Computer Graphics, Programming Language Design, Video Game Design and Development, Codes and Cryptography, Building Secure Computer Systems, and more—but you can see the full list in the course catalog.
The College of Engineering emphasizes practically implementing what we learn theoretically to prepare us for any challenge we face when we start our careers. It has an amazing faculty, value for the money, and a fun learning environment.BS in Computer Science|
Computer Science Concentrations
Concentrations allow you to define an area of focus for your major. The department offers three concentrations, each of which requires that you complete a specific collection of courses. These concentrations may affect the choices you make in the categories above. (Your advisors and professors will help you navigate this during your time at UIC.) The concentrations are:
The computer systems concentration focuses on understanding and designing computer hardware. Students in this concentration continue to learn the fundamentals of computer science—programming, data structures, discrete math, algorithms, formal languages, architecture and operating systems—but they also delve into low-level circuit analysis and high-level system design and have the option to take additional hardware-oriented courses. The result is a unique blend of computer science and computer engineering.
The software engineering concentration emphasizes the knowledge and skills needed to begin a professional practice in software engineering. In addition to the fundamental areas of computer science, including programming, data structures, discrete mathematics, algorithms, formal languages, computer architecture, and operating systems, students study key topics such as software cost estimation, large-scale software development, and risk management.
The human-centered computing concentration prepares students to pursue areas such as user-interface design and development and computer graphics and animation. Applications of these skills might include video games, movie special effects, and visualization in science, engineering, and medicine. In addition to the fundamental areas of computer science—programming, data structures, discrete mathematics, algorithms, formal languages, computer architecture, and operating systems—the concentration educates students in user-interface design, computer graphics, visual media, and natural language processing.
Learn More About the Computer Science Major
To explore the CS major in greater detail, here are some key resources: