SJSU -- B.S. Computer Science Program Requirements

CS Home Page
The information in this document is intended to be a summary of the official department policies as stated in the online university catalog. In cases of disagreement, it is the catalog and not this document that is to be regarded as official.

Program Requirements

Notes

Course Prerequisite Chart

Frequently Asked Questions About the B.S.C.S.

Gaining Work Experience

After Graduation

For More Information


B.S. Computer Science Program Requirements

Required Support Courses (36 units)

Math 30 and 31 (see note 4 and note 8).......Calculus
Math 32 or 142 or 163................... (see note 4)
Math 42..........................Discrete Mathematics
Math 129A............................Linear Algebra I
Math 161A (see note 4)...........Applied Statistics I
Phys 50 or 70; 51 or 71..(see note 8).........Physics
One Additional Science Course............(see note 5)
CS 100W (see note 8).......Technical Writing Workshop
Phil 134 (see note 8)......Computers, Ethics, Society

Required Computer Science Courses (38 units)

CS 46A...........................Intro to Programming
CS 46B.......................Intro to Data Structures
CS 47.......................Intro to Computer Systems
CS 146...................Data Structures & Algorithms
CS 147..........................Computer Architecture
CS 149..............................Operating Systems
CS 151.........................Object-Oriented Design
CS 152..........................Programming Paradigms
CS 154...............Formal Languages & Computability
CS 160...........................Software Engineering
CS 49C or 49J................Programming in C or Java
CS 116B, 123B, 153, 157B, 158B, or 161...(see note 6)

Elective Computer Science Courses (9 units)

(3 courses selected from the following list -- see notes 1 and 9)
CS 72.........................Unix and Unix Utilities
CS 116A....................Intro to Computer Graphics
CS 116B..................Computer Graphics Algorithms
CS 120A..............Lab Electronics for Scientists I
CS 120I.............Lab Electronics for Scientists II
CS 122.................Advanced Programming with Perl
CS 123A..............................Bioinformatics I
CS 123B.............................Bioinformatics II
CS 130............................Windows Programming
CS 134.............Computer Game Design & Programming
Math 142.......................Intro to Combinatorics
CS 143C...........Num Analysis & Scientific Computing
CS 143M...........Num Analysis & Scientific Computing
CS 153....................Concepts of Compiler Design
CS 155...........Intro to Design & Anal of Algorithms
CS 156...............Intro to Artificial Intelligence
CS 157A..........Intro to Database Management Systems
CS 157B................Database Management Systems II
CS 158A.............................Computer Networks
CS 158B...................Computer Network Management
CS 159...................Intro to Parallel Processing
CS 161...............................Software Project
CS 166...........................Information Security
Math 171...........Foundations of Math & Computer Sci
CS 172A....Fundamentals of Unix System Administration
CS 172B....................Unix System Administration
CS 173............Advanced Unix System Administration
CS 174....................Server-Side Web Programming
Math 177.............Linear & Non-Linear Optimization
Math 178........................Mathematical Modeling
Math 179........................Intro to Graph Theory
CS 85A,B,C, 185A,B,C.....................(see note 7)
CS 96, 196..................(requires prior approval)
CS 180, Math 203............(requires prior approval)
CS 180H.................Individual Studies for Honors
CS 180I............................Internship Project

NOTES

1. 36 units of upper division mathematics and computer science courses must be included among the courses used to satisfy these program requirements. Neither CS 100W nor CS 110L may count among these 36 units.

2. Transfer students should see an advisor to determine course equivalencies for courses being transferred.

3. To enroll in a math or computer science course, a student must have obtained a C- or better in each of its prerequisite courses. A grade of C- or better is required in all courses counted toward the major.

4. Math 30P may be used instead of Math 30. If Math 142 is used as an alternate to Math 32, it may not also count as an elective course. Math 164 may be used to satisfy the Math 161A requirement. Note that Math 164 has Math 163 as a prerequisite, and Math 163 has Math 32 as a prerequisite.

5. Courses currently permitted as the additional science course include Biol 1, Biol 2, Biol 3, Biol 23, Chem 1A, CS 120A, Geol 105, Geol 107, Geol 108, Geol 111, Geol 112, Metr 112, Metr 113, Phys 52, and Phys 72. Courses not on the list are acceptable only with the approval of the undergraduate computer science coordinator. Normally this approval will be granted only for a course acceptable for a science or engineering major in the semester or quarter in which it is taken.
   Note that CS 120A can simultaneously serve as an Elective Computer Science Course (but see Note 9). Also note that Geol 105, Metr 112, and Metr 113 also satisfy GE Area R.
   Biol 1, 2, 3 and 23 are likely to be approved for GE Area B2 under the "intensive science" program described in the Schedule of Classes. If Biol 23 is used for GE Area B2 under this intensive science program, it cannot also be used as the additional science course.

6. A course used to meet this requirement cannot also be counted as a CS elective. However if two or more courses from this list are completed successfully, all but one may count as a CS elective.

7. Most combinations of 3 units of CS 85 and CS 185 may be used as an elective course. Only one elective course may be replaced in this way.

8. Math 30 satisfies the Area B4 requirement, and Phys 50 satifies the Area B1 and B3 requirements, for General Education. CS 100W satisfies the Area Z requirement, and Phil 134 the Area V requirement, for SJSU Studies. Some science courses may be counted both toward the degree and toward SJSU Studies Area R (see Note 5).

9. At least 6 units of electives must be taken from among CS 116A, CS 122, CS 123A, CS 130, CS 153, CS 155, CS 156, CS 157A, CS 157B, CS 158A, CS 158B, CS 159, CS 161, CS 166, CS 174, and CS 180I.

Gaining work experience:
Students may complement their education with work experience through the department's internship program, the Mathematics Department's CAMCOS program, or the university's Cooperative Education Program. The university Career Center offers a placement program available to all students at San Jose State University.

After graduation:
Graduates of this program have begun careers in industry and government or have opted to attend graduate school for further study in computer science. Many employment and career opportunities are available in local industry. Entry-level positions for new baccalaureate graduates bear various names, but include Systems Analyst, Systems Programmer, Software Engineer, and Applications Programmer.

SJSU does not discriminate on the basis of race, color, religion, national origin, sex, sexual orientation, marital status, pregnancy, age, disability, disabled veteran's or Vietnam veteran's status. This policy applies to all SJSU student, faculty and staff programs and activities. Questions regarding this policy should be directed to the Office of Equal Opportunity, Administration Room 112, (408) 924-1115.


For More Information

If you have additional questions about the computer science undergraduate program, contact Dr. Jeffrey Smith, CS Undergraduate Coordiantor, or the
 Department of Computer Science
 San José State University, San Jose, CA 95192-0249
 (408) 924-5060; Fax (408) 924-5062
 http://www.cs.sjsu.edu

last updated: October 2007


Return to SJSU Computer Science Home Page