Programs of Study Spring 2005 illinois home
 

Curriculum in Computer Science

Department of Computer Science
1210 Siebel Center
201 North Goodwin 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: 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.

The Department of Computer Science has proposed a significant revision of its curriculum. The new version is likely to apply to students who begin their matriculation on or after Fall 2005. For those students, the following should be read only as a general description of the goals of the curriculum and the courses offered; the department's website should be consulted for curriculum details.

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 Computer Science Computing Accreditation Commission of the Accreditation Board for Engineering and Technology (ABET).

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 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.

To graduate 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 220, 230, and 242 or 243; or MATH 235 and 245
  • MATH 225 or 415
  • MATH 385 or 441
  • MATH 461/STAT 451 or MATH 463/STAT 400

Furthermore, if a student's technical GPA falls below 2.0 at any time, the student will be placed on probation. The curriculum requires 128 hours for graduation.

Suggested Sequence

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 102—General Chemistry I
1 CHEM 103—General Chemistry Lab I
(1) CS 100—Freshman Orientation in CS1
0 ENG 100—Engineering Lecture
5 MATH 220—Calculus I
4-2 RHET 105—Principles of Composition or CS 173—Discrete Structures2
3 Elective in social sciences or humanities 3
16-14 Total

Hours Second Semester
4 CS 125—Intro to Computer Science
2-4 CS 173—Discrete Structures or RHET 105—Principles of Composition2
3 MATH 230—Calculus II
4 PHYS 211—Univ Physics, Mechanics
3 Elective in social sciences or humanities 3
16-18 Total

Second year

Hours First Semester
4 CS 225—Data Structure & Softw Prin
3 CS 273—Intro to Theory of Computation
3 MATH 242—Calculus of Several Variables
4 PHYS 212—Univ Physics, Elec & Mag
3 Elective
17 Total

Hours Second Semester
3 CS 231—Computer Architecture, I
2 MATH 225—Introductory Matrix Theory
3 MATH 385—Intro Differential Equations
2 PHYS 213—Univ Physics, Thermal Physics4
6 Electives
16 Total

Third year

Hours First Semester
3 CS 232—Computer Architecture II
3 CS 257—Numerical Methods
3 MATH 461—Probability Theory I
2 PHYS 214—Univ Physics, Quantum Phys4
3 Application sequence
2 CS 210—Ethical & Prof'l Issues in CS 
16 Total

Hours Second Semester
3 CS 423—Operating Systems Design
3 ECE 205—Intro Elec & Electr Circuits
1 ECE 206—Intro Elec & Electr Ckts Lab
3 Computer Science electives
3 Application sequence
3 Other electives
16 Total

Fourth year

Hours First Semester
3 CS 421—Programming Lang and Compilers
(3) CS 492—Senior Project in CS, I5
3 Computer science electives
3 Application sequence
7 Other electives
16 Total

Hours Second Semester
(3) CS 493—Senior Project in CS, II ACP or CS 494 Senior Project in CD, II 5
6 Computer science electives
3 Application sequence
6 Other electives
15 Total

1. This optional 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 as authorized. The alternative is CS 173.

3. 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.

4. Either PHYS 213 or PHYS 214 may be replaced by a physical or biological science course from an approved list available in the department.

5. This optional course, or CS 499—Senior Thesis in CS, is highly recommended for seniors, who may use either to help meet free elective requirements.



Overview of Curriculum Requirements

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

Hours Basic Mathematics, Science, and general education requirements
10–11 MATH through 242, 243, or 245—Calculus Sequence
2–3 MATH 225 or 415—Linear Algebra
3 MATH 385 or 441—Differential Equations
3–4 MATH 461/STAT 451 or MATH 463/STAT 400—Statistics and Probability
12 PHYS 211, 212, 2131, 2141—University Physics Sequence
4 CHEM 102 and 103—General Chemistry
4 RHET 105—Principles of Composition
18 Social sciences and humanities electives
0-12 Foreign language2
56–59 Subtotal

1. Either PHYS 213 or PHYS 214 may be replaced by a physical or biological science course from an approved list available in the department.

2. Completion of three years of one foreign language in high school also satisfies this requirement.

Hours Computer Science Core Requirements
(1) CS 100—Freshman Orientation in CS1 (optional)
4 CS 125—Intro to Computer Science
2 CS 173—Discrete Structures
2 CS 210—Ethical & Prof'l Issues in CS
4 CS 225—Data Structure & Softw Prin
6 CS 231 and 232—Computer Architecture I and II
3 CS 257—Numerical Methods
3 CS 273—Intro to Theory of Computation
4 ECE 205 and 206—Intro Elec & Electr Circuits and Intro Elec & Electr Ckts Lab
0 ENG 100—Engineering Lecture
28 Subtotal

1. Highly recommended for beginning freshmen.

Hours 400-level Computer Science Electives
  At least six 400-level courses in computer science, including:
6 Software: both CS 421 and CS 423
3 Architecture: either CS 431 or CS 433
3 Foundations: either CS 473 or CS 475
6 Two more CS courses numbered 411—489 or 498
18 Subtotal


Hours Senior Project or Thesis1
(0-6) CS 492 & 493 or CS 492 & 494 or 499(optional)

1. Highly recommended for seniors. 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
4-14 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 CS 397-Individual Study, CS 492/493—Senior Project, or CS 499—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 421 and CS 423
  • CS 431 or CS 433
  • CS 473 or CS 475
  • CS 411 and CS 425
  • (The courses above satisfy the 400-level computer science electives requirement given earlier.)
  • CS 427 and CS 428
  • Two more courses from a list of 400-level CS courses that can be found on the department's web page.