University of Illinois at Urbana-Champaign
2001-2003 Programs of Study Timetables
Course Catalog
contents undergraduate graduate professional search

< College of Engineering

Curriculum in Computer Science

Department of Computer Science
2270 Digital Computer Laboratory
1304 West Springfield Avenue
Urbana, IL 61801
(217) 333-4428
URL: http://www.cs.uiuc.edu

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, 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 an "application sequence," which consists of a sequence of courses in an area of the student's interest outside computer science to which computers may be applied.

Educational Objectives and Outcomes

The Department of Computer Science strives to provide students with a broad knowledge of the fundamentals of computers and computation and a deep knowledge of software systems construction. We feel that students should also gain a grounding in some area of application of computers, and a sense of the responsibilities and ethical demands of the computing professions. Considerable importance is placed on keeping up-to-date both our courses and our lab equipment. A faculty consisting of top researchers ensures that courses are at once intellectually challenging, timely, and authoritative.

Given these objectives, the department has adopted a set of educational outcomes that we expect each student to have achieved by the time of graduation. Above all, students should leave our program with the fundamental knowledge and study skills that will enable them to be lifelong learners: in a field of constant growth and change, this is essential. We expect graduates to be able to think clearly and precisely about computational problems and to be able to apply their knowledge of mathematics, computer engineering, software engineering, and application areas to the solution of these problems. Students should learn how to work productively in a team environment, and should possess excellent written and oral communication skills. Finally, they should gain a general knowledge of contemporary issues in our society and should understand the role of the computer professional and the importance of professional integrity and ethics. We continually monitor our success in achieving these desired educational outcomes through various methods and seek ways to improve our educational programs

We believe that these objectives and outcomes are consistent with the requirements of the Criterion 2000 of the Computer Science Accreditation Board (CSAB).

Review of Academic Progress

Each student's progress is reviewed after the student completes 30 hours of technical (MATH, CS, ECE) courses; this will normally be at the end of the sophomore year, as shown in the schedule below. At that time, the student must have a combined grade point average in those courses of 2.25 (A=4.0) to qualify for registration in CS classes in the following semester. A student who does not qualify may transfer to another department or seek a waiver of the requirement from the Director of Undergraduate Programs in CS.

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

ECE 205, 206

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

MATH 225 or 315

MATH 285 or 341

MATH 361/STAT 351 or MATH 363/STAT 310

The curriculum requires 128 hours for graduation.

Typical Schedule

Differing backgrounds and interests preclude the construction of a single schedule that will fit all students. The following is a typical schedule for a student entering the CS department as a freshman with no AP credit.

First year

HOURS     FIRST SEMESTER
3     CHEM 101-General Chemistry
1     CHEM 105-General Chemistry Laboratory
1     C S 100-Freshman Orientation in Computer Science1
0     ENG 100-Engineering Lecture
5     MATH 120-Calculus and Analytic Geometry, I
4     RHET 105-Principles of Composition2
3     Electives
17     Total
HOURS     SECOND SEMESTER
4     C S 125-Introduction to Computer Science
2     C S 173-Discrete Mathematical Structures
3     MATH 130-Calculus and Analytic Geometry, II
4     PHYCS 111-General Physics (Mechanics)
3     Electives
16     Total

Second year

HOURS     FIRST SEMESTER
4     C S 225-Data Structures and Software Principles
3     C S 273-Introduction to Theory of Computation
3     MATH 242-Calculus of Several Variables
4     PHYCS 112-General Physics (Electricity and Magnetism)
2     Electives
16     Total
HOURS     SECOND SEMESTER
3     C S 231-Computer Architecture, I
2     MATH 225-Introductory Matrix Theory
3     MATH 285-Differential Equations and Orthogonal Functions
2     PHYCS 113-General Physics (Fluids and Thermal Physics)3
6     Electives
16     Total

Third year

HOURS     FIRST SEMESTER
3     C S 232-Computer Architecture, II
3     C S 257-Numerical Methods
3     MATH 361-Introduction to Probability Theory, I
2     PHYCS 114-General Physics (Waves and Quantum Physics)3
3     Application sequence
2     Other electives
16     Total
HOURS     SECOND SEMESTER
3     C S 323-Operating System Design
3     ECE 205-Introduction to Electric and Electronic Circuits
1     ECE 206-Introduction to Electric and Electronic Circuits Laboratory
3     Computer Science electives
3     Application sequence
3     Other electives
16     Total

Fourth year

HOURS     FIRST SEMESTER
3     C S 321-Programming Languages and Compilers
3     C S 292-Senior Project in Computer Science, I4
3     Computer science electives
3     Application sequence
4     Other electives
16     Total
HOURS     SECOND SEMESTER
3     C S 293-Senior Project in Computer Science, II4
6     Computer science electives
3     Application sequence
4     Other electives
16     Total

1. This course is highly recommended for freshmen, who may use it to help meet free elective requirements.

2. RHET 105 may be taken in the first or second semester of the first year.

3. Either PHYCS 113 or PHYCS 114 may be replaced by a physical or biological science course from an approved list available in the department.

4. Or C S 299-Senior Thesis, or free elective.

Overview of Curriculum Requirements

The curriculum requires 128 hours for graduation and is organized as follows:

Hours     Basic Mathematics and Science Requirements
10­11     MATH through 242, 243, or 245-Calculus and Analytic Geometry. Choice of math sequence depends on placement test results.
2­3     MATH 225 or 315-Linear Algebra
3     MATH 285 or 341-Differential Equations
3­4     MATH 361/STAT 351 or MATH 363/STAT 310-Probability or Statistics

12     PHYCS 111, 112, 1131, 1141
4     CHEM 101 and 105
4     RHET 105-Principles of Composition
18     Social sciences and humanities electives
56­59     Subtotal

1. Either PHYCS 113 or PHYCS 114 may be replaced by a physical or biological science course from an approved list available in the department.

Hours     Computer Science Core Requirements
1     C S 100-Freshman Seminar in Computer Science1
4     C S 125-Introduction to Computer Science
2     C S 173-Discrete Mathematical Structures
4     CS 225-Data Structures and Software Principles
6     C S 231 and 232-Computer Architecture I and II
3     C S 257-Numerical Methods
3     CS 273-Introduction to Theory of Computation
4     ECE 205 and 206-Introduction to Electric and Electronic Circuits and Laboratory
27     Subtotal

1. Recommended for beginning freshmen.

Hours     300-level Computer Science Electives
At least six 300-level courses in computer science, including:

6     Software          Both C S 321 and C S 323
3     Architecture     Either C S 331 or C S 333
3     Foundations     Either C S 373 or C S 375
6     Two more C S courses numbered 311­389 or 397
18     Subtotal
Hours     Senior Project or Thesis
0­6     C S 292-293 or 299 (optional)

Note: fulfills the General Education Advanced Composition requirement. If not taken, another course from the campus General Education Advanced Composition list must be taken to satisfy the requirement.

Hours     Application Sequence:
12     A sequence of courses directed toward study of a specific 
       problem area related to computer use. This sequence must be 
       taken from the list approved by the department. Alternatively, 
       a special sequence may be taken, provided it is approved by the 
       director of undergraduate programs of the department.
Hours     Free Electives
6­16     Additional course work so that there are at least 128 credit hours.

Honors

For graduation with highest honors, a student must complete at least 2 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 those instructor(s), in addition to all other requirements of the College of Engineering.

Software Engineering Specialization

For students interested in a career in software engineering, this 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 complete this specialization, the following courses must be taken with an overall B average:

     CS 321 and CS 323
     CS 331 or CS 333
     CS 373 or CS 375
     CS 311 and CS 328
     The courses above satisfy the 300-level computer science electives rquirement given earlier.
     CS 327 and CS 329

Two more courses from a list of 300-level CS courses that can be found on the department's Web page.

 

< College of Engineering