BS in Computer Science with Software Engineering Concentration
To earn a Bachelor of Science in Computer Science, Software Engineering Concentration 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.
Degree Requirements
Code | Title | Hours |
---|---|---|
Summary of Requirements | ||
Nonengineering and General Education Requirements | 46 | |
Required in the College of Engineering | 55 | |
Technical Electives | 12 | |
Required Mathematics Courses | 6 | |
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 lab science sequence below are approved for the Analyzing the Natural World General Education category.
Required in the College of Engineering
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 440 | Software Engineering I | 3 |
CS 442 | Software Engineering II | 3 |
IE 342 | Probability and Statistics for Engineers | 3 |
CS 499 | Professional Development Seminar | 0 |
Total Hours | 55 |
- a
ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation.
Technical Electives
Code | Title | Hours |
---|---|---|
Courses | ||
Students must complete at least 12 hours of courses from the following, only one of which may be outside the CS rubric. Two courses must be from CS 422, CS 480, CS 441, and CS 474. | 12 | |
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 | ||
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 | ||
Engineering Distributed Objects For Cloud Computing | ||
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 | ||
Regression Applications and Forecasting in Engineering | ||
Networks and Distributed Computing Technology | ||
Database Administration and Installation | ||
Codes and Cryptography | ||
Linear and Non-Linear Programming | ||
Total Hours | 12 |
Required Mathematics Courses
Code | Title | Hours |
---|---|---|
Required Courses | ||
Select two of the following: | 6 | |
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 a | ||
Game Theory | ||
Total Hours | 6 |
- a
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 |
---|---|---|
Electives | ||
Select two courses from 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 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 |
CS 141 | Program Design II | 3 |
CS 151 | Mathematical Foundations of Computing | 3 |
General Education Core course | 3 | |
Hours | 16 | |
Sophomore Year | ||
First Semester | ||
MATH 210 | Calculus III | 3 |
CS 211 | Programming Practicum | 3 |
CS 251 | Data Structures | 4 |
Science Elective | 4 | |
General Education Core course | 3 | |
Hours | 17 | |
Second Semester | ||
CS 261 | Machine Organization | 4 |
CS 301 | Languages and Automata | 3 |
IE 342 | Probability and Statistics for Engineers | 3 |
Humanities/Social Sciences/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 341 | Programming Language Design and Implementation | 3 |
CS 277 | Technical and Professional Communication in Computer Science | 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 |
CS 440 | Software Engineering I | 3 |
Technical Elective | 3 | |
General Education Core course | 3 | |
Free Elective | 2 | |
Hours | 17 | |
Second Semester | ||
CS 442 | Software Engineering II | 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.