Undergraduate Info
Major Requirements 2007–2008
Major Degree Requirement Checklist (PDF)
Students interested in earning a Bachelor of Science (BS) in Computer Science, including transfer students, are initially admitted to the University of Arizona as pre-Computer Science (PRCS) majors. Changing to major status is competitive and requires formal application and admission to the BS program as described in the section “Admission to the Major.”
The BS program has the following components: pre-major courses (grades of A or B required for application to the major), core courses, area electives, open electives, and supporting science courses. Pre-major courses provide students with an adequate background for work in all other courses and provide the department with information needed to make decisions on applicants for admission to the major. Core courses and electives provide both depth and breadth in the computer science discipline. Supporting science courses provide knowledge of and lab experience in other sciences.
All majors must complete the pre-major courses, the core courses, three area
electives, and at least two open electives. We believe this provides a solid
foundation in computer science while allowing some flexibility to accommodate
students' special interests.
Beyond the four to eight units of computer science listed for the pre-major,
the remaining major requirements comprise 34-35 units divided as follows:
Major Core (required courses) 17-18 units |
|||
| Math 129 | Calculus II or Math 215, Linear Algebra |
3 |
Fall/Spring |
| C SC 245 | Introduction to Discrete Structures | 4 | Fall/Spring |
| C SC 252 | Computer Organization | 3 | Fall/Spring |
| C SC 335 | Object-Oriented Programming and Design | 4 | Fall/Spring |
| C SC 345 | Analysis of Discrete Structures | 4 | Fall/Spring |
| *C SC 352 | Systems Programming and Unix | 3 | Fall/Spring |
|
*Please note that C SC 352, C SC 372, and all 400 level C SC courses cannot be taken by students in pre-computer science status. |
|||
Area Elective: Paradigms
|
|||
| **C SC 372 | Comparative Programming Languages | 3 | Fall |
| C SC 422 | Intro to Parallel & Distributed Programming | 3 | Spring |
| C SC 460 | Database Design | 3 | Fall |
Area Elective: Theory & Writing Emphasis
|
|||
| C SC 437 | Geometric Algorithms | 3 | varies |
| C SC 445 | Algorithms | 3 | Spring |
| C SC 473 | Automata, Grammars and Languages | 3 | Fall |
Area Elective: Systems
|
|||
| C SC 452 | Principles of Operating Systems | 4 | Spring |
| C SC 453 | Compilers and Systems Software | 4 | Fall |
Open Electives
|
|||
| Any C SC 400-level course listed above and not previously taken. | |||
| C SC 425 | Computer Networking | 3 | Spring |
| C SC 433 | Computer Graphics | 3 | Fall |
| C SC 436 | Software Engineering | 3 | varies |
| C SC 477 | Introduction to Computer Vision | 3 | Spring |
| ECE 369 | Fundamentals of Computer Architecture | 3 | Fall/Spring |
| C SC 400-level cross-listed courses from other departments, see the catalog for more information. | |||
Please check catalog course description for course prerequisites and other requirements at http://catalog.arizona.edu/allcats.html
NOTE: All C SC 490 house-numbered courses (such as 492, 493, 498H, 499) are excluded as Computer Science open electives; however, they do count toward upper-division credits and total units. In addition, students planning on graduate study in computer science are strongly advised to take both C SC 452 and C SC 453 for systems background and two of the theory courses for theory background. The additional course in each area will count as open electives.
Major Requirement-Previous Years