Graduation Requirements
B.S. Computer Science Program Requirements
Required Support CoursesMath 30 and 31 (see note 4 and note 8).......Calculus Math 32 or 142 or 161A.................. (see note 4) Math 42..........................Discrete Mathematics Math 129A............................Linear Algebra 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 CoursesCS 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, 161, 167B, or 167C (see note 6) |
Elective Computer Science Courses(courses totaling 10 units to be 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 144.......................Advanced C++ Programming 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 Math 161A........................Applied Statistics I Math 162................Statistics for Bioinformatics CS 166...........................Information Security CS 167A.....................DB2 Fundamentals for z/OS CS 167B..........DB2 Application Development for z/OS CS 167C...............DB2 Query Optimization for z/OS 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
- 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.
- Transfer students should see an advisor to determine course equivalencies for courses being transferred.
- 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.
- Math 30P may be used instead of Math 30. For information on enrollment in Math 30
or Math 30P, see http://www.math.sjsu.edu/~calculus.
If Math 142 or Math 161A is used to satisfy the Math 32/142/161A requirement, it may not also count as an elective course. - Courses currently permitted as the additional science course include Biol 1, Biol
2, Biol 3, Biol 1A, Biol 1B, Biol 23, Chem 1A, CS 120A, Geol 105, Geol 107, Geol 108,
Geol/EnvS 111, Geol 112, Metr 112, Metr/EnvS 113, Phys 52, and Phys 72. Courses not
in this 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, Geol 107, Geol/EnvS 111, Geol 112, Metr 112, and Metr/EnvS 113 also satisfy GE Area R.
The biology courses listed above 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. - 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.
- 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.
- 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).
- At least 6 units of electives must be taken from among CS 116A, CS 116B, CS 122, CS 123A, CS 123B, CS 130, CS 134, CS 144, CS 153, CS 155, CS 156, CS 157A, CS 157B, CS 158A, CS 158B, CS 159, CS 161, CS 166, CS 167A, CS 167B, CS 167C, CS 174, and CS 180I.
