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 |
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.
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