CURRICULUM IN COMPUTER SCIENCE


NOTE: See also the Department of Computer Science's WWW site.

NOTE: This document was generated from the 1995-1997 UIUC Programs of Study. Every effort has been made to ensure accuracy, but be advised that requirements may have changed since this book was published. Errors may have also been introduced in the conversion to a WWW document. Thus for items of importance, it might be wise to seek confrmation in the paper version or from a live human being.


Department of Computer Science
3270 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 3.25 (A = 5.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 3.0 technical grade-point average including the following courses:

All computer science courses

MATH 120, MATH 130, and MATH 242; or MATH 135 and MATH 245

MATH 225 or MATH 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
0 ENG 100--Engineering Lecture
5 MATH 120--Calculus and Analytic Geometry, I
6 Electives see footnote 1
15 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 106--General Physics (Mechanics)
5 Electives see footnote 1
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 107--General Physics (Heat, Electricty, and Magnetism)
2 Electives see footnote 1
15 Total
Third year
HOURS FIRST SEMESTER
3 C S 232--Computer Architecture, II
3 C S 281--Introduction to Computer Hardware
4 PHYCS 108--General Physics (Light, Sound, and the Structure of Matter)
3 Goal-directed sequence see footnote 2
2 Other electives see footnote 1
15 Total
HOURS SECOND SEMESTER
3 C S 257--Numerical Methods
3 MATH 361--Introduction to Probability Theory, I
3 Goal-directed sequence see footnote 2
6 Other electives see footnote 1
15 Total
Fourth year
HOURS FIRST SEMESTER
9 Computer science electives
3 Goal-directed sequence see footnote 2
3 Other electives see footnote 1
15 Total
HOURS SECOND SEMESTER
9 Computer science electives
3 Goal-directed sequence see footnote 2
3 Other electives see footnote 1
15 Total

footnote 1. One elective course must satisfy the general education Composition II requirement. See the section on the Composition I and II requirement.
footnote 2. 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.

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:

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

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.
Computer Science Electives
HOURS SOFTWARE
3 C S 323--Operating Systems Design, C S 325--Programming Language Principles
HOURS ARCHITECTURE
3 C S 331--Microprocessor Systems, C S 333--Computer System Organization
HOURS FOUNDATIONS
3 C S 373--Combinatorial Algorithms, C S 375--Automata, Formal Languages, and Computational Complexity
HOURS NUMERICAL ANALYSIS
3 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 ECE 325/C S 335--Introduction to VLSI System Design; C S 363--Integrated Circuit Logic Design, C S 384--Computer Data Acquisition Systems, C S 389--Advanced Computer Circuits
HOURS ARTIFICIAL INTELLIGENCE
3 C S 348--Introduction to Artificial Intelligence
HOURS SOFTWARE
3 C S 311--Database Systems, C S 318--Computer Graphics, C S 326--Computer Construction, C S 327--Software Engineering, C S 328--Computer Networks and Distributed Systems
HOURS ARCHITECTURE
3 C S 338--Communications Networks for Computers, ECE/C S 362--Logic Design
HOURS FOUNDATIONS
3 MATH 314--Introduction to Mathematical Logic, MATH 317--Introduction to Abstract Algebra, C S 376--Program Verification
HOURS NUMERICAL ANALYSIS
3 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 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 Choose from:
MATH 120--Calculus and Analytic Geometry, I; MATH 130--Calculus and Analytic Geometry, II; and MATH 242--Calculus of Several Variables
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 the Social Sciences

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 2 hours of C S 290--Individual Study and must obtain the favorable recommendation of the C S 290 instructor(s), in addition to satisfying all other requirements of the College of Engineering.


Go to Programs of Study - College of Engineering
Go to Programs of Study - Table of Contents
Go to University of Illinois Home Page