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

Summary of Requirements
Nonengineering and General Education Requirements48
Required in the College of Engineering51
Technical Electives9
Required Mathematics Courses6
Free Electives14
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) d10
Total Hours48

Required in the College of Engineering

Required Courses
ENGR 100Engineering Orientation a1
CS 111Program Design I3
CS 141Program Design II3
CS 151Mathematical Foundations of Computing3
CS 211Programming Practicum2
CS 251Data Structures4
CS 261Machine Organization3
CS 301Languages and Automata3
CS 341Programming Language Design and Implementation3
CS 342Software Design3
CS 361Systems Programming3
CS 362Computer Design3
CS 377Communication and Ethical Issues in Computing3
CS 401Computer Algorithms I3
CS 440Software Engineering I3
CS 442Software Engineering II3
CS 461Operating Systems Design and Implementation3
IE 342Probability and Statistics for Engineers3
CS 499Professional Development Seminar0
Total Hours51

Technical Electives

Students must complete at least 9 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. 9
Undergraduate Design/Research
Artificial Intelligence I
Introduction to Machine Learning
Natural Language Processing
User Interface Design and Programming
Visualization and Visual Analytics
Computer Graphics I
Video Game Design and Development
Engineering Distributed Objects For Cloud Computing
Introduction to Networking
Design and Implementation of Network Protocols
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
Database Systems
Networked Operating Systems Programming
Secure Operating System Design and Implementation
Building Secure Computer Systems
Human Augmentics
Regression Applications and Forecasting in Engineering
Codes and Cryptography
Linear and Non-Linear Programming
Total Hours9

Required Mathematics Courses 

Required Courses
Select two of the following:6
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
Graph Theory
Numerical Analysis a
Game Theory
Total Hours6

Science Electives

Every student must take two courses from the list below. If additional hours are necessary to complete the ten required hours, additional courses may be other courses on this list, courses that have any of these courses as prerequisites, or other sciences and quantitative social sciences courses from a list maintained by the Computer Science department.

Select two courses from the following: a10
Biology of Cells and Organisms
Biology of Populations and Communities
General Chemistry I Lecture
and General Chemistry Laboratory I b
Honors and Majors General and Analytical Chemistry I
General Chemistry II Lecture
and General Chemistry Laboratory 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 Hours10

Free Electives

Select 14 hours of Free Electives14
Total Hours14

Sample Course Schedule

Plan of Study Grid
Freshman Year
First SemesterHours
MATH 180 Calculus I 4
CS 111 Program Design I 3
ENGL 160 Academic Writing I: Writing in Academic and Public Contexts 3
Science Elective 5
ENGR 100 Engineering Orientation a 1
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
Sophomore Year
First Semester
MATH 210 Calculus III 3
Science Elective 5
CS 211 Programming Practicum 2
CS 251 Data Structures 4
General Education Core course 3
Second Semester
CS 261 Machine Organization 3
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
Junior Year
First Semester
CS 361 Systems Programming 3
CS 362 Computer Design 3
CS 342 Software Design 3
Required Mathematics course 3
General Education Core course 3
Free Elective 2
Second Semester
CS 341 Programming Language Design and Implementation 3
CS 461 Operating Systems Design and Implementation 3
Required Mathematics course 3
Humanities/Social Sciences/Art Elective 3
Free Elective 4
Senior Year
First Semester
CS 377 Communication and 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
Second Semester
CS 442 Software Engineering II 3
Technical Elective 3
Technical Elective 3
Free Elective 3
Free Elective 3
CS 499 Professional Development Seminar 0
 Total Hours128