Info.sjsu.edu


Computer Science Department

BS - Computer Science

This degree provides a solid background for a variety of careers in the computing profession. Entry level positions include jobs in programming, systems analysis, software engineering and customer support. Such positions are required by nearly every institution whether it is public or private. The Computer Science Program is accredited by the Computing Accreditation Commission of the Accreditation Board for Engineering and Technology (ABET), 111 Market Place, Suite 1050, Baltimore, MD, 21202-4012, 410.347.7700. The program not only prepares students for graduate work in computer science, but also for advanced work in the related fields of management science and operations research.

The Preparation for the Major and Requirements in the Major sections must include at least 37 units of upper division mathematics and computer science course work, excluding CS 100W and CS 110L.

This degree program meets certain University Requirements through approved major modifications. Please see the Major Exceptions area in the Policy and Procedures section of this catalog to identify the specific adjustment/s for this degree program or contact your major advisor for more details.


Course Requirements

University Graduation Requirements44
Core Lower Division General Education21
Of the 39 units required by the university, 18 units may be satisfied by coursework outlined below. Courses that meet GE Areas A1, A2, A3 or B4 must be passed with a "C" or better to meet the requirement. Consult with major advisor for details.
Upper Division General Education6
Of the 9 units required by the university, 3 units may be satisfied by coursework outlined below. Consult with major advisor for details.
American Institutions12
Coursework shown below for the 6 units required by the university are double counted within GE. Consult with major advisor for details.
AMS 001A. American CivilizationM46
AMS 001B. American CivilizationM56
Physical Education2
Graduation Writing Assessment Requirement3
At SJSU, students must pass both the SJSU Writing Skills Test (WST) and a 100W course. For additional information on the WST, please see http://testing.sjsu.edu/wst. Exceptions to the GWAR may be found at http://info.sjsu.edu/gwar.html.
CS 100W. Technical Writing WorkshopZ3
Preparation for the Major24
MATH 030. Calculus IB43
MATH 030P (5-units) may be used in place of MATH 030.
MATH 031. Calculus IIB44
MATH 042. Discrete Mathematics3
MATH 129A. Linear Algebra I3
PHIL 134. Computers, Ethics and SocietyV3
Complete one course from:
MATH 032. Calculus IIIB43
MATH 142. Introduction to Combinatorics3
MATH 161A. Applied Probability and Statistics I3
Approved Science Elective5
Requirements of the Major52
Lower Division12
CS 046A. Introduction to Programming4
CS 046B. Introduction to Data Structures4
CS 047. Introduction to Computer Systems4
Upper Division24
CS 146. Data Structures and Algorithms3
CS 147. Computer Architecture3
CS 149. Operating Systems3
CS 151. Object-Oriented Design3
CS 152. Programming Paradigms3
CS 154. Formal Languages and Computability3
CS 160. Software Engineering3
Complete one course from:
CS 116B. Computer Graphics Algorithms3
CS 123B. Bioinformatics II3
CS 153. Concepts of Compiler Design3
CS 157B. Database Management Systems II3
CS 158B. Computer Network Management3
CS 161. Software Project3
CS 167B. DB2 Application Development for z/OS3
CS 167C. DB2 Query Optimization for z/OS3
Elective Computer Science Courses Not Counted Above16
At least 4 units must have CS 46A as a required direct or indirect prerequisite. At most 3 units of CS 180I may be used. Additionally, at most 3 units of CS 085 and CS 185 may be used. CS 180, CS 180H, and MATH 203 may be used with prior approval.
Qualifying courses include all upper division CS courses except courses counted above, CS100W, and CS110L.
Qualifying lower division CS courses include:
CS 072. Unix and Unix Utilities3
CS 085A. Practical Computing Topics1
CS 085B. Practical Computing Topics2
CS 085C. Practical Computing Topics3
CS 49C and CS 49J can be used with department approval.
Qualifying Math courses include:
MATH 142. Introduction to Combinatorics3
MATH 161A. Applied Probability and Statistics I3
MATH 162. Statistics for Bioinformatics3
MATH 171. Foundations of Mathematics and Computer Science3
MATH 177. Linear and Non-Linear Optimization3
MATH 178. Mathematical Modeling3
MATH 179. Introduction to Graph Theory3
MATH 203. Applied Mathematics, Computation, and Statistics Projects3

Total Units:120