Sample Programs For B.S. Computer Science Students
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.
Sample 4-year Program For B.S. Computer Science Students0
This plan assumes that the 1-unit workshop courses Math 30W,
31W, 32W, and 42W are not taken along with the corresponding math courses. BSCS
students should consider taking them even though they are not listed here and do not
count toward graduation (for CS majors). You may be required to register for them,
but you can arrange with the Mathematics Department to drop them.
Has a programming language prerequisite.
CS 46A will satisfy the programming language prerequisite for CS 46B.
CS 46B will satisfy the programming language prerequisite for CS 146 and CS 151.
Not every Additional Science course qualifies for Area R. Students
who use a nonqualifying course to satisfy Area R may require more than
120 units to graduate, unless CS 120A is used as the Additional Science course. See Note 5 in the BSCS program requirements for information about CS 120A,
about what courses may count as Additional Science, and about which of
these courses satisfy Area R.
At least 4 units of electives must have CS 46A as a required direct or indirect prerequisite.
All majors should be aware that all "deep courses" (see Note 6) except CS
153 and CS 161 require an elective as prerequisite, so that this elective should be taken
before the deep course. To allow flexibility in the choice of a deep course, majors may
also want to consider taking CS 154 or CS 160 before their last semester, since these
courses are prerequisites for CS 153 and CS 161, respectively.
A deep course is one of CS 116B, 123B, 153, 157B, 158, 161,
167B, or 167C.
Some CS electives have one of these Math courses as a
prerequisite. It's worth checking these electives on the BSCS course
prerequisite chart before choosing one of these Math courses, or choosing when to
The 2-year plan assumes completion of the coursework in an Associate
Degree for Transfer in CS -- that is, equivalents of Math 30, 31 and 42; Phys 50 and 51;
CS 46A, 46B, and 47; and all core General Education, including ENGL 1B or an ENGL 1B
exemption. It also assumes passage of the Writing Skills Text in the first semester of the
Junior year. Students who want to deviate from the plan should make sure that they will have
satisfied the prerequisite for each of their courses.
"With Java" means having knowledge of the Java-specific portions
of CS 46A and CS 46B. This knowledge is vital for success in upper-division
coursework at SJSU. If you're unsure whether you already have this knowledge,
please see an
advisor. Students without this knowledge should consult the sample program for
students without Java.