The Bachelor of Science in Computer Science

Total Course Requirements for the Bachelor's Degree: 128 units

See "Requirements for the Bachelor's Degree" in the University Catalog for complete details on general degree requirements. A minimum of 40 units, including those required for the major, must be upper division.

A suggested Major Academic Plan (MAP) has been prepared to help students meet all graduation requirements within four years. Please request a plan from your major advisor or view it and other current advising information on the CSU, Chico Web.

General Education Requirements: 48 units

See "General Education Requirements" in the University Catalog and the Class Schedule for the most current information on General Education Requirements and course offerings. The course requirements marked below with an asterisk (*) may also be applied toward General Education.

Computer Science and Computer Information Systems

HIST 130 may be used to fulfill any one of the Breadth Area C1, C2, or C3 requirements and POLS 155 may be used to fulfill any one of the Breadth Area D1, D2, or D3 requirements.

For all Computer Science Options except Math Science: Of the three courses you must select to complete the 9-unit Upper-Division Thematic requirement, one must be science-oriented. That course must be approved in advance by your advisor in order to meet requirements of the Computing Accreditation Commission of ABET.

For Math Science Option: Upper-division theme modification has been approved for this option. See the General Education chapter in the University Catalog for specifics on how to apply this modification.

Cultural Diversity Course Requirements: 6 units

See "Cultural Diversity" in the University Catalog. Most courses taken to satisfy these requirements may also apply to General Education.

American Institutions Requirement: 6 units

See the "American Institutions Requirement" under "Bachelor's Degree Requirements." For this major, this requirement is normally fulfilled by completing HIST 130 and POLS 155. For this major, HIST 130 may also be applied to General Education Breadth Area C1, C2, or C3, and POLS 155 may also be applied to General Education Breadth Area D1, D2, or D3.

Literacy Requirement:

See "Mathematics and Writing Requirements" in the University Catalog. Writing proficiency in the major is a graduation requirement and may be demonstrated through satisfactory completion of a course in your major which has been designated as the Writing Proficiency (WP) course for the semester in which you take the course. Students who earn below a C- are required to repeat the course and earn a C- or better to receive WP credit. See the Class Schedule for the designated WP courses for each semester. You must pass ENGL 130 (or its equivalent) with a C- or better before you may register for a WP course.

Course Requirements for the Major: 75-89 units

The following courses, or their approved transfer equivalents, are required of all candidates for this degree. Additional required courses, depending upon the selected option or advising pattern, are outlined following the degree core program requirements.

Major Core Program: 53 units

Lower-Division Core: 25 units

7 courses required:

CSCI 111 Programming and Algorithms I 3.0 FS
Prerequisites: At least one year of high school algebra and strong computer skills or CSCI 101.
CSCI 112 Programming & Algorithms II 3.0 FS
Prerequisites: Grade of C- or better in CSCI 111 (or EECE 135 for engineering majors).
CSCI 221 Assembly Language Programming 3.0 FS
Prerequisites: CSCI 111.
MATH 120 Analytic Geometry and Calculus 4.0 FS *
Prerequisites: Completion of ELM requirement; both MATH 118 and MATH 119 (or high school equivalent); a score that meets department guidelines on a department administered calculus readiness exam.
MATH 121 Analytic Geometry and Calculus 4.0 FS
Prerequisites: MATH 120.
PHYS 204A Mechanics 4.0 FS *
Prerequisites: High school physics or faculty permission. Concurrent enrollment in or prior completion of MATH 121 (second semester of calculus) or equivalent.
PHYS 204B Electricity and Magnetism 4.0 FS
Prerequisites: MATH 121, PHYS 204A with a grade of C- or higher.

Upper-Division Core: 28 units

10 courses required:

CSCI 301 Computer's Impact on Society 3.0 FS *
Prerequisites: Junior standing.
CSCI 305 Proj Requiremts/Design/Test 3.0 FS
Prerequisites: ENGL 130; CSCI 112 or EECE 221.

This course is also offered as EECE 335.

CSCI 311 Algorithms and Data Structures 3.0 FS
Prerequisites: Grade of C- or better in CSCI 112.
CSCI 315 Programming Languages 3.0 FS
Prerequisites: CSCI 112.
CSCI 320 Computer Architecture 3.0 FS
Prerequisites: CSCI 221.
CSCI 330 Software Engineering 3.0 FS WP
Prerequisites: CSCI 311, ENGL 130 (or its equivalent) with a grade of C- or higher.
CSCI 340 Operating Systems Programming 3.0 FS
Prerequisites: CSCI 311, CSCI 320.
CSCI 490 Directed Programming Exp 1.0 -3.0 FS
Prerequisites: CSCI 311, faculty permission.

Note: One unit of CSCI 490 is required

CSCI 550 Theory of Computing 3.0 FS
Prerequisites: MATH 317.
MATH 317 Discrete Math Structures 3.0 FA
Prerequisites: MATH 120.

Major Option Course Requirements: 22-36 units

The following courses, or their approved transfer equivalents, are required dependent upon the option chosen. Students must select one of the following options for completion of the major course requirements.

The Option in General Computer Science: 22 units

1 course selected from:

One upper-division General Education Natural Sciences Thematic course approved in advance by your CSCI advisor. See General Education requirements.

2 courses required:

CSCI 515 Compiler Design 3.0 FS
Prerequisites: CSCI 112.
MATH 314 Prob & Stat for Science & Tech 4.0 SP
Prerequisites: MATH 121.

1 course selected from:

CSCI 470 Database Management 3.0 FS
Prerequisites: CSCI 112.
CSCI 547 Computer Networks 3.0 FS
Prerequisites: CSCI 340.
CSCI 566 Computer Graphics Programming 3.0 FA
Prerequisites: CSCI 311.
CSCI 567 Graphical User Interface Impl 3.0 SP
Prerequisites: CSCI 311.
CSCI 580 Artificial Intelligence 3.0 FA
Prerequisites: Grade of C- or better in CSCI 311.
CSCI 583 Expert Systems & Applications 3.0 SP
Prerequisites: CSCI 112.

9 units selected from:

Any upper-division Computer Science (CSCI) courses (minimum of two courses6 units at the 400 or 500 level) except CSCI 399, CSCI 490, CSCI 499, and CSCI 599.

The Option in Math/Science: 36 units

6 courses required:

CHEM 111 General Chemistry 4.0 FS *
Prerequisites: Second-year high school algebra; one year high school chemistry. (One year of high school physics and one year of high school mathematics past Algebra II are recommended.)
MATH 220 Analytic Geometry and Calculus 4.0 FS
Prerequisites: MATH 121.
MATH 260 Elem Differential Equations 4.0 FS
Prerequisites: MATH 121.
MATH 335 Elementary Linear Algebra 3.0 FS
Prerequisites: MATH 121.
MATH 350 Intro to Probability/Stat 3.0 FA
Prerequisites: MATH 121.
PHYS 204C Heat/Wave Motion/Sound/Light 4.0 FS
Prerequisites: MATH 121, PHYS 204A with a grade of C- or higher.

1 course selected from:

CSCI 351 Numerical Methods Programming 3.0 Inq
Prerequisites: CSCI 112 or EECE 135; MATH 220.
MATH 460 Numerical Analysis 3.0 S2
Prerequisites: MATH 220, MATH 335, completion of the computer literacy requirement.

1 course selected from:

CSCI 470 Database Management 3.0 FS
Prerequisites: CSCI 112.
CSCI 547 Computer Networks 3.0 FS
Prerequisites: CSCI 340.
CSCI 566 Computer Graphics Programming 3.0 FA
Prerequisites: CSCI 311.
CSCI 567 Graphical User Interface Impl 3.0 SP
Prerequisites: CSCI 311.
CSCI 580 Artificial Intelligence 3.0 FA
Prerequisites: Grade of C- or better in CSCI 311.
CSCI 583 Expert Systems & Applications 3.0 SP
Prerequisites: CSCI 112.

8 units selected from:

Any upper-division Computer Science (CSCI) course except CSCI 399, CSCI 490, CSCI 499, and CSCI 599.

The Option in Systems: 22 units

1 course selected from:

One upper-division General Education Natural Sciences Thematic course approved in advance by your CSCI advisor. See General Education requirements.

6 courses required:

CSCI 448 Survey of Computer Security 3.0 FA
Prerequisites: Any upper-division computer networks course or permission of instructor.
CSCI 515 Compiler Design 3.0 FS
Prerequisites: CSCI 112.
CSCI 540 Multi-User Operating Systems 3.0 FA
Prerequisites: CSCI 340 or permission of instructor.
CSCI 542 Systems Design 3.0 FA
Prerequisites: CSCI 330.
CSCI 547 Computer Networks 3.0 FS
Prerequisites: CSCI 340.
MATH 314 Prob & Stat for Science & Tech 4.0 SP
Prerequisites: MATH 121.

The Option in Computer Graphics Programming: 27-28 units

1 course selected from:

One upper-division General Education Natural Sciences Thematic course approved in advance by your CSCI advisor. See General Education requirements.

5 courses required:

APCG 110 Computer-Assisted Art I 3.0 FS *
APCG 330 3-D Computer Modeling 3.0 FS
Prerequisites: APCG 110 or previous computer graphics experience.
APCG 340 Computer Animation 3.0 FS
Prerequisites: APCG 110 and APCG 330 or permission of instructor.
CSCI 566 Computer Graphics Programming 3.0 FA
Prerequisites: CSCI 311.
MATH 314 Prob & Stat for Science & Tech 4.0 SP
Prerequisites: MATH 121.

2 courses selected from:

APCG 360 Web Page Design 3.0 FA
Prerequisites: CSCI 111.
APCG 445 Advanced Animation Production 3.0 FA
Prerequisites: APCG 330, APCG 340.
CSCI 465 Web Programming Fundamentals 3.0 SP
Prerequisites: CSCI 311.
CSCI 467 Graphical User Interface Des 3.0 FA
Prerequisites: CSCI 311.
CSCI 567 Graphical User Interface Impl 3.0 SP
Prerequisites: CSCI 311.

1 course selected from:

ARTS 122 Color Theory 3.0 FS
ARTS 240 Intro to Fine Art Photography 3.0 FS
CDES 131 Visual Communication Concepts 2.0 FS
CDES 206 Intro Photo Com & Dig Imaging 3.0 FS

Electives Requirement:

To complete the total units required for the bachelor's degree, select additional elective courses from the total University offerings. You should consult with an advisor regarding the selection of courses which will provide breadth to your University experience and possibly apply to a supportive second major or minor.

Additional Computer Science Graduation Requirement:

Graduating seniors must complete an exit exam as a requirement for graduation. Passing the exam is not required for the degree; the scores will be used for program assessment. Consult the department office for examination details.

Grading Requirement:

All courses taken to fulfill major course requirements must be taken for a letter grade except those courses specified by the department as Credit/No Credit grading only.

A grade of C- or better is required in all computer science courses required for the major.

Advising Requirement:

Advising is mandatory for all majors in this degree program. Consult your undergraduate advisor for specific information.

Honors in the Major

Honors in the Major is a program of independent work in your major. It involves 6 units of honors course work completed over two semesters.

The Honors in the Major program allows you to work closely with a faculty mentor in your area of interest on an original performance or research project. This year-long collaboration allows you to work in your field at a professional level and culminates in a public presentation of your work. Students sometimes take their projects beyond the University for submission in professional journals, presentation at conferences, or competition in shows. Such experience is valuable for graduate school and later professional life. Your honors work will be recognized at your graduation, on your permanent transcripts, and on your diploma. It is often accompanied by letters of commendation from your mentor in the department or the department chair.

Some common features of Honors in the Major program are

1. You must take 6 units of Honors in the Major course work. At least 3 of these units are independent study (399H, 499H) as specified by your department. You must complete each class with a minimum grade of B.

2. You must have completed 9 units of upper-division course work or 21 overall units in your major before you can be admitted to Honors in the Major. Check the requirements for your major carefully, as there may be specific courses that must be included in these units.

3. Your cumulative GPA should be at least 3.5 or within the top 5% of majors in your department.

4. Your GPA in your major should be at least 3.5 or within the top 5% of majors in your department.

5. Most students apply for or are invited to participate in Honors in the Major during the second semester of their junior year. Then they complete the 6 units of course work over the two semesters of their senior year.

6. Your honors work culminates with a public presentation of your honors project.

While Honors in the Major is part of the Honors Program, each department administers its own program. Please contact your major department or major advisor to apply.

Honors in Computer Science

In addition to the common requirements for the Honors in the Major program given above, the Honors in Computer Science program includes the following: 1. You must be recommended by a faculty member. 2. Students who are admitted to the department's Honors in the Major program must complete 3 units of CSCI 465H, CSCI 470H, CSCI 515H, CSCI 520H, CSCI 540H, CSCI 547H, CSCI 550H, CSCI 566H, CSCI 567H, CSCI 580H, or CSCI 583H, with a minimum grade of B. Unless other arrangements are made, the professor instructing the course you take becomes your faculty mentor. It is during this time that you must define a research problem or performance area and develop an Honors Research Project/Thesis proposal in preparation for work in CSCI 499H. You must also maintain a minimum GPA of 3.0 in your senior year. (Note: For the BS in Computer Information Systems, the Honors choices are CSCI 465H, CSCI 470H, CSCI 511H, CSCI 540H, CSCI 546H, CSCI 547H, or CSCI 570H. For the BS in Applied Computer Graphics, the Honors choices are APCG 445H, CSCI 465H, CSCI 566H, or CSCI 567H.) 3. Each Honors in the Major class requires completion of the course plus an additional Honors project and culminates with a public presentation of your Honors project.