BS in Computer Science

Degree Requirements

To earn a Bachelor of Science in Computer Science degree from UIC, students need to complete university, college, and department degree requirements. The Department of Computer Science degree requirements are outlined below. Students should consult the College of Engineering section for additional degree requirements and college academic policies.

Summary of Requirements
Nonengineering and General Education Requirements46
Required in the College of Engineering46
Technical Electives18
Required Mathematics Courses9
Free Electives9
Total Hours128

Nonengineering and General Education Requirements

Required Courses
ENGL 160Academic Writing I: Writing in Academic and Public Contexts3
ENGL 161Academic Writing II: Writing for Inquiry and Research3
Exploring World Cultures course a3
Understanding the Creative Arts course a3
Understanding the Past course a3
Understanding the Individual and Society course a3
Understanding U.S. Society course a3
Humanities/Social Sciences/Art Electives b6
MATH 180Calculus I c4
MATH 181Calculus II c4
MATH 210Calculus III c3
Science Electives (see below) d8
Total Hours46
a

Students should consult the General Education section of the catalog for a list of approved courses in this category.

b

These electives must be selected from a list of approved courses provided by the CS department.

c

This course is approved for the Analyzing the Natural World General Education category.

d

All courses on the science elective list below are approved for the Analyzing the Natural World General Education category.

Required in the College of Engineering Courses 

Required Courses
ENGR 100Engineering Success Seminar a1
Select one of the following:3
Program Design I
Program Design I in the Context of Biological Problems
Program Design I in the Context of Law and Public Policy
CS 141Program Design II3
CS 151Mathematical Foundations of Computing3
CS 211Programming Practicum3
CS 251Data Structures4
CS 261Machine Organization4
CS 277Technical and Professional Communication in Computer Science3
CS 301Languages and Automata3
CS 341Programming Language Design and Implementation3
CS 342Software Design3
CS 361Systems Programming4
CS 362Computer Design4
CS 377Ethical Issues in Computing3
CS 401Computer Algorithms I3
CS 499Professional Development Seminar0
Total Hours46
a

ENGR 100 is a one-semester-hour course, but the hour does not count toward the total required for graduation.

Technical Electives 

Courses
Select six of the following, only one of which may be outside the CS rubric:18
Advanced Data Structure Practicum
Framework-based Software Development for Hand-held Devices
Undergraduate Design/Research
Algorithms in Practice
Economics and Computation
Artificial Intelligence I
Introduction to Machine Learning
Computer Vision I
Introduction to Data Science
Natural Language Processing
User Interface Design and Programming
Visualization and Visual Analytics
Computer Graphics I
Video Game Design and Development
Creative Coding
Virtual, Augmented and Mixed Reality
Software Engineering I
Engineering Distributed Objects For Cloud Computing
Software Engineering II
Introduction to Networking
Introduction to Parallel and Distributed Processing
Principles of Concurrent Programming
Design and Implementation of Network Protocols
Operating Systems Design and Implementation
Systems Performance and Concurrent Computing
Computer Architecture
Network Security
Compiler Design
Object-Oriented Languages and Environments
Programming Language Design
Public Policy, Legal, and Ethical Issues in Computing, Privacy, and Security
Software Development for Mobile Platforms
Wearables and Nearables Technology Laboratory
Database Systems
Big Data Mining
Secure Web Application Development
Networked Operating Systems Programming
Building Secure Computer Systems
Introduction to Cryptography
Human Augmentics
Hardware Description Language Based Digital and Computer System Design
Networks and Distributed Computing Technology
Database Administration and Installation
Introduction to Symbolic Computation
Codes and Cryptography
Numerical Analysis
Computational Geometry
Linear and Non-Linear Programming
Total Hours18

Required Mathematics Courses 

Required Courses
Select 9 hours from among the following list of courses, with at least one course taken from IE 342 or STAT 381:9
Probability and Statistics for Engineers a
Applied Statistical Methods I
Introduction to Advanced Mathematics
Introduction to Differential Equations
Applied Linear Algebra
Linear Algebra I
Formal Logic I
Foundations of Number Theory
Number Theory for Applications
Combinatorics
Graph Theory
Numerical Analysis b
Introduction to Probability
Game Theory
Total Hours9
a

Students who take IE 342 will not receive credit for either STAT 381 or STAT 401.

b

Students may choose to use MCS 471 as either a CS technical elective from outside the CS department or as a required mathematics course, but not both.

Science Electives

Every student must take two courses from the list below. 

Science Electives
Select two of the following: a8
Biology of Cells and Organisms
Biology of Populations and Communities
Matter and Energy
and Foundations of Chemical Inquiry I b
Honors and Majors General and Analytical Chemistry I
Chemical Dynamics
and Foundations of Chemical Inquiry II b
Honors and Majors General and Analytical Chemistry II
General Physics I (Mechanics)
General Physics II (Electricity and Magnetism)
Global Environmental Change
Earth, Energy, and the Environment
Total Hours8
a

These courses are approved for the Analyzing the Natural World General Education category

b

General Education credit is only given for the successful completion of both CHEM 122 and CHEM 123 or both CHEM 124 and CHEM 125.

Free Electives 

Electives
Select 9 hours of Free Electives9
Total Hours9

Sample Course Schedule

Plan of Study Grid
Freshman Year
First SemesterHours
MATH 180 Calculus I 4
CS 111
Program Design I
or Program Design I in the Context of Biological Problems
or Program Design I in the Context of Law and Public Policy
3
ENGL 160 Academic Writing I: Writing in Academic and Public Contexts 3
Science Elective 4
ENGR 100 Engineering Success Seminar a 1
 Hours14
Second Semester
MATH 181 Calculus II 4
ENGL 161 Academic Writing II: Writing for Inquiry and Research 3
General Education Core course 3
CS 141 Program Design II 3
CS 151 Mathematical Foundations of Computing 3
 Hours16
Sophomore Year
First Semester
MATH 210 Calculus III 3
Science Elective 4
CS 211 Programming Practicum 3
CS 251 Data Structures 4
General Education Core course 3
 Hours17
Second Semester
CS 261 Machine Organization 4
CS 301 Languages and Automata 3
Required Mathematics course 3
Humanities/Social Science/Art Elective 3
General Education Core course 3
 Hours16
Junior Year
First Semester
CS 361 Systems Programming 4
CS 362 Computer Design 4
CS 342 Software Design 3
Required Mathematics course 3
General Education Core course 3
 Hours17
Second Semester
CS 277 Technical and Professional Communication in Computer Science 3
CS 341 Programming Language Design and Implementation 3
Required Mathematics course 3
Humanities/Social Sciences/Art Elective 3
Free Elective 4
 Hours16
Senior Year
First Semester
CS 377 Ethical Issues in Computing 3
CS 401 Computer Algorithms I 3
Technical Elective 3
Technical Elective 3
General Education Core course 3
Free Elective 2
 Hours17
Second Semester
Technical Elective 3
Technical Elective 3
Technical Elective 3
Technical Elective 3
Free Elective 3
CS 499 Professional Development Seminar 0
 Hours15
 Total Hours128
a

ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation.