- Degree Requirements—Computer Science
- Sample Course Schedule—Computer Science
- Degree Requirements—Computer Science with Computer Systems Concentration
- Sample Course Schedule—Computer Science with Computer Systems Concentration
- Degree Requirements—Computer Science with Human-Centered Computing Concentration
- Sample Course Schedule—Computer Science with Human-Centered Computing Concentration
- Degree Requirements—Computer Science with Software Engineering Concentration
- Sample Course Schedule—Computer Science with Software Engineering Concentration
1120 Science and Engineering Offices (SEO)
(312) 996–3422
ugrad@cs.uic.edu
http://www.cs.uic.edu
Administration:
Professor and Head of the Department, Robert Sloan
Director of Undergraduate Studies, John Lillis, jlillis@cs.uic.edu
Student Services Office: 905 SEO, (312) 996–3463
Academic Advisor: Patrick Troy
Computer science is a relatively young but extremely rich and diverse discipline. At one end of the spectrum, computer science may be viewed as the formal study of what can be computed and what resources are required for computation. At the other end of the spectrum, computer science may be seen as the application of human resources, software, and, of course, computers to solve computational problems relating to society’s and individuals’ needs.
A well-trained computer scientist requires knowledge of both ends of this spectrum—and several points in between. The Computer Science program in the Department of Computer Science is intended to provide that broad background. Along with a strong theoretical component, the Computer Science program places special emphasis on the development of applied skills in design, implementation, and validation of computer systems. In our experience, industry and graduate programs alike value—above all—people who can solve real problems, and who come prepared to use the tools of their trade.
All students acquire a common background in the fundamental areas of computer science: computer systems, organization and architecture, algorithms and data structures, principles of software design, elements of the theory of computation, and operating systems. In addition, students obtain specialized backgrounds through the selection of five technical elective courses in computer science. Required and elective courses in the sciences and mathematics, along with additional courses in writing, humanities, social sciences, and the arts give students the opportunity to expand their horizons and to prepare for multidisciplinary careers.
There are very few areas in modern society untouched by computer science. Computer science is present in everything from healthcare, telecommunications, and entertainment, to transportation, education, and defense. The result of this diversity is that a computer scientist must be capable of working with people outside his or her field. In support of this, the Computer Science program provides its students with a well-rounded education requiring significant course work outside the Department of Computer Science, placing a strong emphasis on writing and communication skills.
Given the breadth and diversity of the computer science discipline, the Department of Computer Science also offers a Computer Systems Concentration within the BS in Computer Science program. The Computer Systems Concentration represents a subspecialty that provides more emphasis on understanding and designing computer hardware. The student continues to learn the fundamental areas of computer science, including programming, data structures, discrete math, algorithms, formal languages, architecture, and operating systems. Unlike traditional computer science, however, the student also studies low-level circuit analysis and high-level system design, and has the option to take additional hardware-oriented courses. The result is a unique blend of computer science and computer engineering.
The Department of Computer Science also offers a Human-Centered Computing Concentration (HCC) within the BS in Computer Science program. The HCC concentration emphasizes the knowledge and skills needed to begin a professional practice in areas such as: user-interface design and development for desktop or mobile devices; computer graphics and animation for video games, movie special effects; and scientific-, engineering- and medical visualization. The concentration continues to cover in depth the fundamental areas of computer science including programming, data structures, discrete mathematics, algorithms, formal languages, computer architecture, and operating systems. In addition the concentration focuses on key topics of human-centered computing practice such as user-interface design, computer graphics, visual media, and natural language processing.
The Department of Computer Science also offers a Software Engineering Concentration within the BS in Computer Science program. The Software Engineering Concentration emphasizes the knowledge and skills needed to begin a professional practice in software engineering. The concentration continues to cover in depth the fundamental areas of computer science, including programming, data structures, discrete mathematics, algorithms, formal languages, computer architecture, and operating systems. In addition, the concentration focuses on key topics of software engineering practice such as software cost estimation, large-scale software development, and risk management.
Degree Requirements—Computer Science
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.
BS in Computer Science Degree Requirements | Hours |
Nonengineering and General Education Requirements | 61 |
Required in the College of Engineering | 38 |
Technical Electives | 15 |
Required Mathematics Courses | 9 |
Free Electives | 5 |
Total Hours—BS in Computer Science | 128 |
Nonengineering and General Education Requirements
Courses | Hours |
ENGL 160—Academic Writing I: Writing for Academic and Public Context | 3 |
ENGL 161—Academic Writing II: Writing for Inquiry and Research | 3 |
Exploring World Cultures coursea | 3 |
Understanding the Creative Arts coursea | 3 |
Understanding the Past coursea | 3 |
Understanding the Individual and Society coursea | 3 |
Understanding U.S. Society coursea | 3 |
Humanities/Social Sciences/Art Electivesb | 15 |
MATH 180—Calculus Ic | 5 |
MATH 181—Calculus IIc | 5 |
MATH 210—Calculus IIIc | 3 |
Lab Science Sequence and Science Electives Lab Science Sequence (8–10)d—See below Science Electives (2–4)e—See below |
12 |
Total Hours—Nonengineering and General Education Requirements | 61 |
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 list below are approved for the Analyzing the Natural World General Education category.
e Science electives must be selected from a list of approved courses provided by the CS department. More explanation of the science requirement is given below.
Required in the College of Engineering
Courses | Hours |
ENGR 100—Orientationa | 0a |
CS 101—Introduction to Computing | 3 |
CS 102—Introduction to Programming | 3 |
CS 201—Data Structures and Discrete Mathematics I | 4 |
CS 202—Data Structures and Discrete Mathematics II | 3 |
CS 266—Computer Architecture I: Logic and Computer Structures | 4 |
CS 301—Languages and Automata | 3 |
CS 335—Computer Ethics | 2 |
CS 340—Software Design | 4 |
CS 366—Computer Architecture II: Hardware-Software Interface | 4 |
CS 376—Practicum in Computer Science Oral Presentations | 1 |
CS 385—Operating Systems Concepts and Design | 4 |
CS 401—Computer Algorithms I | 3 |
CS 499—Professional Development Seminar | 0 |
Total Hours—Required in the College of Engineering | 38 |
a ENGR 100 is a one-semester-hour course, but the hour does not count toward the total required for graduation.
Technical Electives
Courses | Hours |
Students must complete at least fifteen hours of courses from among the following list of courses, only one of which may be outside the CS rubric: | 15 |
CS 398—Undergraduate Design/Research (3) | |
CS 411—Artificial Intelligence (3) | |
CS 415—Computer Vision I (3) | |
CS 421—Natural Language Processing (3) | |
CS 422—User Interface Design and Programming (3) | |
CS 426—Multimedia Computing (3) | |
CS 440—Software Engineering I (3) | |
CS 441—Distributed Object Programming Using Middleware (3) | |
CS 442—Software Engineering II (3) | |
CS 450—Introduction to Networking (3) | |
CS 455—Design and Implementation of Network Protocols (3) | |
CS 466—Advanced Computer Architecture (3) | |
CS 469—Computer Systems Design (3) | |
CS 473—Compiler Design (3) | |
CS 474—Object-Oriented Languages and Environments (3) | |
CS 476—Programming Language Design (3) | |
CS 480—Database Systems (4) | |
CS 485—Networked Operating Systems Programming (4) | |
CS 488—Computer Graphics I (3) | |
MCS 320—Introduction to Symbolic Computation (3) | |
MCS 425—Codes and Cryptography (3) | |
MCS 471—Numerical Analysis (3) | |
MCS 481—Computational Geometry (3) | |
STAT 471—Linear and Nonlinear Programming (3) | |
Total Hours—Technical Electives | 15 |
Required Mathematics Courses
Courses | Hours |
Nine hours from among the following list of courses, with at least one course taken from IE 342— Probability and Statistics for Engineers or STAT 381—Applied Statistical Methods: | 9 |
One of the following courses must be chosen: | |
IE 342—Probability and Statistics for Engineers (3)a OR STAT 381—Applied Statistical Methods (3) |
|
MATH 215—Introduction to Advanced Mathematics (3) |
|
MATH 220—Introduction to Differential Equations (3) | |
One of the following courses may be chosen: | |
MATH 310—Applied Linear Algebra (3) OR MATH 320—Linear Algebra I (3) |
|
MATH 430—Formal Logic I (3) | |
MATH 435—Foundations of Number Theory (3) | |
MATH 436—Number Theory for Applications (3) | |
MCS 421—Combinatorics (3) | |
MCS 423—Graph Theory (3) | |
MCS 471—Numerical Analysis(3)b | |
STAT 401—Introduction to Probability (3) | |
STAT 472—Game Theory (3) | |
Total Hours—Required Mathematics Courses | 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—Numerical Analysis as either a CS technical elective from outside the CS department or as a required mathematics course, but not both.
Lab Science Sequence and Science Electives
Every student must take one of the two-course lab sequences from Biological Sciences, Chemistry, Earth and Environmental Sciences, or Physics. In Chemistry, either the sequence CHEM 112, CHEM 114, or the sequence CHEM 116, CHEM 118 may be chosen. The choices are in the list below. Additionally, students must take a total of at least 12 semester hours, including that sequence, in the science area. 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.
Courses | Hours |
Twelve hours from among the following list of courses,a including the sequence described above: | 12 |
BIOS 100—Biology of Cells and Organisms (5) | |
BIOS 101—Biology of Populations and Communities (5) | |
CHEM 112—General Chemistry I (5) | |
CHEM 114—General Chemistry II (5) | |
CHEM 116—Honors General Chemistry I (5) | |
CHEM 118—Honors General Chemistry II (5) | |
PHYS 141—General Physics I (Mechanics) (4) | |
PHYS 142—General Physics II (Electricity and Magnetism) (4) | |
EAES 101—Global Environmental Change (4) | |
EAES 111—Earth, Energy, and the Environment (4) | |
Total Hours—Lab Science/Science Electives | 12 |
a These courses are approved for the Analyzing the Natural World General Education category
Free Electives
Courses | Hours |
Total Hours—Free Electives | 5 |
Sample Course Schedule—Computer Science
Freshman Year | |
First Semester | Hours |
MATH 180—Calculus I | 5 |
CS 101—Introduction to Computing | 3 |
ENGL 160—Academic Writing I: Writing for Academic and Public Contexts | 3 |
General Education Core course | 3 |
ENGR 100—Orientationa | 0a |
Total Hours | 14 |
a ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation. | |
Second Semester | Hours |
MATH 181—Calculus II | 5 |
Lab Science Sequence I | 4 |
ENGL 161—Academic Writing II: Writing for Inquiry and Research | 3 |
CS 102—Introduction to Programming | 3 |
Total Hours | 15 |
Sophomore Year | |
First Semester | Hours |
MATH 210—Calculus III | 3 |
Lab Science Sequence II | 4 |
CS 201—Discrete Mathematics and Data Structures I | 4 |
General Education Core course | 3 |
Free Elective | 2 |
Total Hours | 16 |
Second Semester | Hours |
CS 266—Computer Architecture I | 4 |
CS 202—Discrete Mathematics and Data Structures II | 3 |
Required Mathematics course | 3 |
Science Elective | 4 |
General Education Core course | 3 |
Total Hours | 17 |
Junior Year | |
First Semester | Hours |
CS 366—Computer Architecture II | 4 |
CS 340—Software Design | 4 |
Required Mathematics course | 3 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 17 |
Second Semester | Hours |
CS 301—Languages and Automata | 3 |
Free Elective | 3 |
CS 385—Operating Systems Concepts and Design | 4 |
Required Mathematics course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 16 |
Senior Year | |
First Semester | Hours |
CS 335—Computer Ethics | 2 |
CS 401—Computer Algorithms | 3 |
Technical Elective | 3 |
Technical Elective | 3 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 17 |
Second Semester | Hours |
Technical Elective | 3 |
Technical Elective | 3 |
Technical Elective | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Humanities/Social Sciences/Art Elective | 3 |
CS 376—Practicum in CS Oral Presentations | 1 |
CS 499—Professional Development Seminar | 0 |
Total Hours | 16 |
Degree Requirements—Computer Science
with Computer Systems Concentration
To earn a Bachelor of Science in Computer Science, Computer Systems 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.
BS in Computer Science, Computer Systems Concentration Degree Requirements | Hours |
Nonengineering and General Education Requirements | 60 |
Required in the College of Engineering | 38 |
Technical Electives | 18 |
Required Mathematics Courses | 6 |
Free Elective | 6 |
Total Hours—BS in Computer Science, Computer Systems Concentration |
128 |
Nonengineering and General Education Requirements
Courses | Hours |
ENGL 160—Academic Writing I: Writing for Academic and Public Contexts | 3 |
ENGL 161—Academic Writing II: Writing for Inquiry and Research | 3 |
Exploring World Cultures coursea | 3 |
Understanding the Creative Arts coursea | 3 |
Understanding the Past coursea | 3 |
Understanding the Individual and Society coursea | 3 |
Understanding U.S. Society Coursea | 3 |
Humanities/Social Sciences/Art Electivesb | 15 |
MATH 180—Calculus Ic | 5 |
MATH 181—Calculus IIc | 5 |
MATH 210—Calculus IIIc | 3 |
MATH 220—Introduction to Differential Equations | 3 |
PHYS 141—General Physics I (Mechanics)c | 4 |
PHYS 142—General Physics II (Electricity and Magnetism)c | 4 |
Total Hours—Nonengineering and General Education Requirements | 60 |
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.
Required in the College of Engineering
Courses | Hours |
ENGR 100—Orientationa | 0a |
CS 101—Introduction to Computing | 3 |
CS 102—Introduction to Programming | 3 |
ECE 225—Circuit Analysis | 4 |
CS 201—Data Structures and Discrete Mathematics I | 4 |
CS 202—Data Structures and Discrete Mathematics II | 3 |
CS 266—Computer Architecture I: Logic and Computer Structures | 4 |
CS 301—Languages and Automata | 3 |
CS 335—Computer Ethics | 2 |
CS 366—Computer Architecture II: Hardware-Software Interface | 4 |
CS 376—Practicum in Computer Science Oral Presentations | 1 |
CS 385—Operating Systems Concepts and Design | 4 |
CS 469—Computer Systems Design | 3 |
CS 499—Professional Development Seminar | 0 |
Total Hours—Required in the College of Engineering | 38 |
a ENGR 100 is a one-semester-hour course, but the hour does not count toward the total required for graduation.
Technical Electives
Courses |
Hours |
Eighteen hours of courses from among the following list of courses, of which at most eleven hours may be from any department outside Computer Science provided that no more than one course is from the MCS or STAT rubrics. MCS 471 may count toward either the technical elective or the mathematics requirement. |
18 |
CS 398—Undergraduate Design/Research (3) |
|
CS 401—Computer Algorithms I (3) |
|
CS 411—Artificial Intelligence (3) |
|
CS 415—Computer Vision I (3) |
|
CS 421—Natural Language Processing (3) |
|
CS 422—User Interface Design and Programming (3) |
|
CS 426—Multimedia Computing (3) |
|
CS 440—Software Engineering I (3) |
|
CS 441—Distributed Object Programming Using |
|
CS 450—Introduction to Networking (3) |
|
CS 455—Design and Implementation of Network |
|
CS 466—Advanced Computer Architecture (3) |
|
CS 473—Compiler Design (3 hours) |
|
CS 474—Object-Oriented Languages and |
|
CS 476—Programming Language Design (3) |
|
CS 480—Database Systems (4) |
|
CS 485—Networked Operating Systems |
|
CS 488—Computer Graphics I (3) |
|
ECE 340—Electronics I (4) |
|
ECE 367—Microprocessor-Based Design (4) |
|
ECE 465—Digital Systems Design (3) |
|
ECE 467—Introduction to VLSI Design (4) |
|
MCS 320—Introduction to Symbolic Computation (3) |
|
MCS 425—Codes and Cryptography (3) |
|
MCS 471—Numerical Analysis (3) |
|
MCS 481—Computational Geometry (3) |
|
STAT 471—Linear and Nonlinear Programming (3) |
|
Total Hours—Technical Electives |
18 |
Required Mathematics Courses
Courses | Hours |
Six hours from among the following list of courses, with at least one course taken from IE 342—Probability and Statistics for Engineers or STAT 381—Applied Statistical Methods | 6 |
One of the following courses must be chosen: | |
IE 342—Probability and Statistics for Engineersa (3) OR STAT 381—Applied Statistical Methods (3) |
|
MATH 215—Introduction to Advanced Mathematics (3) | |
One of the following courses may be chosen: | |
MATH 310—Applied Linear Algebra (3) OR MATH 320—Linear Algebra I (3) |
|
MATH 430—Formal Logic I (3) | |
MATH 435—Foundations of Number Theory (3) | |
MATH 436—Number Theory for Applications (3) | |
MCS 421—Combinatorics (3) | |
MCS 423—Graph Theory (3) | |
MCS 471—Numerical Analysis (3)b | |
STAT 401—Introduction to Probability (3) | |
STAT 472—Game Theory (3) | |
Total Hours—Required Mathematics Courses | 6 |
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—Numerical Analysis as either a CS technical elective from outside the CS department or as a required mathematics course, but not both.
Free Electives
Courses | Hours |
Total Hours—Free Electives | 6 |
Sample Course Schedule—Computer Science with Computer Systems Concentration
Freshman Year | |
First Semester | Hours |
MATH 180—Calculus I | 5 |
CS 101—Introduction to Computing | 3 |
ENGL 160—Academic Writing I: Writing for Academic and Public Contexts | 3 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
ENGR 100—Orientationa | 0a |
Total Hours | 17 |
a ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation. | |
Second Semester | Hours |
MATH 181—Calculus II | 5 |
ENGL 161—Academic Writing II: Writing for Inquiry and Research | 3 |
CS 102—Introduction to Programming | 3 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 17 |
Sophomore Year | |
First Semester | Hours |
MATH 210—Calculus III | 3 |
PHYS 141—General Physics I (Mechanics) | 4 |
CS 201—Discrete Mathematics and Data Structures I | 4 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 17 |
Second Semester | Hours |
MATH 220—Introduction to Differential Equations | 3 |
CS 202—Data Structures and Discrete Mathematics II | 3 |
PHYS 142—General Physics II (Electricity and Magnetism) | 4 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 16 |
Junior Year | |
First Semester | Hours |
CS 266—Computer Architecture I | 4 |
CS 301—Languages and Automata | 3 |
ECE 225—Circuit Analysis | 4 |
Required Mathematics course | 3 |
Free Elective | 3 |
Total Hours | 17 |
Second Semester | Hours |
CS 366—Computer Architecture II | 4 |
Technical Elective | 3 |
Technical Elective | 3 |
Required Mathematics course | 3 |
General Education Core course | 3 |
Total Hours | 16 |
Senior Year | |
First Semester | Hours |
CS 376—Practicum in CS Presentations | 1 |
CS 385—Operating Systems Concepts and Design | 4 |
Technical Elective | 3 |
Technical Elective | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 14 |
Second Semester | Hours |
Technical Elective | 3 |
Technical Elective | 3 |
CS 335—Computer Ethics | 2 |
CS 469—Computer Systems Design | 3 |
CS 499—Professional Development Seminar | 0 |
Free Elective | 4 |
Total Hours | 15 |
Degree
Requirements—Computer Science with Human-Centered Computing
Concentration
To earn a Bachelor of Science in Computer Science,
with an HCC Concentration, 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.
BS in Computer Science with Human-Centered Computing Concentration Degree Requirements |
Hours |
Required Outside the College of Engineering |
61 |
Required in the College of Engineering |
50 |
Technical Electives |
3 |
Required Mathematics Courses |
9 |
Free Elective |
5 |
Total Hours—BS in Computer Science with Human-Centered Computing Concentration |
128 |
Required
Outside the College of Engineering
Courses |
Hours |
ENGL 160—English Composition I |
3 |
ENGL 161—English Composition II |
3 |
General Education Core—Select one course from each of the following categories:a |
15 |
Exploring World Cultures (3) |
|
Understanding the Creative Arts (3) |
|
Understanding the Past (3) |
|
Understanding the Individual and Society (3) |
|
Understanding US Society (3) |
|
Humanities/Social Sciences/Art Electives—At least three of the selected courses must be from the following list: (Please note: In order to enroll in some of these courses, students will have to go to the respective departments to get an override on prerequisites and/or enrollment restrictions.) |
15 |
PSCH 100—Introduction to Psychology (4) |
|
PSCH 242—Introduction to Research in Psychology (3) (Mandatory prerequisite for PSCH 242 is PSCH 100). |
|
AD 100—Introduction to Responsive Arts (4) |
|
AD 452—Information Aesthetics I (4) |
|
AD 454—3D Space I: Modeling (4) |
|
AD 456—Embedded Media: Physical Computing (4) |
|
COMM 430—Media, Information, and Society (3) |
|
COMM 316—Writing for Electronic Media (3) |
|
COMM 460—Visual Communication (3) |
|
MATH 180—Calculus Ib |
5 |
MATH 181—Calculus IIb |
5 |
MATH 210—Calculus IIIb |
3 |
PHYS 141—General Physics I (Mechanics)b |
4 |
PHYS 142—General Physics II (Electricity and Magnetism)b |
4 |
Science Electives—See below |
4 |
Total Hours—Required Outside the College |
61 |
a Students should consult the General Education section of the catalog for a list of General Education Core courses in each category.
b This course is approved for the Analyzing the Natural World General Education category.
Required in the College of Engineering
Courses |
Hours |
ENGR 100—Orientationa |
0a |
CS 101—Introduction to Computing |
3 |
CS 102—Introduction to Programming |
3 |
CS 201—Data Structures and Discrete Mathematics I |
4 |
CS 202—Data Structures and Discrete Mathematics II |
3 |
CS 266—Computer Architecture I: Logic and Computer Structures |
4 |
CS 301—Languages and Automata |
3 |
CS 335—Computer Ethics |
2 |
CS 340—Software Design |
4 |
CS 366—Computer Architecture II: Hardware-Software Interface |
4 |
CS 376—Practicum in Computer Science Oral Presentations |
1 |
CS 385—Operating Systems Concepts and Design |
4 |
CS 499—Professional Development Seminar |
0 |
CS 401—Computer Algorithms I |
3 |
CS 422—User Interface Design and Programming |
3 |
At least three courses from the following list: |
9 |
CS 415—Computer Vision I (3) OR ECE 415—Image Analysis and Computer Vision I (3) |
|
CS 411—Artificial Intelligence (3) |
|
CS 421—Natural Language Processing (3) |
|
CS 424—Visualization and Visual Analytics (3) |
|
CS 426—Video Game Design and Development (3) |
|
CS 488—Computer Graphics I (3) |
|
Total Hours—Required in the College of Engineering |
50 |
a Engineering 100 carries one equivalent semester hour, but awards no credit toward graduation.
Technical Electives
Courses |
Hours |
Students must complete at least 3 hours from among the following technical elective courses. CS 411, CS 415, ECE 415, CS 421, CS 424, CS 426, and CS 488 may be used as either a selective course (above) or a technical elective but not both. |
3 |
CS 398—Undergraduate Design/Research (3) |
|
CS 411—Artificial Intelligence (3) |
|
CS 415—Computer Vision I (3) OR ECE 415—Image Analysis and Computer Vision I (3) |
|
CS 421—Natural Language Processing (3) |
|
CS 424—Visualization and Visual Analytics (3) |
|
CS 426—Video Game Design and Development (3) |
|
CS 440—Software Engineering I (3) |
|
CS 441—Distributed Object Programming using Middleware (3) |
|
CS 450—Introduction to Networking (3) |
|
CS 455—Design and Implementation of Network Protocols (3) |
|
CS 466 – Advanced Computer Architecture (3) |
|
CS 469—Computer Systems Design (3) |
|
CS 473—Compiler Design (3) |
|
CS 474—Object-Oriented Languages and Environments (3) |
|
CS 476—Programming Language Design (3) |
|
CS 480—Database Systems (4) |
|
CS 485—Networked Operating Systems Programming (4) |
|
CS 488—Computer Graphics I (3) |
|
ECE 452—Robotics: Algorithms and Control (3) |
|
MCS 320—Introduction to Symbolic Computation (3) |
|
MCS 471—Numerical Analysis (3) |
|
MCS 481—Computational Geometry (3) |
|
STAT 471—Linear and Non-Linear Programming (3) |
|
MATH 419—Models in Applied Mathematics (3) |
|
Total Hours—Technical Electives |
3 |
Required
Mathematics Courses
Courses |
Hours |
One of the following two courses must be chosen: |
3 |
IE 342—Probability and Statistics for Engineers (3)a |
|
STAT 381—Applied Statistical Methods (3) |
|
One of the following two courses must be chosen: |
3 |
MATH 310—Applied Linear Algebra (3) |
|
MATH 320—Linear Algebra I (3) |
|
MATH 220—Introduction to Differential Equations |
3 |
Total Hours—Required Mathematics Courses |
9 |
a Students who take IE 342 will not receive credit for either STAT 381 or STAT 401.
Lab Science
Sequence and Science Electives
Every student must take a total of at least 4
additional credit hours in the science area to make up a total of 12 credits.
Additional courses may be other courses on this list, courses that have PHYS
141, PHYS 142, or any of these courses as prerequisites, or other courses from a
list maintained by the Department of Computer Science of certain additional
courses in Engineering and quantitative social sciences.
Courses |
Hours |
Four total hours from among the following list of courses:a |
4 |
BIOS 100—Biology of Cells and Organisms (5) |
|
BIOS 101—Biology of Populations and Communities (5) |
|
CHEM 112—General Chemistry I (5) |
|
CHEM 114—General Chemistry II (5) |
|
CHEM 116—Honors General Chemistry I (5) |
|
CHEM 118—Honors General Chemistry II (5) |
|
EAES 101—Global Environmental Change (4) |
|
EAES 111—Earth, Energy, and the Environment (4) |
|
Total Hours – Lab Science/Engineering Science Electives |
4 |
a These courses are approved for the Analyzing the Natural World General Education category.
Free
Electives
Courses |
Hours |
Total Hours—Free Electives |
5 |
Sample Course Schedule—Computer Science with Human-Centered Computing
Concentration
Freshman Year |
|
First Semester |
Hours |
MATH 180—Calculus I |
5 |
CS 101—Introduction to Computing |
3 |
ENGL 160—English Composition I |
3 |
General Education Core courses |
6 |
ENGR 100—Orientationa |
0a |
Total Hours |
17 |
a ENGR 100 carries one equivalent hour but awards no credit towards graduation. |
|
|
|
Second Semester |
Hours |
MATH 181—Calculus II |
5 |
ENGL 161—English Composition II |
3 |
CS 102—Introduction to Programming |
3 |
Science Elective |
4 |
Total Hours |
15 |
|
|
Sophomore Year |
|
First Semester |
Hours |
MATH 210—Calculus III |
3 |
Humanities/social science/arts elective |
3 |
CS 201—Discrete Mathematics and Data Structures I |
4 |
General Education Core course |
3 |
PHYS 141—General Physics I |
4 |
Total Hours |
17 |
|
|
Second Semester |
Hours |
MATH 310—Applied Linear Algebra |
|
OR |
|
MATH 320 – Linear Algebra I |
3 |
CS 202—Discrete Mathematics and Data Structures II 3 |
|
PHYS 142—General Physics II |
4 |
General Education Core courses |
6 |
Total Hours |
16 |
|
|
Junior Year |
|
First Semester |
Hours |
CS 266—Computer Architecture I |
4 |
CS 301—Languages and Automata |
3 |
IE 342—Probability and Statistics for Engineers |
3 |
OR |
|
STAT 381—Applied Statistical Methods |
|
OR |
|
STAT 401—Introduction to Probability |
|
CS 340—Software Design |
4 |
CS 401—Computer Algorithms 1 |
3 |
Total Hours |
17 |
|
|
Second Semester |
Hours |
CS 366—Computer Architecture II |
4 |
CS 385—Operating Systems Concepts |
4 |
MATH 220—Introduction to Differential Equations |
3 |
CS 422—User-Interface Design and Programming |
3 |
Humanities/social science/arts (one of the following electives): PSCH 100, 242; AD 100, 452, 454, 456; COMM 430, 316, 460 |
3–4 |
Total Hours |
17–18 |
|
|
Senior Year |
|
First Semester |
Hours |
CS 376—Practicum in CS Presentations |
1 |
CS 488—Computer Graphics I |
3 |
CS 415—Computer Vision I |
|
OR |
|
ECE 415—Image Analysis and Computer Vision I |
3 |
Humanities/social science/arts (one of the following electives): PSCH 100, 242; AD 100, 452, 454,
456; COMM 430, 316, 460 |
3–4 |
Humanities/social science/arts elective |
3 |
Technical Elective |
3 |
Total Hours |
16–17 |
|
|
Second Semester |
Hours |
CS 335—Computer Ethics |
2 |
CS 499—Professional Development Seminar |
0 |
CS 426—Video Game Design and Development |
3 |
Humanities/social science/arts (one of the following electives): PSCH 100, 242; AD 100, 452, 454, 456; COMM 430, 316, 460 |
3–4 |
Free Elective |
5 |
Total Hours |
13–14 |
Degree Requirements—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.
BS in Computer Science with Software Engineering Concentration Degree Requirements | Hours |
Nonengineering and General Education Requirements | 61 |
Required in the College of Engineering | 47 |
Technical Electives | 9 |
Required Mathematics Courses | 6 |
Free Elective | 5 |
Total Hours—BS in Computer Science, Software Engineering Concentration |
128 |
Nonengineering and General Education Requirements
Courses | Hours |
ENGL 160—Academic Writing I: Writing for Academic and Public Contexts | 3 |
ENGL 161—Academic Writing II: Writing for Inquiry and Research |
3 |
Exploring World Cultures coursea | 3 |
Understanding the Creative Arts coursea | 3 |
Understanding the Past coursea | 3 |
Understanding the Individual and Society coursea | 3 |
Understanding U.S. Society Coursea | 3 |
Humanities/Social Sciences/Art Electivesb | 15 |
MATH 180—Calculus Ic | 5 |
MATH 181—Calculus IIc | 5 |
MATH 210—Calculus IIIc | 3 |
Lab Science Sequence and Science Electives Lab Science Sequence (8–10)d—See below Science Electives (2–4)e—See below |
12 |
Total Hours—Nonengineering and General Education Requirements | 61 |
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.
e Science electives must be selected from a list of approved courses provided by the CS department. More explanation of the science requirement is given below.
Required in the College of Engineering
Courses | Hours |
ENGR 100—Orientationa | 0a |
CS 101—Introduction to Computing | 3 |
CS 102—Introduction to Programming | 3 |
CS 201—Data Structures and Discrete Mathematics I | 4 |
CS 202—Data Structures and Discrete Mathematics II | 3 |
CS 266—Computer Architecture I: Logic and Computer Structures | 4 |
CS 301—Languages and Automata | 3 |
CS 335—Computer Ethics | 2 |
CS 340—Software Design | 4 |
CS 366—Computer Architecture II: Hardware-Software Interface | 4 |
CS 376—Practicum in Computer Science Oral Presentations | 1 |
CS 385—Operating Systems Concepts and Design | 4 |
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—Required in the College of Engineering | 47 |
a ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation.
Technical Electives
Courses | Hours |
Students must complete at least nine hours of courses from among the following list of courses, only one of which may be outside the CS rubric. Two of these courses must be taken from the following list of courses: CS 422, CS 480 and either CS 441 or CS 485 . |
9 |
CS 398—Undergraduate Design/Research (3) | |
CS 411—Artificial Intelligence (3) | |
CS 421—Natural Language Processing (3) | |
CS 422—User Interface Design and Programming (3) |
|
CS 426—Multimedia Computing (3) | |
CS 441—Distributed Object Programming Using Middleware (3) | |
CS 450—Introduction to Networking (3) | |
CS 455—Design and Implementation of Network Protocols (3) | |
CS 473—Compiler Design (3) | |
CS 474—Object-Oriented Languages and Environments (3) | |
CS 476—Programming Language Design (3) | |
CS 480—Database Systems (4) | |
CS 485—Networked Operating Systems Programming (4) | |
CS 488—Computer Graphics I (3) | |
IE 345—Regression Applications and Forecasting in Engineering (3) | |
MCS 425—Codes and Cryptography (3) | |
STAT 471—Linear and Nonlinear Programming (3) | |
Total Hours—Technical Electives | 9 |
Required Mathematics Courses
Courses | Hours |
Six hours from among the following list of courses: | 6 |
MATH 215—Introduction to Advanced Mathematics (3) |
|
MATH 220—Introduction to Differential Equations (3) |
|
One of the following courses may be chosen: | |
MATH 310—Applied Linear Algebra (3) OR MATH 320—Linear Algebra I (3) |
|
MATH 430—Formal Logic I (3) | |
MATH 435—Foundations of Number Theory (3) | |
MATH 436—Number Theory for Applications (3) | |
MCS 421—Combinatorics (3) | |
MCS 423—Graph Theory (3) | |
MCS 471—Numerical Analysis (3)a | |
STAT 473—Game Theory (3) | |
Total Hours—Required Mathematics Courses | 6 |
a Students may choose to use MCS 471—Numerical Analysis as either a CS technical elective from outside the CS department or as a required mathematics course, but not both.
Lab Science Sequence and Science Electives
Every student must take one of the two-course lab sequences from Biological Sciences, Chemistry, Earth and Environmental Sciences, or Physics. In Chemistry, either the sequence CHEM 112, CHEM 114, or the sequence CHEM 116, CHEM 118 may be chosen. The choices are in the list below. Additionally, students must take a total of at least 12 credit hours, including that sequence, in the science area. 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. Also, students preparing for the Fundamentals of Engineering Examination, which leads to becoming a Licensed Professional Engineer, are advised to take the Physics sequence of PHYS 141 and PHYS 142.
Courses | Hours |
Twelve hours from among the following list of courses, including the sequence described above. | 12 |
BIOS 100—Biology of Cells and Organisms (5) | |
BIOS 101—Biology of Populations and Communities (5) | |
CHEM 112—General Chemistry I (5) | |
CHEM 114—General Chemistry II (5) | |
CHEM 116—Honors General Chemistry I (5) | |
CHEM 118—Honors General Chemistry II (5) | |
PHYS 141—General Physics I (Mechanics) (4) | |
PHYS 142—General Physics II (Electricity and Magnetism) (4) | |
EAES 101—Global Environmental Change (4) | |
EAES 111—Earth, Energy, and the Environment (4) | |
Total Hours—Lab Science/Science Electives | 12 |
Free Electives
Students preparing for the Fundamentals of Engineering Examination, which leads to becoming a Licensed Professional Engineer, are advised to use these hours to take CME 201—Statics and one course from the following: CME 203—Strength of Materials, CME 260—Properties of Materials, and ME 211—Fluid Mechanics I.
Courses | Hours |
Total Hours—Free Electives | 5 |
Sample Course Schedule—Computer Science with Software Engineering Concentration
Freshman Year | |
First Semester | Hours |
MATH 180—Calculus I | 5 |
CS 101—Introduction to Computing | 3 |
ENGL 160—Academic Writing I: Writing for Academic and Public Contexts | 3 |
General Education Core course | 3 |
ENGR 100—Orientationa | 0a |
Total Hours | 14 |
a ENGR 100 is a one-semester-hour course, but the hour does not count toward the total hours required for graduation. | |
Second Semester | Hours |
MATH 181—Calculus II | 5 |
Lab Science Sequence I | 4 |
ENGL 161—Academic Writing II: Writing for Inquiry and Research | 3 |
CS 102—Introduction to Programming | 3 |
Total Hours | 15 |
Sophomore Year | |
First Semester | Hours |
MATH 210—Calculus III | 3 |
Lab Science Sequence II | 4 |
CS 201—Discrete Mathematics and Data Structures I | 4 |
General Education Core course | 3 |
Free Elective | 2 |
Total Hours | 16 |
Second Semester | Hours |
CS 266—Computer Architecture I | 4 |
CS 202—Discrete Mathematics and Data Structures II | 3 |
IE 342—Probability and Statistics for Engineers | 3 |
Science Elective | 4 |
General Education Core course | 3 |
Total Hours | 17 |
Junior Year | |
First Semester | Hours |
CS 366—Computer Architecture II | 4 |
CS 340—Software Design | 4 |
Required Mathematics course | 3 |
IE 201—Engineering Economy | 3 |
General Education Core course | 3 |
Total Hours | 17 |
Second Semester | Hours |
CS 301—Languages and Automata | 3 |
Free Elective | 3 |
CS 385—Operating Systems Concepts and Design | 4 |
Required Mathematics course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 16 |
Senior Year | |
First Semester | Hours |
CS 335—Computer Ethics | 2 |
CS 401—Computer Algorithms | 3 |
CS 440—Software Engineering I | 3 |
Technical Elective | 3 |
General Education Core course | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Total Hours | 17 |
Second Semester | Hours |
CS 442—Software Engineering II | 3 |
Technical Elective | 3 |
Technical Elective | 3 |
Humanities/Social Sciences/Art Elective | 3 |
Humanities/Social Sciences/Art Elective | 3 |
CS 376—Practicum in CS Oral Presentations | 1 |
CS 499—Professional Development Seminar | 0 |
Total Hours | 16 |
For the minor, 14–17 semester hours are required, excluding prerequisite courses. This minor is not available to students in very closely related fields, including Computer Systems, Computer Engineering, and Mathematical Computer Science.
Prerequisite Courses—Computer Science Minor | Hours |
MATH 180—Calculus I | 5 |
Total Hours—Prerequisites for Computer Science Minor | 5 |
Required Courses—Computer Science Minor | Hours |
CS 101—Introduction to Computinga | 3 |
CS 102—Introduction to Programminga | 3 |
CS 201—Data Structures and Discrete Mathematics I | 4 |
CS 202—Data Structures and Discrete Mathematics II | 3 |
One of the following courses: | 3–4 |
CS 301—Languages and Automata (3) | |
CS 340—Software Design (4) | |
CS 401—Computer Algorithms (3) | |
Total Hours—Required Courses for Computer Science Minor | 14–17a |
a A student may substitute CS 107 for both CS 101 and CS 102, thus reducing the number of hours for the CS Minor by 2 credit hours. This substitution was designed for students in the College of Engineering.
Minor in Information Technology
The explosive growth of the World Wide Web and its universal acceptance by society has changed the computing landscape forever. Today, the typical computer user neither knows nor needs to know very much about how a computer works in order to use it. They need to have appropriate systems in place. Those systems must work properly, be secure, and be upgraded, maintained, and replaced as appropriate. What these users need, however, is a professional who can help them access new technologies effectively and appropriately. The Information Technologist is that professional. People throughout an organization require support from Information Technology staff who understand computer systems and their software, and are committed to solving computer-related problems they might have. From Web masters to network and system administrators, information technologists are the key agents in the societal revolution that is changing us from an industrial society to a digital/information society.
For the minor, 12 semester hours are required, excluding prerequisite courses. Students who wish to minor in Information Technology (IT) must complete the following:
Prerequisite Courses—Information Technology Minor | Hours |
MATH 121—Precalculus Mathematics (for nonengineering students only) | 5 |
One of the following courses: | 3–4 |
IT 101—Java Programming for Information Technology (3) | |
CS 102—Introduction to Programming (3) | |
CS 107—Introduction to Computing and Programming (4) | |
Total Hours—Prerequisites for Information Technology Minor | 8–9 |
Required Courses—Information Technology Minor | Hours |
IT 201—Introduction to Computer Configuration and Operating Systems Software | 3 |
IT 202—Web and Multimedia Technology | 3 |
IT 301—Networks and Distributed Computing Technology | 3 |
IT 302—Database Administration and Installation | 3 |
Total Hours—Required Courses for Information Technology Minor | 12 |