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.
Code | Title | Hours |
---|---|---|
Summary of Requirements | ||
Nonengineering and General Education Requirements | 46 | |
Required in the College of Engineering | 46 | |
Technical Electives | 18 | |
Required Mathematics Courses | 9 | |
Free Electives | 9 | |
Total Hours | 128 |
Nonengineering and General Education Requirements
Code | Title | Hours |
---|---|---|
Required Courses | ||
ENGL 160 | Academic Writing I: Writing in Academic and Public Contexts | 3 |
ENGL 161 | Academic Writing II: Writing for Inquiry and Research | 3 |
Exploring World Cultures course a | 3 | |
Understanding the Creative Arts course a | 3 | |
Understanding the Past course a | 3 | |
Understanding the Individual and Society course a | 3 | |
Understanding U.S. Society course a | 3 | |
Humanities/Social Sciences/Art Electives b | 6 | |
MATH 180 | Calculus I c | 4 |
MATH 181 | Calculus II c | 4 |
MATH 210 | Calculus III c | 3 |
Science Electives (see below) d | 8 | |
Total Hours | 46 |
- 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
Code | Title | Hours |
---|---|---|
Required Courses | ||
ENGR 100 | Engineering Success Seminar a | 1 |
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 141 | Program Design II | 3 |
CS 151 | Mathematical Foundations of Computing | 3 |
CS 211 | Programming Practicum | 3 |
CS 251 | Data Structures | 4 |
CS 261 | Machine Organization | 4 |
CS 277 | Technical and Professional Communication in Computer Science | 3 |
CS 301 | Languages and Automata | 3 |
CS 341 | Programming Language Design and Implementation | 3 |
CS 342 | Software Design | 3 |
CS 361 | Systems Programming | 4 |
CS 362 | Computer Design | 4 |
CS 377 | Ethical Issues in Computing | 3 |
CS 401 | Computer Algorithms I | 3 |
CS 499 | Professional Development Seminar | 0 |
Total Hours | 46 |
- a
ENGR 100 is a one-semester-hour course, but the hour does not count toward the total required for graduation.
Technical Electives
Code | Title | Hours |
---|---|---|
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 | ||
Introduction to High Performance Computing | ||
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 Hours | 18 |
Required Mathematics Courses
Code | Title | Hours |
---|---|---|
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 | ||
or STAT 381 | Applied Statistical Methods I | |
Introduction to Advanced Mathematics | ||
Introduction to Differential Equations | ||
Applied Linear Algebra | ||
or MATH 320 | 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 Hours | 9 |
- 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.
Code | Title | Hours |
---|---|---|
Science Electives | ||
Select two of the following: a | 8 | |
Biology of Cells and Organisms | ||
Biology of Populations and Communities | ||
Matter and Energy and Foundations of Chemical Inquiry I b | ||
or CHEM 116 | Honors and Majors General and Analytical Chemistry I | |
Chemical Dynamics and Foundations of Chemical Inquiry II b | ||
or CHEM 118 | 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 Hours | 8 |
- 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
Code | Title | Hours |
---|---|---|
Electives | ||
Select 9 hours of Free Electives | 9 | |
Total Hours | 9 |
Sample Course Schedule
Freshman Year | ||
---|---|---|
First Semester | Hours | |
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 |
Hours | 14 | |
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 |
Hours | 16 | |
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 | |
Hours | 17 | |
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 | |
Hours | 16 | |
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 | |
Hours | 17 | |
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 | |
Hours | 16 | |
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 | |
Hours | 17 | |
Second Semester | ||
Technical Elective | 3 | |
Technical Elective | 3 | |
Technical Elective | 3 | |
Technical Elective | 3 | |
Free Elective | 3 | |
CS 499 | Professional Development Seminar | 0 |
Hours | 15 | |
Total Hours | 128 |
- a
ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation.