Computer Science, BS

for the degree of Bachelor of Science in Computer Science


department catalog page: Computer Science

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

department faculty: Computer Science Faculty


overview of college admissions & requirements: Engineering

college website: https://engineering.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. Its admission and course requirements are described in the 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


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.

CS 100Freshman Orientation 1,21
CS 210Ethical & Professional Issues2
ENG 100Engineering Orientation 20
Total Hours3

Foundational Mathematics and Science

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

MATH 221Calculus I 14
MATH 231Calculus II3
MATH 241Calculus III4
MATH 415Applied Linear Algebra3
PHYS 211University Physics: Mechanics4
PHYS 212University Physics: Elec & Mag4
Science elective, from departmentally approved list3
Total Hours25

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

Liberal Education

The liberal education courses develop students’ understanding of human culture and society, build skills of inquiry and critical thinking, and lay a foundation for civic engagement and lifelong learning.

Electives from the campus General Education Social and Behavioral Sciences list. 6
Electives from the campus General Education Humanities and the Arts list.6
Electives either from a list approved by the college, or from the campus General Education lists for Social and Behavioral Sciences or Humanities and the Arts.6
Total Hours18

Students must also complete the campus cultural studies requirement by completing (i) one western/comparative culture(s) course, (ii) one non-western culture(s) course, and (iii) one U.S. Minority Culture(s) course from the General Education cultural studies lists. Most students select liberal education courses that simultaneously satisfy these cultural studies requirements. Courses from the western, non-western, and U.S. Minority lists that fall into free electives or other categories may also be used satisfy the cultural studies requirements.

Composition

These courses teach fundamentals of expository writing.

RHET 105Writing and Research4
Advanced Composition. May be satisfied by taking any course in either the liberal education or free elective categories which has the Advanced Composition designation.
Total Hours4

Free Electives

These unrestricted electives, subject to certain exceptions as noted at the College of Engineering Advising Website, give the student the opportunity to explore any intellectual area of unique interest. This freedom plays a critical role in helping students to define research specialties or to complete minors.

Free electives.19

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