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. Computer Science degree program is available. The admission and course requirements are described on the Computer Science website.

A Software Engineering Certificate is also available to all students in the computer science curriculum interested in a career in software engineering. It provides the depth and breadth necessary for satisfying possible future software engineering accreditation requirements.

for the degree of Bachelor of Science in Computer Science

The Grainger College of Engineering Undergraduate Programs Office maintains the following Degree Requirements website to clarify curricular requirements noted below:


Overview of Curricular Requirements

The curriculum requires 128 hours for graduation and is organized as shown below.

Orientation and Professional Development

These courses introduce the opportunities and resources your college, department, and curriculum can offer you as you work to achieve your career goals. They also provide the skills to work effectively and successfully in the engineering profession.

Freshman Orientation (optional course highly recommended may be used to help meet free elective requirements) 1
CS 210Ethical & Professional Issues2
ENG 100Engineering Orientation 10
Total Hours2

Foundational Mathematics and Science

These courses stress the basic mathematical and scientific principles upon which the engineering discipline is based.

Total Hours chosen from the following:25
MATH 221Calculus I 24
MATH 231Calculus II3
MATH 241Calculus III4
MATH 415Applied Linear Algebra3
PHYS 211University Physics: Mechanics4
PHYS 212University Physics: Elec & Mag4
Science elective, from departmentally approved list below:3
AE 202Aerospace Flight Mechanics3
ANTH 249Evolution and Human Disease3
ASTR 210Introduction to Astrophysics3
ASTR 350The Big Bang, Black Holes, and the End of the Universe3
ATMS 100Introduction to Meteorology3
ATMS 120Severe and Hazardous Weather3
ATMS 140Climate and Global Change3
ATMS 201General Physical Meteorology3
BIOE 205Signals & Systems in Bioengrg3
BIOE 206Cellular Bioengineering3
CEE 201Systems Engrg & Economics3
CEE 202Engineering Risk & Uncertainty3
CHEM 102General Chemistry I3
CHEM 103General Chemistry Lab I1
CPSC 112Introduction to Crop Sciences4
CPSC 265Genetic Engineering Lab3
CPSC 270Applied Entomology3
DANC 345Dance Anatomy and Kinesiology3
FSHN 101Intro Food Science & Nutrition3
FSHN 120Contemporary Nutrition3
GEOL 107Physical Geology4
GEOL 111Emergence of Life3
GEOL 117The Oceans3
GEOL 118Natural Disasters3
GEOL 143History of Life3
GEOL 208History of the Earth System4
IB 103Introduction to Plant Biology4
IB 104Animal Biology4
IB 150Organismal & Evolutionary Biol4
KIN 150Bioscience of Human Movement3
MCB 150Molec & Cellular Basis of Life4
MCB 244Human Anatomy & Physiology I3
NPRE 247Modeling Nuclear Energy System3
NRES 100Fundamentals of Env Sci3
NRES 102Introduction to NRES3
PLPA 204Introductory Plant Pathology3
PSYC 204Intro to Brain and Cognition3
PSYC 224Cognitive Psych3
PSYC 248Learning and Memory3
SHS 240Intro Sound & Hearing Science3
SHS 280Communication Neuroscience3

Computer Science Technical Core

These courses stress fundamental concepts and basic laboratory techniques that comprise the common intellectual understanding of computer science.

CS 125Intro to Computer Science4
CS 126Software Design Studio3
CS 173Discrete Structures3
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

These courses stress the rigorous analysis and design principles practiced in major subdisciplines of computer science. Students select eight courses, at least six of which must be advanced CS courses.  Three courses must be selected from one area of CS and at least one course should satisfy the team project requirement.

Technical electives to be chosen from departmentally approved list below. One of the six CS courses must satisfy the team project requirement using any of the following courses below, taken at the University of Illinois Urbana-Champaign (study abroad or transfer equivalents of these courses may not satisfy the Team Project requirement):24
CS 427Software Engineering I3 or 4
CS 428Software Engineering II3 or 4
CS 429Software Engineering II, ACP3
CS 445Computational Photography (Until Spring 2018)3 or 4
CS 465User Interface Design3 or 4
CS 467Social Visualization3 or 4
CS 493Senior Project II, ACP3
CS 494Senior Project II3
CS 497CS Team Project1 to 3
CS 498Special Topics (Virtual Reality (Spring 2018 and later))1 to 4
Three of the CS courses must be chosen from a single focus area, from among the areas below:
Software Foundations:
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 476Program Verification3 or 4
CS 477Formal Software Devel Methods3 or 4
CS 492Senior Project I3
CS 498Special Topics (Art and Science of Web Programming; Logic)1 to 4
CS 522Programming Language Semantics4
CS 524Concurrent Progrmg Languages4
CS 426Compiler Construction3 or 4
CS 527Topics in Software Engineering4
CS 528Obj-Oriented Progrmg & Design4
CS 576Topics in Automated Deduction2 to 4
CS 598Special Topics (Verification; Languages)2 to 4
Algorithms and Models of Computation:
CS 413Intro to Combinatorics3 or 4
CS 473Algorithms4
CS 475Formal Models of Computation3 or 4
CS 476Program Verification3 or 4
CS 477Formal Software Devel Methods3 or 4
CS 481Advanced Topics in Stochastic Processes & Applications3 or 4
CS 482Simulation3 or 4
CS 498Special Topics (Logic; Parallel Algorithms)1 to 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 583Approximation Algorithms4
CS 584Embedded System Verification4
CS 598Special Topics (Crypto)2 to 4
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 440Artificial Intelligence3 or 4
CS 445Computational Photography3 or 4
ECE 470Introduction to Robotics4
CS 446Machine Learning3 or 4
CS 447Natural Language Processing3 or 4
CS 466Introduction to Bioinformatics3 or 4
CS 467Social Visualization3 or 4
CS 498Special Topics (Data Visuzalization; Deep Learning; Applied Machine Learning; Social and Info Networks)1 to 4
CS 510Advanced Information Retrieval4
CS 511Advanced Data Management4
CS 512Data Mining Principles4
CS 543Computer Vision4
CS 544Optimiz in Computer Vision4
CS 546Machine Learning in NLP4
CS 548Models of Cognitive Processes4
CS 576Topics in Automated Deduction2 to 4
CS 598Special Topics (Machine Learning and Signal Processing)2 to 4
Human and Social Impact:
CS 460Security Laboratory3 or 4
CS 461Computer Security I4
CS 463Computer Security II3 or 4
CS 465User Interface Design3 or 4
CS 467Social Visualization3 or 4
CS 468Tech and Advertising Campaigns3
CS 498Special Topics (Art and Science of Web Prog; Computational Advertising; Data Visualization; Applied Machine Learning; HCI; Social and Information Networks; Virtual Reality)1 to 4
CS 563Advanced Computer Security4
CS 565Human-Computer Interaction4
Media:
CS 414Multimedia Systems3 or 4
CS 418Interactive Computer Graphics3 or 4
CS 419Production Computer Graphics3 or 4
CS 445Computational Photography3 or 4
CS 465User Interface Design3 or 4
CS 467Social Visualization3 or 4
CS 468Tech and Advertising Campaigns3
CS 498Special Topics (Art and Science of Web Prog; Computational Advertising; Virtual Reality; Data Visualization)1 to 4
CS 519Scientific Visualization4
CS 565Human-Computer Interaction4
CS 598Special Topics (Machine Learning and Signal Proc.)2 to 4
Scientific, Parallel, and High Perfomance Computing:
CS 419Production Computer Graphics3 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 498Special Topics (Parallel Algorithms)1 to 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 423Operating Systems Design3 or 4
CS 424Real-Time Systems3 or 4
CS 425Distributed Systems3 or 4
CS 431Embedded Systems3 or 4
CS 436Computer Networking Laboratory3 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 498Special Topics (Wireless Network Labs)1 to 4
CS 523Advanced Operating Systems4
CS 524Concurrent Progrmg Languages4
CS 525Advanced Distributed Systems4
CS 538Advanced Computer Networks4
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 536Fault-Tolerant Dig Syst Design4
CS 541Computer Systems Analysis4
CS 584Embedded System Verification4
CS 598Special Topics (Parallel)2 to 4

Computer Science Advanced Electives

Students must take at least two courses comprising at least 6 hours of 400-level coursework in ANY area offered at the University (including independent study - CS 397 may also be used to count towards these two additional advanced courses). These might be CS courses but don't have to be. Courses must be taken for a letter grade (CS 491 and 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 faculty mentor is highly encouraged.

At least two courses comprising at least 6 hours of 400-level coursework in any area offered at the University.6
Total Hours6

General Education Requirements

A minimum of six courses is required, as follows:18
Social and Behavioral Sciences6
Humanities & the Arts 6
The Grainger College of Engineering Liberal Education course list, or from the campus General Education lists for Social and Behavioral Sciences or Humanities and the Arts6
Cultural Studies: Non-Western Cultures (1 course)
Cultural Studies: U.S. Minorities Cultures (1 course)
Cultural Studies: Western/Comparative Cultures (1 course)

Non-Primary Language Requirement

Completion of the third semester or equivalent of a non-primary language is required. Completion of three years of a single language in high school satisfies this requirement. 0-9

University Composition

These courses teach fundamentals of expository writing.

Choose one:
Writing and Research
Oral & Written Comm I
and Oral & Written Comm II
Intro to Academic Writing I
and Intro to Academic Writing II
Principles of Academic Writing
Advanced Composition. May be satisfied by taking any course in either the liberal education or free elective categories which has the Advanced Composition designation.

Free Electives

Free Electives
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. 18
Total Hours of Curriculum to Graduate128

for the degree of Bachelor of Science in Computer Science


Suggested Sequence

The schedule that follows is illustrative, showing the typical sequence in which courses would be taken by a student with no college course credit already earned and who intends to graduate in four years.  Each individual's case may vary, but the position of required named courses is generally indicative of the order in which they should be taken.

First Year
First SemesterHours
Science elective3
CS 1001Freshman Orientation1
CS 125Intro to Computer Science4
ENG 100Engineering Orientation0
MATH 2212Calculus I4
RHET 105 (or Liberal education elective)3,4Writing and Research3-4
 Semester Hours15-16
Second Semester
CS 126Software Design Studio3
CS 173Discrete Structures3
MATH 231Calculus II3
PHYS 211University Physics: Mechanics4
RHET 105 (or Liberal education elective)3,4Writing and Research4-3
 Semester Hours17-16
Second Year
First Semester
CS 225Data Structures4
CS 233Computer Architecture4
MATH 241Calculus III4
PHYS 212University Physics: Elec Mag4
 Semester Hours16
Second Semester
CS 241System Programming4
CS 361Probability Statistics for Computer Science3
MATH 415Applied Linear Algebra3
Liberal education electives46
 Semester Hours16
Third Year
First Semester
CS 357Numerical Methods I3
CS 374Introduction to Algorithms Models of Computation4
CS Technical elective53
Liberal education elective43
Free elective3
 Semester Hours16
Second Semester
CS Technical electives59
CS 210Ethical Professional Issues2
Liberal education elective43
Free elective3
 Semester Hours17
Fourth Year
First Semester
CS 421Programming Languages Compilers3
CS Technical electives56
Liberal education elective43
Free electives4
 Semester Hours16
Second Semester
CS Technical electives56
Free electives 9
 Semester Hours15
 Total Hours: 128