Computer Science, BS

University of Illinois

The Computer Science curriculum provides both a broad and deep knowledge of the theory, design, and application of computer systems, with an emphasis on software systems. Because computing is ubiquitous, application areas involve virtually any field imaginable - from developing gene sequencing algorithms via techniques in computational biology, to designing user interfaces for mobile applications; from designing methods for high frequency trading, to creating computer generated graphics and special effects in the gaming industry; and from creating embedded real time systems to be deployed in medical devices, to analyzing social data from internet communication patterns. During the first two years the curriculum provides a strong foundation in mathematics, science, and computation. Advanced coursework both in more technical core areas and in areas of the student's choosing follows in the second two years. Graduates regularly go on to graduate study or leading positions in industry.

Both a combined B.S.-M.S. degree program and a B.S-M.C.S. degree program are available. The admission and course requirements are described on the Siebel School for Computing and Data Science website.

for the degree of Bachelor of Science in Computer Science

Graduation Requirements

Minimum Technical GPA: 2.0

TGPA is required for CS and Math courses. See Technical GPA to clarify requirements.

Minimum Overall GPA: 2.0


Minimum hours required for graduation: 128 hours


General education: Students must complete the Campus General Education requirements including the campus general education language requirement. If the option of CS 211 is chosen, it will satisfy a core course requirement and the Campus General Education Advanced Composition requirement.


Orientation and Professional Development

Course List
Code Title Hours
ENG 100Grainger Engineering Orientation Seminar (External transfer students take ENG 300.)1
Highly recommended, optional 1 credit hour course, CS 100 Computer Science Orientation. Credit hour counts toward free electives.
CS 210Ethical & Professional Issues2 or 3
or CS 211 Ethical and Professional Conduct
Total Hours3-4

Foundational Mathematics and Science

Course List
Code Title Hours
Total Hours chosen from the following: 25
MATH 221Calculus I (MATH 220 may be substituted. MATH 220 is appropriate for students with no background in calculus. 4 of 5 credit hours count towards degree.)4
MATH 231Calculus II3
MATH 241Calculus III4
MATH 257Linear Algebra with Computational Applications3
or MATH 415 Applied Linear Algebra
or MATH 416 Abstract Linear Algebra
PHYS 211University Physics: Mechanics4
PHYS 212University Physics: Elec & Mag4
One Science elective course: 3
Students must take one course from the Natural Science & Technology (NST) list, in addition to those taken as part of the General Education requirements. The course must be a course that is allowed for credit by the Grainger College of Engineering.
Exceptions to the list are: ASTR 100, PHYS 101 and PHYS 102, and CHEM 101.
Students who select either ASTR 121, ASTR 122, or ASTR 150 to satisfy the Science Elective requirement will not be allowed to take ASTR 131 and ASTR 132 as free elective (maximum of 4 credit hours of ASTR 100-level can count towards graduation requirements for all Grainger College of Engineering Undergraduates).

Computer Science Technical Core

Course List
Code Title Hours
CS 124Introduction to Computer Science I3
CS 128Introduction to Computer Science II3
CS 173Discrete Structures3
CS 222Software Design Lab1
CS 225Data Structures4
CS 233Computer Architecture4
CS 341System Programming4
CS 357Numerical Methods I3
CS 361Probability & Statistics for Computer Science3
CS 374Introduction to Algorithms & Models of Computation4
CS 421Programming Languages & Compilers3
Total Hours35

Technical Electives

Software Foundations: Algorithms and Models of Computation: Intelligence and Big Data: Human and Social Impact: Scientific, Parallel, and High Perfomance Computing: Distributed Systems, Networking, and Security:

Computer Science Advanced Electives

Course List
Code Title Hours
Students must take for a letter grade a minimum of two (2) advanced elective courses comprising at least six (6) credit hours. These advanced elective courses must be distinct from courses used to satisfy the technical electives. They may be chosen from CS 397 Individual Study and the 400-level coursework offered for letter grade in ANY area offered at the University of Illinois at Urbana-Champaign. It is expected that students will select these additional advanced courses in a way that best augments their program of study. Consultation with a faculty mentors is highly encouraged. A maximum of six (6) credit hours of CS 397 may be used in the combination of technical electives and advanced electives. 6
Total Hours6

Free Electives

Course List
Code Title Hours
Additional course work,subject to the Grainger College of Engineering restrictions to Free Electives,so that there are at least 128 credit hours earned toward the degree. 24-25
Total Hours of Curriculum to Graduate 128

for the degree of Bachelor of Science in Computer Science

Sample Sequence
This sample sequence is intended to be used only as a guide for degree completion. All students should work individually with their academic advisors to decide the actual course selection and sequence that works best for them based on their academic preparation and goals. Enrichment programming such as study abroad, minors, internships, and so on may impact the structure of this four-year plan. Course availability is not guaranteed during the semester indicated in the sample sequence. The curriculum sequence can also be viewed via dynamic and static curricular maps, which include prerequisite sequencing.

Students must fulfill their Language Other Than English requirement by successfully completing a third level of a language other than English. See the corresponding section on the Degree and General Education Requirements. If the option of CS 211 is chosen, it will satisfy a core course requirement and the Campus General Education Advanced Composition requirement.

Free Electives: Additional course work, subject to the Grainger College of Engineering restrictions to Free Electives, so that there are at least 128 credit hours earned toward the degree.

First Year
First SemesterHoursSecond SemesterHours
CS 100 (Optional course, highly recommended, free elective)1CS 1283
CS 1243CS 1733
MATH 221 (MATH 220 may be substituted)4MATH 2313
ENG 1001General Education course (Choose a Humanities or Social/Behavioral Science course with Cultural Studies designation)3
Science elective course3General Education (Choose a Humanities or Social/Behavioral Science course) or Composition I course3-4
Composition I or General Education (Choose a Humanities or Social/Behavioral Science course)4-3
16 15
Second Year
First SemesterHoursSecond SemesterHours
CS 2221CS 2334
CS 2254CS 3613
MATH 2414MATH 2573
PHYS 2114PHYS 2124
General Education course (choose a Humanities or Social/Behavioral Science course with Cultural Studies designation)3Free elective course3
16 17
Third Year
First SemesterHoursSecond SemesterHours
CS 210 (CS 211 may be substituted)2CS 3744
CS 3414CS Technical elective course3
CS 3573CS Technical elective course3
CS Technical elective course3General Education course (choose a Humanities or Social/Behavioral Science course with Cultural Studies designation)3
Language Other Than English (3rd level) course4Free elective course3
16 16
Fourth Year
First SemesterHoursSecond SemesterHours
CS 4213CS Technical elective course3
CS Advanced elective course3CS Technical elective course3
CS Advanced elective course3CS Technical elective course3
Free elective course3Free elective course4
Free elective course4Free elective course3
16 16
Total Hours 128

for the degree of Bachelor of Science Major in Computer Science

By the time of graduation, students 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.

for the degree of Bachelor of Science in Computer Science