Computer Science, BS

for the degree of Bachelor of Science in Computer Science


department website: https://cs.illinois.edu

department faculty: Computer Science Faculty


overview of college admissions & requirements: The Grainger College of Engineering

college website: https://grainger.illinois.edu/


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 in areas of the student's choosing follows in the second two years, which include either a senior thesis or a senior project. Graduates may go on to graduate study or leading positions in industry.

A combined B.S.-M.S. and B.S-M.C.S. degree program is available. The admission and course requirements are described on the Computer 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.


Orientation and Professional Development

CS 100Freshman Orientation (optional course highly recommended may be used to help meet free elective requirements)1
CS 210Ethical & Professional Issues2 or 3
or CS 211 Ethical and Professional Conduct
ENG 100Engineering Orientation 10
Total Hours3-4

Foundational Mathematics and Science

Total Hours chosen from the following:25
MATH 221Calculus I 24
MATH 231Calculus II3
MATH 241Calculus III4
MATH 415Applied Linear Algebra3
or MATH 257 Linear Algebra with Computational Applications
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

CS 124Introduction to Computer Science I (Intro to Computer Science I)3
CS 128Introduction to Computer Science II (Intro to Computer Science II)3
CS 173Discrete Structures3
CS 222Software Design Lab (Software Design Lab)1
CS 225Data Structures4
CS 233Computer Architecture4
CS 241System Programming4
CS 361Probability & Statistics for Computer Science3
CS 357Numerical Methods I3
CS 374Introduction to Algorithms & Models of Computation4
CS 421Programming Languages & Compilers3
Total Hours35

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 CS 400-level courses, not including CS 400, CS 401, CS 402, CS 403 or CS 491. CS 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.18
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 417Virtual Reality (Virtual Reality)3
CS 427Software Engineering I3 or 4
CS 428Software Engineering II3 or 4
CS 429Software Engineering II, ACP3
CS 437Topics in Internet of Things (Topics in Internet of Things)3
CS 465User Interface Design4
CS 467Social Visualization3 or 4
CS 493Senior Project II, ACP3
CS 494Senior Project II3
CS 497CS Team Project1 to 3
At least three (3) of the CS courses used for technical electives must be chosen from a single focus area, from among the list of focus areas listed below. The team project course may be used as one of them.
CS 498 Special Topics and CS 598 Special Topics classes may be included in a focus area by department approval.
Software Foundations:
CS 407Cryptography (Cryptography)3 or 4
CS 409The Art of Web Programming (The Art of Web Design)3
CS 422Programming Language Design3 or 4
CS 426Compiler Construction3 or 4
CS 427Software Engineering I3 or 4
CS 428Software Engineering II3 or 4
CS 429Software Engineering II, ACP3
CS 474Logic in Computer Science (Logic in Computer Science)3 or 4
CS 476Program Verification3 or 4
CS 477Formal Software Development Methods3 or 4
CS 492Senior Project I3
CS 521Advanced Topics in Programming Systems (Advanced Topics in Programming Systems)4
CS 522Programming Language Semantics4
CS 524Concurrent Progrmg Languages4
CS 526Advanced Compiler Construction4
CS 527Topics in Software Engineering4
CS 528Obj-Oriented Progrmg & Design4
CS 576Topics in Automated Deduction2 to 4
Algorithms and Models of Computation:
CS 407Cryptography (Cryptography)3 or 4
CS 413Intro to Combinatorics3 or 4
CS 473Algorithms4
CS 474Logic in Computer Science (Logic in Computer Science)3 or 4
CS 475Formal Models of Computation3 or 4
CS 476Program Verification3 or 4
CS 477Formal Software Development Methods3 or 4
CS 481Advanced Topics in Stochastic Processes & Applications3 or 4
CS 482Simulation3 or 4
CS 571Combinatorial Mathematics4
CS 572Extremal Graph Theory4
CS 573Algorithms4
CS 574Randomized Algorithms4
CS 575Methods of Combinatorics4
CS 576Topics in Automated Deduction2 to 4
CS 579Computational Complexity4
CS 580Topics in Algorithmic Game Theory (Topics in Algorithmic Game Theory)4
CS 583Approximation Algorithms4
CS 584Embedded System Verification4
Intelligence and Big Data:
CS 410Text Information Systems3 or 4
CS 411Database Systems3 or 4
CS 412Introduction to Data Mining3 or 4
CS 414Multimedia Systems3 or 4
CS 416Data Visualization (Data Visualization)3 or 4
CS 440Artificial Intelligence3 or 4
CS 441Applied Machine Learning (Applied Machine Learning)3 or 4
CS 445Computational Photography3 or 4
CS 446Machine Learning3 or 4
CS 447Natural Language Processing3 or 4
CS 448Audio Computing Laboratory (Audio Computing Laboratory)3 or 4
CS 464Topics in Societal and Ethical Impacts of Computer Technology (Topics in Societal and Ethical Impacts of Computer Technology)3
CS 466Introduction to Bioinformatics3 or 4
CS 467Social Visualization3 or 4
CS 469 (Computational Advertising)3
CS 510Advanced Information Retrieval4
CS 511Advanced Data Management4
CS 512Data Mining Principles4
CS 514Advanced Topics in Network Science (Advanced Topics in Network Science)4
CS 540Deep Learning Theory (Deep Learning Theory)4
CS 542Statistical Reinforcement Learning (Statistical Reinforcement Learning)4
CS 543Computer Vision4
CS 544Optimiz in Computer Vision4
CS 545Machine Learning for Signal Processing (Machine Learning for Signal Processing)4
CS 546Advanced Topics in Natural Language Processing (Advanced Topics in NLP)4
CS 548Models of Cognitive Processes4
CS 562Advanced Topics in Security, Privacy, and Machine Learning (Advanced Topics in Security, Privacy, and ML)4
CS 567Social Signals and Social Media (Social Signals and Social Media)4
CS 576Topics in Automated Deduction2 to 4
Human and Social Impact:
CS 409The Art of Web Programming (The Art of Web Design)3 or 4
CS 416Data Visualization (Data Visualization)3 or 4
CS 417Virtual Reality (Virtual Reality)3 or 4
CS 441Applied Machine Learning (Applied Machine Learning)3 or 4
CS 460Security Laboratory3 or 4
CS 461Computer Security I4
CS 463Computer Security II3 or 4
CS 464Topics in Societal and Ethical Impacts of Computer Technology (Topics in Societal and Ethical Impacts of Computer Technology)3
CS 465User Interface Design4
CS 467Social Visualization3 or 4
CS 468Tech and Advertising Campaigns3
CS 469 (Computational Advertising)3
CS 500Current Topics in Computing Education Research (Current Topics in Computing Education Research)4
CS 514Advanced Topics in Network Science (Advanced Topics in Network Science)4
CS 562Advanced Topics in Security, Privacy, and Machine Learning (Advanced Topics in Security, Privacy, and ML)4
CS 563Advanced Computer Security4
CS 565Human-Computer Interaction4
CS 566 (Experimental HCI)4
CS 567Social Signals and Social Media (Social Signals and Social Media)4
Media:
CS 409The Art of Web Programming (The Art of Web Design)3 or 4
CS 414Multimedia Systems3 or 4
CS 417Virtual Reality (Virtual Reality)3 or 4
CS 418Interactive Computer Graphics3 or 4
CS 419Production Computer Graphics3 or 4
CS 445Computational Photography3 or 4
CS 448Audio Computing Laboratory (Audio Computing Laboratory)3 or 4
CS 465User Interface Design4
CS 467Social Visualization3 or 4
CS 468Tech and Advertising Campaigns3
CS 469 (Computational Advertising)3 or 4
CS 519Scientific Visualization4
CS 545Machine Learning for Signal Processing (Machine Learning for Signal Processing)4
CS 565Human-Computer Interaction4
CS 567Social Signals and Social Media (Social Signals and Social Media)4
Scientific, Parallel, and High Perfomance Computing:
CS 419Production Computer Graphics3 or 4
CS 435Cloud Networking (Cloud Networking)3 or 4
CS 450Numerical Analysis3 or 4
CS 457Numerical Methods II3
CS 466Introduction to Bioinformatics3 or 4
CS 482Simulation3 or 4
CS 483Applied Parallel Programming4
CS 484Parallel Programming3 or 4
CS 519Scientific Visualization4
CS 554Parallel Numerical Algorithms4
CS 555Numerical Methods for PDEs4
CS 556Iterative & Multigrid Methods4
CS 558Topics in Numerical Analysis4
Distributed Systems, Networking, and Security:
CS 407Cryptography (Cryptography)3 or 4
CS 423Operating Systems Design3 or 4
CS 424Real-Time Systems3 or 4
CS 425Distributed Systems3 or 4
CS 431Embedded Systems3 or 4
CS 435Cloud Networking (Cloud Networking)3 or 4
CS 436Computer Networking Laboratory3 or 4
CS 437Topics in Internet of Things (Topics in Internet of Things)3 or 4
CS 438Communication Networks3 or 4
CS 439Wireless Networks3 or 4
CS 460Security Laboratory3 or 4
CS 461Computer Security I4
CS 463Computer Security II3 or 4
CS 483Applied Parallel Programming4
CS 484Parallel Programming3 or 4
CS 523Advanced Operating Systems4
CS 524Concurrent Progrmg Languages4
CS 525Advanced Distributed Systems4
CS 537Advanced Topics in Internet of Things (IoT) (Advanced Topics in Internet of Things)4
CS 538Advanced Computer Networks4
CS 562Advanced Topics in Security, Privacy, and Machine Learning (Advanced Topics in Security, Privacy, and ML)4
CS 563Advanced Computer Security4
Machines:
CS 423Operating Systems Design3 or 4
CS 424Real-Time Systems3 or 4
CS 426Compiler Construction3 or 4
CS 431Embedded Systems3 or 4
CS 433Computer System Organization3 or 4
CS 484Parallel Programming3 or 4
CS 523Advanced Operating Systems4
CS 526Advanced Compiler Construction4
CS 533Parallel Computer Architecture4
CS 534Advanced Topics in Computer Architecture (Advanced Topics in Computer Architecture)4
CS 536Fault-Tolerant Dig Syst Design4
CS 541Computer Systems Analysis4
CS 584Embedded System Verification4

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. 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

Electives

The Grainger College of Engineering Liberal Education course list, or additional courses from the campus General Education lists for Social and Behavioral Sciences or Humanities and the Arts 36
Free electives. Additional unrestricted course work, subject to certain exceptions as noted by the College, so that there are at least 128 credit hours earned toward the degree. 418
Total Hours of Curriculum to Graduate128

for the degree of Bachelor of Science in Computer Science


Suggested Sequence

The curriculum sequence below is a suggested sequence, as all Grainger Engineering students work with a department academic advisor to achieve their educational goals, specific to their needs and preparation. Dynamic and Static curricular maps, which include prerequisite sequencing, can be found here.

First Year
First SemesterHours
CS 1001Freshman Orientation1
CS 124Introduction to Computer Science I3
ENG 100Engineering Orientation0
MATH 2212Calculus I4
Science elective33
RHET 105 (or General Education elective)4,5Writing and Research4-3
 Semester Hours15-14
Second Semester
CS 128Introduction to Computer Science II3
CS 173Discrete Structures3
MATH 231Calculus II3
General education elective (or RHET 105)4,53-4
General education elective53
 Semester Hours15-16
Second Year
First Semester
CS 222Software Design Lab1
CS 225Data Structures4
MATH 241Calculus III4
PHYS 211University Physics: Mechanics4
General Education Elective53
 Semester Hours16
Second Semester
CS 233Computer Architecture4
CS 361Probability Statistics for Computer Science3
MATH 2576Linear Algebra with Computational Applications3
PHYS 212University Physics: Elec Mag4
Free elective3
 Semester Hours17
Third Year
First Semester
CS 2107Ethical Professional Issues2
CS 241System Programming4
CS 357Numerical Methods I3
CS Technical elective83
Free Elective4
 Semester Hours16
Second Semester
CS 374Introduction to Algorithms Models of Computation4
CS Technical electives86
General Education elective56
 Semester Hours16
Fourth Year
First Semester
CS 421Programming Languages Compilers3
CS Technical electives86
General Education electives53
Free electives5
 Semester Hours17
Second Semester
CS Technical electives89
Free electives 7
 Semester Hours16
 Total Hours: 128