CURRICULUM IN COMPUTER SCIENCE


Department of Computer Science
2270 Digital Computer Laboratory
1304 West Springfield Avenue
Urbana, IL 61801
(217) 333-4428

For the Degree of Bachelor of Science in Computer Science

This curriculum is offered by the Department of Computer Science for students seeking 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, hardware, numerical analysis, artificial intelligence, 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.

    To qualify for registration in the computer science courses specified in the first semester of the junior year, a student must have a combined grade-point average of 2.25 (A = 4.0) in the mathematics, physics, and computer science courses that are required in the freshman and sophomore years.

    In order to graduate or continue in the computer science curriculum, a student must have a 2.0 technical grade-point average including the following courses:

All computer science courses

MATH 120, 130, and 242; or MATH 135 and 245
MATH 225 or 315
MATH 361/STAT 351 or MATH 363/STAT 310
Any mathematics courses taken to satisfy the 300-level course requirements of the curriculum
The curriculum requires 122 hours for graduation.

First year

HOURS

FIRST SEMESTER

4

CHEM 101-General Chemistry

1

C S 100-Freshman Orientation in Computer Science1

0

ENG 100-Engineering Lecture

5

MATH 120-Calculus and Analytic Geometry, I

6

Electives2

16

Total

HOURS

SECOND SEMESTER

4

CHEM 102-General Chemistry (Biological or Physical Version)

3

C S 125-Introduction to Computer Science

2

C S 173-Discrete Mathematical Structures

3

MATH 130-Calculus and Analytic Geometry, II

4

RHET 105-Principles of Composition

16

Total

Second year

HOURS

FIRST SEMESTER

1

C S 223-Software Laboratory

3

C S 273-Introduction to Theory of Computation

3

MATH 242-Calculus of Several Variables

4

PHYCS 111-General Physics (Mechanics)

5

Electives2

16

Total

HOURS

SECOND SEMESTER

4

C S 225-Data Structures and Software Principles

3

C S 231-Computer Architecture, I

2

MATH 225-Introductory Matrix Theory

4

PHYCS 112-General Physics (Electricity and Magnetism)

2

Electives2

15

Total

Third year

HOURS

FIRST SEMESTER

3

C S 232-Computer Architecture, II

3

ECE 205-Introduction to Electrical and Electronic Circuits

2

PHYCS 113-General Physics (Fluids and Thermal Physics)3

2

PHYCS 114-General Physics (Waves and Quantum Physics)3

3

Goal-directed sequence4

2

Other electives2

15

Total

HOURS

SECOND SEMESTER

3

C S 257-Numerical Methods

3

MATH 361-Introduction to Probability Theory, I

3

Goal-directed sequence4

6

Other electives2

15

Total

Fourth year

HOURS

FIRST SEMESTER

9

Computer science electives

3

Goal-directed sequence4

3

Other electives2

15

Total

HOURS

SECOND SEMESTER

9

Computer science electives

3

Goal-directed sequence4

3

Other electives2

15

Total



1. This course is highly recommended for freshmen, who may use it to help meet free elective requirements.
2. One elective course must satisfy the general education Composition II requirement. See the section on English requirements on page 41. At least 6 hours are free electives.
3. A change in this requirement was anticipated at time of publication. See your departmental adviser.
4. A sequence of courses directed toward the study of a specific problem area related to computer use. This sequence must be approved by the student's adviser.


Computer Science Electives


At least six 300-level computer science courses must be selected, according to the following three rules:

1. Three courses must be selected, one from each of the following three groups:

HOURS

SOFTWARE

3

Select from:
C S 323-Operating Systems Design or C S 321-Programming Languages and Compilers

HOURS

ARCHITECTURE

3

Select from:
C S 331-Embedded Systems Architecture or C S 333-Computer System Organization

HOURS

FOUNDATIONS

3

Select from
C S 373-Combinatorial Algorithms or C S 375-Automata, Formal Languages, and Computational Complexity

2. A fourth and fifth course must be selected from any two of the following three groups:

HOURS

NUMERICAL ANALYSIS

3

Select from:
C S 350-Numerical Analysis: A Comprehensive Introduction
C S 358-Numerical Linear Algebra
C S 359-Numerical Approximation and Ordinary Differential Equations

HOURS

HARDWARE

3

Select from:
ECE 325/C S 335-Introduction to VLSI System Design
C S 337-VLSI System and Logic Design
C S 384-Computer Data Acquisition Systems

HOURS

ARTIFICIAL INTELLIGENCE

3

C S 348-Introduction to Artificial Intelligence

3. A sixth course must be selected from any one of the six groups listed previously or from the following additional courses. This sixth course must be selected so that there are two courses in one of the six groups; i.e., the sixth course must be from one of the five groups chosen to meet requirements 1 and 2.

HOURS

SOFTWARE

3

Select from:
C S 311-Database Systems, C S 318-Computer Graphics
C S 326-Compiler Construction
C S 327-Software Engineering
C S 328-Computer Networks and Distributed Systems

HOURS

ARCHITECTURE

3

Select from:
C S 338-Communication Networks for Computers or ECE/C S 362-Logic Design

HOURS

FOUNDATIONS

3

Select from:
MATH 314-Introduction to Mathematical Logic
MATH 317-Introduction to Abstract Algebra
C S 376-Program Verification

HOURS

NUMERICAL ANALYSIS

3

Select from:
C S 355-Numerical Methods for Partial Differential Equations
C S/MATH 383-Linear Programming
MATH 285-Differential Equations and Orthogonal Functions
MATH 341-Differential Equations

HOURS

HARDWARE

3

C S 339-Computer-Aided Design for Digital Systems

HOURS

ARTIFICIAL INTELLIGENCE

3

Select from:
C S 341-Mechanized Mathematical Inference
C S 342-Computer Inference and Knowledge Acquisition
C S 346-Pattern Recognition and Machine Learning
C S 347-Knowledge-Based Programming


Mathematics Requirements

HOURS

10-11

Either:
MATH 120-Calculus and Analytic Geometry, I; MATH 130-Calculus and Analytic Geometry, II; and MATH 242-Calculus of Several Variables; or
MATH 135-Calculus, and MATH 245-Calculus, II

2-3

MATH 225-Introductory Matrix Theory, or MATH 315-Linear Transformations and Matrices

3-4

MATH 361/STAT 351-Introduction to Probability Theory, I; or MATH 363/STAT 310-Introduction to Mathematical Statistics and Probability, I

Humanities and Social Sciences Electives


Each student must satisfy the social sciences and humanities requirements of the College of Engineering. Students entering in fall 1994 and later must also satisfy the campus general education requirements for social sciences and humanities.

Free Electives


A total of 7 to 10 semester hours is designated as free electives.

Honors


For graduation with highest honors, a student must complete at least two hours of C S 290-Individual Study, C S 292-293-Senior Project, or C S 299-Senior Thesis and must obtain the favorable recommendation of the instructor(s) of that course, in addition to satisfying all other requirements of the College of Engineering.