Undergraduate Programs
Bachelor of Science in CS (prior to Fall 2007)

Undergraduate Curricula

A substantial revision of the undergraduate curricula became active in Fall 2012.

Undergraduate Tutoring Program

The CS department offers peer tutoring services focused on 100 and 200 level classes.

For the current list of tutors and the tutoring schedule, click here.

Tutoring sessions are held in 2250 SELE.

Undergraduate Advising

All College of Engineering undergraduate students are required to be advised before they are able to register for classes each semester. Advising hold will not be removed until you are advised. Fall and Spring advising sign-up is the 9th week of the semester. Advising appointments are held during the 10th week.

Find your advisor from the advising list and make an appointment with your advisor directly during the 9th week. It is recommended that you bring your DARS report, list of courses you are interested in and any questions you have for your appointment. Once you are advised, fill out the advising form with your advisor and submit it to the CS Student Affairs office (SEO 905). Keep your white copy for your records. Staff in the office will remove your advising hold within 1-2 business days. Questions regarding advising can be directed to the CS Student Affairs Office, SEO 905. Phone: 312-413-4950/312-996-2290 or E-mail: ugrad@cs.uic.edu.

Spring 2016 Dates:

  • Sign-up: March 14-18, 2016
  • Advising: March 21-25, 2016

Information for Prospective Students (link)

Student Graduation Objectives (link)

Material Relating to the "Old" Curricula (active Fall 2007 -- Summer 2012)

Required for the Bachelor of Science in Computer Science

(128 semester hours)

Required Outside of the College of Engineering

  • Engl 160--English Composition I (3 hrs)
  • Engl 161--English Composition II (3 hrs)
  • Math 180--Calculus I (5 hrs)
  • Math 181--Calculus II (5 hrs)
  • Math 210--Calculus III (3 hrs)
  • (Lab) Science/Engineering Electives (described below) (12 hrs)
    • Lab Science Sequence (8-10 hrs)
    • Science/Engineering Electives (2-4 hrs)
  • Humanities electives (6 hrs)
  • Social sciences electives (6 hrs)
  • Humanities/social sciences/art electives (18 hrs)

    Note: Humanities and social sciences electives must be selected from a list of approved courses provided by the College of Engineering. One of the humanities/social sciences/art or free electives must be selected to meet the Cultural Diversity requirement. Choices for the lab science elective are below. Science/engineering and arts electives must be selected from a list of approved courses provided by the CS Department. More explanation of the science requirement is given below.

  • Total: (61 hrs)

Required in the College of Engineering
  • CS 101--Introduction to Computing (3 hrs)
  • CS 102--Introduction to Programming (3 hrs)
  • CS 201--Data Structures and Discrete Mathematics I (4 hrs)
  • CS 202--Data Structures and Discrete Mathematics II (3 hrs)
  • CS 266--Computer Architecture I: Logic and Computer Structures (4 hrs)
  • CS 301--Languages and Automata (3 hrs)
  • CS 335--Computer Ethics (2 hrs)
  • CS 340--Software Design (4 hrs)
  • CS 366--Computer Architecture II: Hardware-Software Interface (4 hrs)
  • CS 376--Practicum in Computer Science Oral Presentations (1 hrs)
  • CS 385--Operating Systems Concepts and Design (4 hrs)
  • CS 401--Computer Algorithms I (3 hrs)
  • Engr 100--Orientation (0 hrs)
    Engr 100 carries one equivalent hour; does not carry credit towards graduation.
  • Total: (38 hrs)

Technical Electives
  • Students must complete at least 15 hours from among the following technical elective courses, of which at most one may be from any department outside Computer Science.

    • CS 398--Undergraduate Design/Research (3 hrs)
    • CS 411--Artificial Intelligence I (3 hrs)
    • CS 415--Computer Vision I (3 hrs)
    • CS 421--Natural Language Processing (3 hrs)
    • CS 422--User Interface Design and Programming (3 hrs)
    • CS 424--Visualization and Visual Analytics (3 hrs)
    • CS 426--Video Game Design and Development (3 hrs)
    • CS 440--Introduction to Software Engineering (3 hrs)
    • CS 450--Introduction to Networking (3 hrs)
    • CS 455--Design and Implementation of Network Protocols (3 hrs)
    • CS 466--Advanced Computer Architecture (3 hrs)
    • CS 469--Computer Systems Design (3 hrs)
    • CS 472--Testing and Verification of Real-Time Software (3 hrs)
    • CS 473--Compiler Design (3 hrs)
    • CS 474--Object-Oriented Languages and Environments (3 hrs)
    • CS 476--Programming Language Design (3 hrs)
    • CS 480--Database Systems (4 hrs)
    • CS 485--Networked Operating Systems Programming (4 hrs)
    • CS 488--Computer Graphics I (3 hrs)
    • MCS 320--Introduction to Symbolic Computation (3 hrs)
    • MCS 471--Numerical Analysis (3 hrs)
    • MCS 481--Computational Geometry (3 hrs)
    • Stat 471--Linear and Non-Linear Programming (3 hrs)
  • Total: (15 hrs)

Required Mathematics Courses

Students must complete at least 9 hours from among the following list of courses, with at least one course taken from IE 342 (Probability and Statistics for Engineers), Stat 381 (Applied Statistical Methods), or Stat 401 (Introduction to Probability).

  • One of the following three courses must be chosen: (3 hrs)
    • IE 342--Probability and Statistics for Engineers (3 hrs)
    • Stat 381--Applied Statistical Methods (3 hrs)
    • Stat 401--Introduction to Probability (3 hrs)
      Students may take both Stat 381 and Stat 401, although students who take IE 342 will not receive credit for either Stat course.
  • Math 215--Introduction to Advanced Mathematics (3 hrs)
  • Math 220--Introduction to Differential Equations (3 hrs)
  • One of the following two courses may be chosen: (3 hrs)
    • Math 310--Applied Linear Algebra (3 hrs)
    • Math 320--Linear Algebra I (3 hrs)
  • Math 430--Formal Logic I (3 hrs)
  • Math 435--Foundations of Number Theory (3 hrs)
  • Math 436--Number Theory for Applications (3 hrs)
  • MCS 421--Combinatorics (3 hrs)
  • MCS 423--Graph Theory (3 hrs)
  • MCS 471--Numerical Analysis (3 hrs)
  • Stat 473--Game Theory (3 hrs)
  • Total: (9 hrs)
Note that students may choose to use MCS 471, Numerical Analysis, as either a CS technical elective (from outside the Computer Science Department) or as a required mathematics course, but not both.

Lab Science/Engineering Science Electives

Every student must take one of the two-course lab sequences from Biological Sciences, Earth and Environmental Sciences, or Physics. (In Chemistry, either the sequence Chem 112, Chem 114, orthe 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 and engineering science area. Additional courses may be other courses on this list, courses that have any of these courses as prerequisites, or other courses from a list maintained by the Computer Science Department of certain additional courses in Engineering, and quantitative social sciences.

  • BioS 100--Biology of Cells and Organisms (5 hrs)
  • BioS 101--Biology of Populations and Communities (5 hrs)
  • Chem 112--General Chemistry I (5 hrs)
  • Chem 114--General Chemistry II (5 hrs)
  • Chem 116--Honors General Chemistry I (5 hrs)
  • Chem 118--Honors General Chemistry II (5 hrs)
  • Phys 141--General Physics I (Mechanics) (4 hrs)
  • Phys 142--General Physics II (Electricity and Magnetism (4 hrs)
  • EaES 101--Introduction to Earth and Environmental Sciences I (5 hrs)
  • EaES 102--Introduction to Earth and Environmental Sciences II (5 hrs)
  • Total: (12 hrs)

Free Electives

5 semester hours.

Typical Schedule for the Computer Science Major


Fall semester - 15 hrs

Math 180--Calculus I (5)
Humanities/social sciences/arts elective (3)
Engl 160--English Composition I (3)
CS 101--Introduction to Computing (3)
Engr 100--Orientation (1 hrs, 0 credits)
Spring semester - 15 hrs

Math 181--Calculus II (5)
Engl 161--English Composition II (3)
Lab Science Sequence I (4)
CS 102--Introduction to Programming (3)


Fall semester - 16 hrs

Math 210--Calculus III (3)
Humanities/social science/arts elective (3)
CS 201--Discrete Math/Data Structures I (4)
Lab Science Sequence II (4)
Free elective (2)
Spring semester - 17 hrs

CS 266--Computer Architecture I (4)
CS 202--Discrete Math/Data Structures II (3)
Required mathematics course (3)
Science/Engineering elective (4)
Humanities/social science/arts elective (3)


Fall semester - 17 hrs

CS 366--Computer Architecture II (4)
CS 340--Software Design (4)
Required mathematics course (3)
Humanities/social science/arts electives (6)
Spring semester - 16 hrs

CS 301--Languages and Automata (3)
CS 385--Operating Systems Concepts (4)
Required mathematics course (3)
Humanities/social science/arts elective (3)
Free elective (3)


Fall semester - 17 hrs

CS 335--Computer Ethics (2)
CS 401--Computer Algorithms (3)
Technical electives (6)
Humanities/social science/arts electives (6)
Spring semester - 16 hrs

Technical electives (9)
Humanities/social science/arts electives (6)
CS 376--Practicum in Oral Presentations (1)
Copyright 2016 The Board of Trustees
of the University of Illinois.webmaster@cs.uic.edu
Helping Women Faculty Advance
Funded by NSF