Computer science major
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.
What do computer scientists do?
Computer science is a broad umbrella that covers many fast-growing career paths. These are examples of careers that you can pursue with a computer science degree (and their average annual pay, as recorded by the U.S. Bureau of Labor Statistics):
Did you know:
Breaking it down
You can think of the CS major as having several principal parts:
- Computer science requirements and electives: These courses form your core curriculum in computer science and then allow you to add a layer of specialization or explore your interests. These courses are what you see in Dr. Reckinger’s illustration above.
- Math courses: 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: 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: 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.
The UIC computer science major gives you room to customize your academic experience to the areas of CS that interest you most. Descriptions of all CS courses are on this page, but 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.
The CS major in depth
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.
- Degree requirements in full: Find these on the UIC course catalog page for computer science
- Computer science courses: Read descriptions of all the undergraduate courses in the computer science department
- Student organizations: UIC has four student organizations that can advance your study of CS and help support you as you complete the major
Declaring a CS major
Learned everything you need to know about the computer science major and are ready to add it to your UIC program?
If you are applying for admission to UIC …
Visit the UIC undergraduate admissions website to start or continue your application.
If you are already a UIC student …
Visit this page and start from step 2.
Not sure yet? Test the waters by enrolling in CS 111, a no-experience-required course that introduces UIC students to computer science from the very beginning.