Our bachelor's degree in Computer Science is offered from The Grainger College of Engineering. See the Degree and Programs Options page for a listing of the other degrees that we offer.  

The information on this page is for students entering in Fall 2021 and beyond. Students who entered prior to Fall 2021 should see a CS academic advisor.

See also: Prerequisite Flowchart and Course Planning Forms

University and The Grainger College of Engineering Requirements (39 - 51 hours)

Hours

Courses

4 Composition I
3 Advanced Composition - can be completed by choosing one of the following options - see technical track requirements below for details: CS 211, CS 427 and CS 429CS 492 and CS 493CS 499
0 ENG 100
3 Science Elective
8-10 Physics Sequence - PHYS 211212.
18 Humanities and Social Sciences For specific requirements see the Liberal Education Electives page on The Grainger College of Engineering Undergraduate Advising website.
0-12 Foreign Language (Language Other Than English)

 

Department of Computer Science Requirements 

Hours

Courses

1

CS 100 (recommended but not required)

11-12

Calculus through Math 241 Calculus III

3

MATH 257 Linear Algebra with Computational Applications (MATH 415 Applied Linear Algebra or MATH 416 Abstract Linear Algebra also satisfies this requirement )

3

CS 124 Introduction to Computer Science I

3

CS 128 Introduction to Computer Science II

3

CS 173 Discrete Structures

2-3

CS 210 Ethical and Professional Issues in CS (2 hours) or CS 211 Ethical and Professional Conduct (3 hours)

1

CS 222 Software Design Lab

4

CS 225 Data Structure and Software Principles

4

CS 233 Computer Architecture

4

CS 241 System Programming

3

CS 357 Numerical Methods I

3

CS 361 Probability and Statistics for Computer Science (Current students can no longer substitute MATH 461 or STAT 400 after Fall 2018.)

4

CS 374 Algorithms and Models of Computation

3

CS 421 Programming Languages and Compilers

18

Technical electives: Students must take a minimum of (6) six additional technical electives with at least eighteen (18) cumulative credit hours and chosen from CS 397 and the 400-level CS courses, not including CS 400CS 401CS 402CS 403 or CS 491CS 500-level courses may be used as technical electives, but only with special permission from the CS Academic Office.  CS 397 and CS 499 may be used with a cumulative maximum of six (6) credits from them counting as technical electives. One "CS-like" course in another department (e.g., ECE) may also be counted as a CS 400-level course with permission of the CS Academic Office. Non-CS tech electives will not be considered in focus areas.

  • At least one (1) of the CS courses used for technical electives must be chosen from the list below of CS courses satisfying the team project requirement.
  • Team Project Course List:
    CS 417, CS 419 (Spring 2021 ONLY), CS 427, CS 428, CS 429, CS 437, CS 445 (until Spring 2018), CS 465, CS 467, CS 493, CS 494, CS 497, CS 498 sections: Virtual Reality (Spring 2018 until Spring 2021 -- became CS 417), Internet of Things (Fall 2019 until Spring 2021--became CS 437 topic), ISE - IoT Software Engineering (Fall 2020 until Spring 2021--became CS 437 topic), Game Development. Additional courses will be added upon department evaluation. Note: Courses transferred from other universities (including both Study Abroad and domestic universities) will not satisfy the team project requirement even if they are articulated as equivalents to the courses listed above.
  • Three of the CS courses must be chosen from a single focus area, from among the areas below, with additional 498s added as approved (Note that inclusion in a focus group does not guarantee future offering for CS 498s):
    • Software Foundations: 407 (was 498 Applied Cryptography), 409 (was 498 Art. & Science of Web Prog.), 422, 426, 427, 428/429, 474 (was 498 Logic), 476, 477, 492/3/4, 498 (Software Testing), 521, 522, 524, 526, 527, 528, 576, 598 (Verification), 598 (Languages)

    • Algorithms and Models of Computation: 413, 473, 474 (was 498 Logic), 475, 476, 477, 481, 482, 498 (Parallel Algorithms), 498 (Computational Geometry), 571, 572, 573, 574, 575, 576, 579, 580, 583, 584, 598 (Crypto)
    • Intelligence and Big Data: 410, 411, 412, 414, 416 (was 498 Data Visualization), 440, 441 (was 498 Applied Machine Learning), 443, 445 (was 498 Computational Photography), 446, 447, 448 (was 498 Audio Computing Lab), 464 (topics: includes 498 Cyber Dystopia), 466, 467, 498 (Deep Learning), 498 (Social & Info. Networks), 498 (AI for Computer Games - Fall 2015-Fall 2017), 498 (Data Science & Analytics), 510, 511, 512, 514, 540, 542, 543, 544, 545, 546 (was 598 ML & Signal Proc.), 548, 562, 576

    • Human and Social Impact: 409 (was 498 Art. & Science of Web Prog.), 416 (was 498 Data Visualization), 417 (was 498 Virtual Reality), 460, 461, 463, 464 (topics: includes 498 Cyber Dystopia), 465, 467, 468 (was 498 Technology & Advertising), 469 (was 498 Computational Advertising), 498 (HCI), 498 (Social & Information Networks),  498 (Cyber Physical Systems), 498 (Data Science & Analytics), 498 (Smart Cities), 498 (Learning and Computer Science), 498 (Online Learning Sys), 498 (Mobile Interactive Design), 498 (Law & Policy Issues in CS), 498 (AI Applications in Education), 500, 514, 562, 563, 565, 566, 567

    • Media: 409 (was 498 Art. & Science of Web Prog.), 414, 416 (was 498 Data Visualization), 417 (was 498 Virtual Reality), 418, 419, 445, 448 (was 498 Audio Computing Lab), 465, 467, 468 (was 498 Technology & Advertising), 469 (was 498 Computational Advertising), 498 Game Development, 519, 565, 598 (Machine Learning & Signal Proc.)

    • Scientific, Parallel, and High Performance Computing: 419, 435 (was 498 Cloud Networking), 450, 457, 466, 482, 483, 484, 498 (Parallel Algorithms), 519, 554, 555, 556, 558

    • Distributed Systems, Networking, and Security: 407 (was 498 Applied Cryptography), 423, 424, 425, 431, 435 (was 498 Cloud Networking), 436, 437 (topics: includes IoT, Wireless Network Lab, Wireless IoT Lab, IoT for Software Engineering), 438, 439, 460, 461, 463, 483, 484, 498 (Digital Forensics I & II), 498 (Cyber Physical Systems), 498 (Smart Cities), 498 (ML in Wireless Networks), 498 (Cloud Networking), 523, 524, 525, 537, 538, 562, 563

    • Machines: 423, 424, 426, 431, 433, 437 (topics: includes IoT, Wireless Network Lab, Wireless IoT Lab, IoT for Software Engineering), 484, 498 (Digital Forensics I & II), 498 (Mobile Robotics for CS), 523, 526, 533, 534, 536, 541, 584, 598 (Parallel)

**Speak to a CS undergraduate advisor about Spring 2021, and Fall 2021 498 topics not listed on this page.

6

Computer Science Advanced Electives:  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.  (CS 491 and most other seminar courses do not count.)  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.

In addition, students have to complete a number of hours of free electives, which are courses beyond major and general education requirements that students complete to attain the 128 Total Hours Required. Caution: there are a few limitations on what students can take to complete free electives.  These limitations are spelled out on this page on The Grainger College of Engineering Undergraduate Advising website.

Prerequisite Flowchart and Course Planning Forms - B.S. in Computer Science (from The Grainger College of Engineering)

Prerequisite flowchart for students who began undergraduate work in fall 2013 or later. (Students who entered prior to fall 2013 should see a CS academic advisor.) This flowchart does not cover the technical electives requirements, which are discussed above.

Course planning forms provide a checklist of all requirements for the major and a framework for creating four-year plan on the back of the form. These forms vary, depending on when you entered the major. (Students who entered prior to fall 2013 should see a CS academic advisor.)

Students who entered Fall 2021 and later
Students who entered Fall 2018 until Spring 2021
Students who entered Fall 2016 until Fall 2018
Students who entered Fall 2013 to Fall 2016