Course Information Suite

Computer Science

Interim Head of Department: Michael T. Heath
Department Office: 2232 Siebel Center, 201 N. Goodwin Avenue, Urbana, (217) 333-3373

Curriculum in Computer Science

For the Degree of Bachelor of Science in Computer Science

The computer science curriculum provides a broad and deep knowledge of the theory, design, and application of digital computers and information processing techniques. The first two years are spent on basic work in mathematics, physics, and an introduction to the fundamental areas of computer science: computing, programming, the organization of digital machines, numerical analysis, and theory of computation. The third year completes the work in basic computer science and requires electives to broaden the background of the student. During the fourth year, the student is encouraged to deepen his or her understanding of topics of particular interest and ability. In addition, each student is required to complete either a senior thesis or a senior project.

A combined B.S.-M.S. Computer Science degree program is available. Its admission and course requirements are described in the College of Engineering program information section.

Overview of Curricular Requirements

The curriculum requires 128 hours for graduation and is organized as shown below.

A technical grade point average requirement for graduation applies to students in this curriculum.  This rule is summarized at the College of Engineering's undergraduate advising Web site.

Orientation and Professional Development

These courses introduce the opportunities and resources your college, department, and curriculum can offer you as you work to achieve your career goals. They also provide the skills to work effectively and successfully in the engineering profession.

Hours Requirements
(1) CS 100—Freshman Orientation in CS1,2
2 CS 210—Ethical & Professional Issues
0 ENG 100—Engineering Orientation2
2 Total

1. This optional course is highly recommended and may be used to help meet free elective requirements.
2. External transfer students take ENG 300 - Engrg Transfer Orientation instead.

Foundational Mathematics and Science

These courses stress the basic mathematical and scientific principles upon which the engineering discipline is based.

Hours Requirements
3 CHEM 102 - General Chemistry I
1 CHEM 103 - General Chemistry Lab I
4 MATH 221 - Calculus I1
3 MATH 231 - Calculus II
4 MATH 241 - Calculus III
3 MATH 415 - Applied Linear Algebra
4 PHYS 211 - University Physics: Mechanics
4 PHYS 212 - University Physics: Elec & Mag
2 PHYS 213 - Univ Physics: Thermal Physics or
PHYS 214 - Univ Physics: Quantum Physics
28 Total

1. MATH 220 - Calculus may be substituted, with four of the five credit hours applying toward the degree. MATH 220 is appropriate for students with no background in calculus.

Computer Science Technical Core

These courses stress fundamental concepts and basic laboratory techniques that comprise the common intellectual understanding of computer science.

Hours Requirements
4 CS 125 - Intro to Computer Science
3 CS 173 - Discrete Structures
4 CS 225 - Data Structures
3 CS 231 - Computer Architecture I
3 CS 232 - Computer Architecture II
4 CS 241 - Systems Programming
3 CS 242 - Programming Studio
3 CS 373 - Intro to Theory of Computation
3 MATH 461 - Probability Theory or
STAT 400 - Statistics and Probability I1
30 Total

1. The extra hour of credit for this course may be used to help meet free elective requirements.

Technical Track Option Electives

These courses stress the rigorous analysis and design principles practiced in several major subdisciplines of computer science. Students must choose to specialize in one of the following technical tracks:

In the Computer Science track, a specialization must be chosen: Artificial Intelligence, Databases, Graphics, Human-Computer Interaction, Languages, Networking, Security, or Systems. In the Computational Science and Engineering track, a scientific specialization must be selected from a departmentally approved list. Since specializations are subject to change, please consult the department Web site for the most current information.

Hours Requirements
24-27 Technical track electives to be chosen from departmentally approved lists for the Technical Track Option choices presented above.

Social Sciences and Humanities

The social sciences and humanities courses, as approved by the College of Engineering, ensure that students have exposure in breadth and depth to areas of intellectual activity that are essential to the general education of any college graduate.

Hours Requirements
18 Electives in social sciences and humanities approved by the College of Engineering and satisfying the campus general education requirements for social sciences and humanities, including cultural studies western and non-western.

Composition

These courses teach fundamentals of expository writing.

Hours Requirements
4 RHET 105 - Principles of Composition
  Advanced Composition. May be satisfied by completing either the sequence CS 427 and CS 429 or the sequence CS 492 and CS 493 in the Computer Science CS Technical Track; or by completing a course with the Advanced Composition designation in either the social sciences and humanities or the free elective categories.
4 Total

Free Electives

These unrestricted electives give the student the opportunity to explore any intellectual area of unique interest. This freedom plays a critical role in helping students to define research specialties or to complete minors.

Hours Requirements
19-22 Free electives. Additional unrestricted course work so that there are at least 128 credit hours earned toward the degree. (19 if a 27 credit-hour Technical Track is chosen; 22 if a 24 credit-hour Technical Track is chosen.)

Software Engineering Certificate

For students interested in a career in software engineering, this certificate program will provide the depth and breadth necessary for satisfying possible future software engineering accreditation requirements. It is open to all students in the computer science curriculum. To successfully earn this certificate and designation as a concentration on the transcript, the following courses must be taken with an overall B average:

Hours Requirements
3 CS 411 - Database Systems
3 CS 421* - Progrmg Languages & Compilers
3 CS 423* - Operating Systems Design
3 CS 425 - Distributed Systems
3 CS 427* - Software Engineering I
3 CS 428* - Software Engineering II or
CS 429* - Software Engineering II, ACP
3 CS 431* - Embedded Systems or
CS 433* - Computer System Organization
  Three additional 400-level CS courses from a departmentally approved list

* These courses satisfy the Computer Science Track - Systems specialization.

Suggested Sequence

The schedule that follows is illustrative, showing the typical sequence in which courses would be taken by a student with no college course credit already earned and who intends to graduate in four years.  Each individual's case may vary, but the position of required named courses is generally indicative of the order in which they should be taken.

First year

Hours First Semester
3 CHEM 102 - General Chemistry I
1 CHEM 103 - General Chemistry Lab I
(1) CS 100 - Freshman Orientation in CS1
4 CS 125 - Intro to Computer Science2
0 ENG 100 - Engineering Orientation
4 MATH 221 - Calculus I3
4-3 RHET 105 - Principles of Composition4 or
Elective in social sciences or humanities5
15-16 Total

Hours Second Semester
3 CS 173 - Discrete Structures2
3 MATH 231 - Calculus II
4 PHYS 211 - University Physics: Mechanics
3-4 Elective in social sciences or humanities5 or
RHET 105 - Principles of Composition4
3 Elective in social sciences or humanities5
16-17 Total

Second year

Hours First Semester
4 CS 225 - Data Structures
3 CS 231 - Computer Architecture I
4 MATH 241 - Calculus III
4 PHYS 212 - University Physics: Elec & Mag
3 Elective in social sciences or humanities5
18 Total

Hours Second Semester
3 CS 232 - Computer Architecture II
4 CS 241 - Systems Programming
3 MATH 415 - Applied Linear Algebra
2 PHYS 213 - Univ Physics: Thermal Physics or
PHYS 214 - Univ Physics: Quantum Physics
6 Electives in social sciences or humanities5
18 Total

Third year

Hours First Semester
2 CS 210 - Ethical & Professional Issues  
3 CS 242 - Programming Studio
3 CS 373 - Theory of Computation
3 Elective in social sciences or humanities5
4 Free elective
15 Total

Hours Second Semester
3 MATH 461 - Probability Theory
9 Technical track electives6
3 Free elective
15 Total

Fourth year

Hours First Semester
9 Technical track electives6
6 Free electives
15 Total

Hours Second Semester
6 Technical track electives6
3 Technical track elective6 or free elective
6 Free electives
15 Total

1. This optional course is highly recommended for freshmen, who may use it to help meet free elective requirements.
2. Normally, CS entering freshmen should take CS 125 their first semester and CS 173 their second semester. Students placing out of CS 125 should take CS 173 their first semester.
3. MATH 220—Calculus may be substituted, with four of the five credit hours applying toward the degree. MATH 220 is appropriate for students with no background in calculus.
4. RHET 105 should be taken in the first or second semester of the first year as authorized. The alternative is a social sciences or humanities elective.
5. Each student must satisfy the 18-hour social sciences and humanities requirements of the College of Engineering and the campus general education requirements for social sciences and humanities.
6. To be chosen from departmentally approved lists for the Technical Track Option choices.