San José State University's location in the heart of Silicon Valley enhances greatly the opportunities for both the graduates and the students of the Department of Computer Science. Our graduates form a significant portion of the local technical workforce and our students often find work in local high tech companies. The bachelor's degree in computer science (BS-CS) is designed to give our graduates a solid foundation in the basic theories which underpin much of computer software technology as well as to prepare them to become productive software system designers. The 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 computer science faculty includes authors of standard texts in such areas as Java, C++, programming languages, compiler design, parallel processing, and web programming. Many of the faculty are also active in research, in a variety of areas such as computer architecture, network protocols, multimedia systems, and scientific computing.
There is a CS club which is usually very active. Just how active it is depends on the students-it's their club.
The department offers a BS degree in Software Engineering in conjunction with the Computer Engineering Department.
There is a master's degree program in computer science (MS-CS) as well; this program is for those students who wish to pursue their studies at a more advanced level. As many of the MS-CS students work in local industry, most courses are offered in the late afternoon or in the evening to accommodate their work schedules.
New students should check the Department web site at www.cs.sjsu.edu for information on first semester advising. A permanent advisor is assigned during the first semester. Transfer and second baccalaureate students need to complete course equivalency forms with an advisor during that first semester in order to match prior college course work with stated major requirements. Students are also invited to visit the Department in MacQuarrie Hall 208. MacQuarrie Hall is adjacent to the Seventh Street parking garage.
Computer science at SJSU is a high unit major that does not allow room for many electives. Students planning to enter or transfer into this major should be aware that unless all of their courses count either toward the major or toward general education, they will require units in excess of the 121 officially needed to graduate.
The requirements for computer science majors to graduate with departmental honors are: (1) at least a 3.0 G.P.A. overall, (2) at least a 3.5 G.P.A. in the major, (3) Completion of CS 180H (Individual Studies for Honors).
The department operates four computing laboratories. There is a drop-in lab designed to support course work in the department. This drop-in lab contains 17 Pentium 4 PCs running Windows XP Professional, six Sun workstations running the Solaris (Version 9) operating system, and eight Pentium 3 PCs running only Linux (Fedora Core 5). These machines provide internet access and all of the applications, compilers, and tools (such as Eclipse and BlueJ) used in computer science classes taught by the department. The Sun machines are accessible via a secure shell client. Printing capability is provided by an HP LaserJet, with a per page charge payable to Spartan Shops. There are two closed labs used for classes. A fourth laboratory is an open lab for use, free of charge, by CS majors and is managed by the student CS club. This open lab contains several Pentium 3 and 4 PCs running Linux (Ubuntu version 6.0). Although no email service is provided in this lab, the Internet is accessible. The same software which is available on the Linux machines in the drop-in lab is available in this free open lab. This free open lab also provides workspace for students to study and/or use their laptops. All computers in the department are networked.
Students may obtain an account for use in both the drop-in lab and one of the closed labs by registering in CS 46A, CS 46B, or CS 110L, or by paying a semester fee. These student accounts include email, a home directory, shell/ssh access, and Internet access. Email is also used to augment office hours for students who find it inconvenient to go to a faculty member's office. Faculty often post homework assignments and announcements on their web pages and, in some instances, students can email homework to faculty.
Separate accounts for the second closed lab are automatically provided to students registering in any course which is taught in this lab and can only be used for those courses.
Wireless web access is accessible throughout the campus. Students are expected to have a laptop with wireless capability, or similar device. Financial aid for this purpose is available from the university; check the department office for details.
A grade of "C-" or better is required for courses being used to meet any requirement in any minor or major offered by the Department of Computer Science, including support courses.
Students enrolling in Computer Science courses who do not have the appropriate prerequisites may be dropped by the instructor. Students are advised to complete MATH 30, MATH 31, MATH 42, CS 46A, CS 46B and CS 47 before enrolling in upper division computer science courses.
Knowledge of Java is needed for students to succeed in upper-division Computer Science coursework. Transfer students who arrive without knowing Java should take CS 49J. Students who receive grades of "C-" or better in CS 46A and CS 46B at SJSU should have sufficient Java for their upper-division courses. In particular, these courses give knowledge of Java equivalent to that of CS 49J for the purposes of satisfying the prerequisites for CS 146 and CS 151.