CS Home Page: FAQ
Q: I'm entering as a freshman. What do I do?
Advising Information and Faculty
Advisors links from the department home page, or by checking the
bulletin board outside of MH 208. Instructions,
Policies, and Procedures and then follow the Test and Placement
Information and Mathematics Placement Examination
links). If you have received AP credit for calculus or physics, you should
fill out a course equivalency form with the CS
Undergraduate Advisor. At some point you will also need to think about issue (5) for transfer students.
very slightly modified, January 2006
Q: Does the department participate in the Four-Year Graduation Pledge Program?
Yes, although the conditions for BSCS students are very strict due to the large number of required courses in the program. In addition to all university requirements, you must get grades of C- or better in all courses, not repeat any courses, be ready to start calculus in your first semester, and stick with the sample program publicized by the department (on the back of the blue sheet) unless your advisor has approved a deviation. For more details, contact the undergraduate CS coordinator.
very slightly modified, September 2003
Q: What is Science 2?
Science 2 (Sci 002) is a course designed to tackle declining retention rates in science and engineering courses and poor student preparation in general. It is an appropriate course for a substantial proportion of frosh CS majors. A Science 2 web site is available.
Currently Science 2 is not a required or elective course in the BSCS program. It has been proposed that this course should become an Area E General Education course; this proposal's chances of success are uncertain.
very slightly modified, January 2006
Q: Does the first computer science course (CS 46A) assume any background in computing?
Officially, no. However, a number of students in the past have attempted to take the course without any experience with text editors, manipulating files, or running commercial software. Many of these students have not succeeded.
The laboratory associated with CS 46A now covers a lot of material that's useful for a programmer to know, although not really part of programming. The lab exercises for this course are available through the department web site. You might consider attempting those of the exercises that do not involve programming if you want to get a head start in the course.
Note that upon completion of CS 46A, you will have met the Java language prerequisite for CS 46B, even though you won't have knowledge of Java that's quite equivalent to CS 49J.
If you don't have some computer experience of the sort suggested at the beginning of this answer, you might consider taking CS 40, or an Introduction to Computing course at a community college. At many schools, an appropriate course is the prerequisite course to the CS 46A equivalent.
somewhat modified, May 2006
The Lower-Division Transfer Patterns (LDTP) project is a California State University (CSU) initiative, effective for Fall 2006, to guarantee that students transferring from a community college can complete their major at a CSU campus on a timely basis. Affected CSU major programs, including the CS major at SJSU, are required to identify 60 units that students may take at a community college that are guaranteed to count toward the major.
For Computer Science at SJSU, the 60 units are summarized by the table below. If you complete the LDTP coursework at their community college and enter the computer science major at SJSU, you will have already satisfied the degree requirements for CS 46A, 46B, and 47 (formerly CS 140); Math 30, 31, and 42; Phys 50 and 51; and all Core GE except for Area E.
| courses | units in LDTP |
units at SJSU |
|---|---|---|
| Math 30 and 31 equivalents | 8 | 7 |
| Physics 50 and 51 equivalents | 8 | 8 |
| A life science course (for GE Area B2) | 4 | 3 |
| Core GE not included above (excluding Area E) | 27 | 27 |
| CS coursework | 12 | 14 |
| Kinesiology | 1 | 1 |
| TOTAL | 60 | 60 |
Transfer students need not have completed the LDTP in CS in order to enter the BS program in CS at SJSU. However, certain advising documents published by the CS department, such as sample programs, need to assume a uniform background for incoming students. Since it's likely that the LDTP will be the uniform background assumed by these documents, incoming transfer students without the full LDTP background will need to know how to interpret these documents and apply them to their situation. For example:
new, May 2006 Q: I'm considering entering as a transfer student (or a second
baccaulaureate student). What do I do? If you are reasonably sure that you want to be a CS major, and you think you
will be attending SJSU, or another California State University, you should
seriously consider becoming an LDTP student in Computer
Science. If you are not able to complete all of the coursework that is part of the
LDTP program in Computer Science, you should at least try to complete the
Computer Science portion of the program. The other courses can be made up
easily when you arrive at SJSU. Since SJSU uses Java for its introductory courses, if the institution you
are attending gives you a choice between a Java-based introduction to
computing and an introduction that uses another language, it will probably be
better for you to take the Java-based introduction. There is a Ideally you will be prepared to take the Writing Skills Test (WST)
when you arrive at SJSU. Also see the answer to the next question. new, May 2006 Q: I'm entering as a transfer student (or a second baccaulaureate student). What do I do?
If you want, you may instead take a 46B equivalent at the
same institution where you took your 46A equivalent, and then follow the instructions
above for students whose 46A and 46B equivalencies didn't use Java.
A third possibility is to simply take CS 46A at SJSU. Your 46A will almost certainly
count as equivalent to CS 49C if it used the C language, and perhaps if it used C++ --
consult your advisor. Note that CS 49C equivalents will satisfy a CS major
requirement.
If you are not a second baccalaureate student, then you are
responsible for all of the General Education requirements. The records office will
determine which of your transfer courses will count as SJSU GE courses. This will
take a semester or two. If you need this information earlier, or if you have
questions about a particular determination, you may consult a GE Advisor at the Student Advising
Center.
For more information about General Education requirements, check the Schedule of Classes.
Select the appropriate semester's
Note that the blue sheet does not give the prerequisites for any courses, although the sample program on the reverse side of the hard copy version is consistent with all prerequisites. This sample program, which is also available on the CS department web site, is only a sample, and will not be appropriate for every student.
You should not delay taking CS 49J, CS 146, and CS 151 unless absolutely necessary, except that if you already know Java, you will not need CS 49J, and you should consider taking CS 146 and CS 151 as soon as possible.
Instructions, Policies, and
Procedures, and then follow the General Education Requirements &
Courses link.
Also see the answers to the next two questions, and the answer to the question about the SJSU wireless laptop project.
somewhat modified, December 2006
Q: Can lower-division courses I have taken at other institutions count toward the BSCS degree?
In most cases, lower-division courses that are substantially similar to Math or CS courses at SJSU can be used to satisfy major requirements. In particular, LDTP students are guaranteed BSCS credit for Math 30, 31, and 42; Phys 50 and 51; and CS 46A, 46B, and 47.
However to make sure that university officials know which BSCS requirements you have satisfied, and to make sure that your course instructors know that you have met course prerequisites, you need to make sure that your prior coursework gets recorded properly. You should do this even if you are an LDTP student. To do this, begin by making an appointment to see the CS Undergraduate Advisor. To this appointment, you should bring
You should fill out the equivalency form as early as you can--ideally before you enroll for your first SJSU courses. This way you can determine which are the proper courses to take first, and you can demonstrate to instructors of your first semester's classes that you have the appropriate prerequisites.
The department maintains a list of equivalencies that we accept from nearby community colleges. The university maintains a list of articulation agreements for SJSU courses. Statewide information regarding transfers and transfer credit is available at http://www.assist.org/.
The course equivalency form is not appropriate for General Education courses. GE courses taken elsewhere are approved by a separate process.
slightly modified, May 2006
Q: Can I use courses taken elsewhere to satisfy upper-division BSCS requirements at SJSU?
In general
Note that waiving a requirement is not the same thing as substituting one course for another. Using a lower-divison course to waive an upper-division course means you have satisfied the upper division requirement with a lower division course. It does not mean that you get credit for the upper division units. In particular, the courses that you use for "Support for the Major" and "Requirements in the Major" MUST STILL INCLUDE THE PROPER NUMBER OF UNITS of upper division mathematics and computer science coursework, excluding CS 100W and CS 110L.
Assuming that all electives taken are upper-division ones, a BSCS student who takes courses only at SJSU will end up taking 3 more than the minimum number of units of upper-division math and CS coursework to complete the degree. This difference of 3 units means that waiving one course by using a lower-division course is no problem -- if you do not also try to count any lower- division electives.
To make sure that equivalent courses are credited toward your BSCS, you should follow the procedure described in the previous question.
Upper-division GE courses (SJSU studies courses) generally need to be taken at SJSU. The one exception to this policy is detailed in the discussion of CS 100W in the answer to the question on SJSU studies.
somewhat modified, May 2006
Q: How can I change my major to computer science?
Assuming that you have not been disqualified from the university, you may simply obtain a change of major form from the Student Services Center (or download this form) and bring it to the Computer Science department office, MH 208, to get the appropriate signature.
somewhat modified, December 2006
Q: How do I go about getting a minor in computer science? Do I need to declare a computer science minor in advance?
The answer to the second question is technically "no", but it's generally
a good idea to declare a computer science minor as soon as you know that you
are interested. You might also want to see an advisor. To see an advisor,
first check whether there is an undergraduate CS coordinator
in the current semester. If so, then this coordinator is your advisor.
If not, then you may find a regular CS advisor on the CS
advising web page by following the Faculty Advisors link. To
declare a minor, simply ask at the Student Services Center for the appropriate
form, and bring it to the Computer Science department office, MH 208, to get
the appropriate signature.
The requirements for the computer science minor are listed on the Computer Science department web site. When you are ready to submit your graduation application, even if you haven't yet completed these requirements, you should obtain a minor form from the Computer Science department office in MH 208, fill it out (perhaps with the assistance of the advisor mentioned in the previous paragraph) and leave it with the office staff to be signed. The signed minor form is to be turned in along with your major form and your graduation application to the Student Services Center.
Be aware that many of the upper-division elective courses for the CS minor have Math 31 or CS 47 (the old CS 140) as a direct or indirect prerequisite -- even though neither course counts toward the CS minor. In particular, CS 146 is a prerequisite for many of these upper-division electives, and CS 146 has Math 31 as a prerequisite. CS 140 will not be offered after Spring 2006, so you cannot count it toward the CS minor unless you have already taken it. CS 47 is a lower division course and cannot be counted as an elective toward the CS minor.
For most Computer Science courses, only CS majors are allowed to preregister. If there is space available in the class, and you have the prerequisites for the class, most CS instructors will be happy to add you to their class. However during some semesters many or most classes are full by the first day of instruction, and you may not be able to add the courses you need. So there's a significant chance that even students who complete the first few classes for their minor will not be able to get the remaining classes. This means that your progress toward the minor may be halted at any point, and you should be aware of this possibility before beginning the coursework toward the CS minor. One reason for declaring a minor in advance is that an instructor may give declared CS minors priority in adding classes over other nonmajors.
somewhat modified, May 2006
Q: What is disqualification from the major? How does it differ from disqualification from the university? Can I get back into the major after I have been disqualified?
The university allows departments to disqualify students from any of their majors. It does require that the effect be that students are disqualified from the major who are below a 2.0 grade point average for all units in the major at SJSU and have achieved less than a 2.0 grade point average in the major in two successive semesters. The Department of Computer Science reserves the right to disqualify students from the Computer Science major.
You may be disqualified from the university if your university GPA falls too far below 2.0. The university's policy on disqualification is given in the university catalog.
Note that if you are disqualified from either the CS major or the university, then you are no longer enrolled in the CS major. Students who have been disqualified from the university and want to be reinstated as CS majors may now follow the normal university procedure of petitioning for reinstatement. Reinstatement petitions are available on the first floor of the Student Services Center, or on the web.
Most student seeking reinstatement will need to prepare a 2-course program of study in CS. To do this, see the Undergraduate CS Advisor or the CS Undergraduate Coordinator. A student who prepares a program of study and gets a 3.0 average or better in these courses will be automatically reinstated into the university in the CS major.
very slightly modified, December 2006
Yes. The major requirements cover Areas B1 and B4, as well as requirement B3 for a science lab course. They also cover Areas Z and V of SJSU Studies (formerly called Advanced GE) with the courses CS 100W and Phil 134. It is also possible to satisfy Area R (or Area B2) and the "additional science requirement" with a single course. Thus of the 51 required GE units, 36-39 must be satisfied outside the major.
For more information about General Education requirements, check the Schedule of Classes (in the online version, select the appropriate semester's Instructions, Policies, and Procedures, and then follow the General Education Requirements & Courses link). Or see a General Education advisor.
The university offers a waiver examination for GE requirement A3 (Critical Thinking). According to a university web page, this exam is offered by the SJSU Testing Office, so if you are interested in waiving Area A3, you should inquire at that office. You may need to make up 3 units of GE even if you pass the waiver exam. Information about Area A3 is available at another university web site, beginning at page 19.
slightly modified, December 2006
Q: What is Phil 134? How does it differ from Phil 110?
Phil 134 is a new General Education course that satisfies the Area V requirement. It differs from Phil 110 by having been designed specifically for Computer Science majors. It focuses more strongly than Phil 110 does on the ethics and social impact of computing.
Effective Spring 2007, Phil 134 replaces Phil 110 as a requirement for the B.S. in Computer Science. Thus students entering the major in Spring 2007 or later must take Phil 134. The department strongly recommends that other students who have not yet taken Phil 110 take Phil 134 instead. Phil 134 is an acceptable substitute for Phil 110 in all BSCS programs for which Phil 110 is stated as a requirement.
See the following question for information about substitutions for Phil 134 (or Phil 110).
new, December 2006
Q: What is SJSU Studies? What is Advanced General Education?
SJSU Studies is the new name for Advanced General Education. SJSU Studies consists of four requirements -- you need to take one course each from areas R, S, V, and Z. Two requirements are met by BSCS Support Courses -- the area Z requirement is met by CS 100W and the area V requirement is met by Phil 134, as it was for Phil 110. The remaining two requirements may be met by taking two courses (one from area R and one from area S).
Note that Phil 134 is specifically a course in the ethics and social impact of computing. No substitute course is available at SJSU, although students who are eligible to use Phil 110 are urged rather than required to take Phil 134. If you are a second baccalaureate student whose first degree is from SJSU, you will still need to satisfy this requirement, even though you are exempt from all GE requirements. On the other hand, if you've already taken a course or courses with significant coverage of the ethics and social impact of computing, you may be able to waive the Phil 134 requirement. However in this case, you will still need to satisfy the Area V requirement unless you already have an SJSU degree.
All SJSU Studies courses require "satisfaction of the Writing Skills Test". For the BSCS, a sufficiently high score on this test will exempt you from the 100W requirement. The only other exemption that is routinely granted by this department is for students who passed an appropriate 100W course while enrolled as a math or science or engineering major. However note that for BSCS students, Engr 100W may count only toward Area Z, and not toward Area R
Sometimes the department will waive the CS 100W requirement for second baccalaureate or other transfer students based on upper-division writing courses taken at other instutitions. Almost always in these cases the Area Z requirement is also waived by the university, although there is no guarantee that this will happen. Occasionally, if the other institution's course is not a technical writing course, the Area Z requirement is waived for a student but the CS 100W requirement is not.
Several Geology courses satisfy both Area R and the BSCS "additional science course" requirement. The CS department attempts to maintain a current listing of these in Note 5 of the blue sheet describing the BSCS requirements. But since the Area R requirement may change from one semester to the next, you should check the GE requirements in the Schedule of Classes as described in the next paragraph. To satisfy the additional science requirement, a course must be acceptable for a science or engineering major in the semester that it is taken. These major requirements may also change from semester to semester.
For more information about General Education requirements, check the Schedule of Classes. Select the appropriate semester's Instructions, Policies, and Procedures, and then follow the General Education Requirements & Courses link. Or see a General Education advisor.
somewhat modified, December 2006
Q: What are the physics requirements for the BSCS?
Two calculus-based physics courses with labs are required. The first covers primarily mechanics; the second covers electricity and magnetism. Phys 50 and 51 will satisfy these requirements; these courses are recommended for CS majors who take these physics courses at SJSU. At many community colleges the equivalent courses are called Phys 4A and 4B.
There is a Phys 70-71 sequence that may be used in place of Phys 50-51. Phys 70 requires a placement test; Phys 50 does not. Switching between these two sequences is permitted for the BSCS, but may be discouraged by the Physics Department.
Either Phys 52 or Phys 72 may be used for the "additional science course" requirement for the BSCS. Phys 120A may still be used both to meet the "additional science course" requirement and as a BSCS elective.
Phys 50 will satisfy both GE Area B1 and GE Area B3 for BSCS students. So will Phys 70.
slightly modified, May 2006
Q: I don't understand the BSCS science requirements.
The BSCS requirements are for three courses: two physics courses, and an additional science course acceptable for some science or engineering major. There is also a separate GE requirement (Area B2) for a life science course. Since Area B2 is a core GE requirement, second baccalaureate students are exempt from it.
Although the courses listed for Area B2 are not acceptable for
science or engineering majors, it is still possible to satisfy the
"additional science" requirement and the Area B2 requirement with a
single course. This is possible because of an "Intensive Science" option
available by petition, and described in the notes for Area B, General
Education, in the
Schedule of Classes (select the appropriate semester's
Instructions, Policies, and Procedures, and follow the
General Education Requirements & Courses link and then the
Core GE Courses link). This option is available only by
petition, but it is the policy of the College of Science to approve
petitions to use Biol 1 for Area B2. Biol 1 is acceptable for a science
major, but does require high school chemistry. Community college
courses equivalent to Biol 2 or Biol 3 are also likely to be accepted.
Biol 23 is likely to be accepted, subject to the important restriction
stated below.
The CS department attempts to maintain a current list of the SJSU courses that may count as the additional science course, and those that may also count toward Area R of SJSU Studies (formerly called Advanced GE), in Note 5 of the blue sheet describing the BSCS requirements. However, the official requirement is that the course must count toward a science or engineering major in the semester that it is taken, to count as an additional science course.
Courses taken elsewhere that are articulated with such an SJSU course (or with Biol 2 or Biol 3), will also be accepted toward the additional science course requirement. Of these courses
The first of the required physics courses satisfies GE Areas B1 and B3.
It is not necessarily the case that each of the science courses is offered every semester.
somewhat modified, January 2006
Q: What is the difference between the calculus courses Math 30 and Math 30P? How do I register for these courses?
Math 30P is an alternate entry point into the traditional calculus sequence of Math 30, 31, and 32. In other words, either version of Calculus I, Math 30 or Math 30P, may be used as a prerequisite for Math 31, provided that you get a C- or better in the course that you take. Math 30P is 5 units and Math 30 is 3 units. This difference stems from the fact that Math 30P contains some precalculus material.
Students who have completed Math 19, or an equivalent taken elsewhere, with a grade of C- or better, may enroll for Math 30P without taking the Mathematics Placement Test. Check the Mathematics Department web site for details on how to do this. All other students planning to enroll in either Math 30 or Math 30P must take this test, and must have satisfied the ELM (Entry Level Mathematics) requirement. In particular, if you want to take Math 30, you must take the Mathematics Placement Test, even if you have completed Math 19. If you are enrolling in Math 19, you need only have satisfied the ELM requirement.
Registration for Calculus I is not available through MySJSU. See the Mathematics Department web site for more information about calculus registration. Information about the ELM requirement is available at the ELM web page.
Although Math 30 is acceptable in satisfaction of General Education Area B4, and a C- grade is acceptable when counting Math 30 for the C.S. major, university policy requires a grade of C or better in any course used for Area B4. If you get a C- in Math 30, you may still count Math 31 or 32 toward Area B4 if you receive a grade of C or better.
very slightly modified, May 2006
Q: How do I know whether I have satisfied the language prerequisite for CS 46B (or 146 or 151 or 152)?
If you took CS 46A at SJSU, you have satisfied the language prerequisite for CS 46B. If you took CS 46B at SJSU, you have satisfied the language prerequisite for CS 146 and 151. If you took CS 49 or CS 49C at SJSU, you have satisfied the language prerequisite for CS 152.
If you haven't satisifed one of these language prerequisites by taking an SJSU course, you should have learned at your initial CS advising session whether you have satisfied these prerequisites, if you entered SJSU in Fall 2006 or later. If so, this information should be recorded on a course equivalency form that you can show your instructor. If not, or if you entered SJSU before Fall 2006, then you should see your regular advisor. Your advisor may end up referring you to the undergraduate coordinator.
The instructor of the course whose prerequisite you are trying to satisfy may be able to assist you, but may instead have to refer you to an advisor.
new, May 2006
Q: Does the department offer short courses on current computing topics? Is that what CS 85 and CS 185 are?
In a sense, yes. Sections of these two courses vary in their content vary from 1 to 3 units. One-unit sections (numbered CS 85A or CS 185A) will be graded credit/no credit. Two-unit sections (numbered CS 85B or CS 185B) and three-unit sections (numbered CS 85C or CS 185C) will use letter grades.
Most CS 85 and CS 185 courses will count as CS electives. Only one BSCS elective may be satisfied in this way (however courses such as Windows Programming and Computer Network Management that have become permanent courses under a different number are not subject to this limitation). For students using BSCS requirements in effect before Fall 2002, neither course automatically qualifies as part of an elective track. Which sections qualify depends on their particular topics. Information on which sections count toward which tracks is available on-line.
If you take CS 85, you are still responsible for taking the right number of upper- division units in math and CS courses.
In addition to each semester's offerings of CS 85 and CS 185 courses, you should also check each semester's offerings of CS 96 and CS 196 courses. These are the course numbers that are used for experimental courses.
slightly modified, January 2006
Q: I took CS 116A (or 123A or 157A or 158A) and I don't want to continue with the corresponding "B" course. How can I complete my graduation requirements?
This will depend in part on whether you have taken another "A" course, whether you have room in your electives to take another "A" course, and whether you are willing to take another "A" course even though you have completed your electives.
If you cannot answer "yes" to any of these questions, then you might consider CS 153 or CS 161. Both of these courses have only required courses as electives. Either of them will satisfy the "deep course" requirement in place of 116B, 123B, 157B, or 158B.
If you have taken another "A" course, then you can use the "B" course corresponding to it to satisfy the "deep course" requirement. The same is true if you are willing to take another "A" course.
If the "B" course that you are unwilling to take is something you were planning to use as an elective, rather than to satisfy the "deep course" requirement, then you can replace it by any permissible BSCS elective.
In any case, you should be sure to check the course offering patterns to see when your chosen alternative course is being offered. Also, if you have already turned in a major form stating that you'll be taking your disfavored "B" course, you should fill out a course substitution form to replace it.
new, March 2006
Q: Can I make substitutions for courses in the BSCS program?
In some cases, yes. Certain substitutions are approved automatically, and some require approval from an advisor (subject to approval by the department's undergraduate coordinator).
Substitutions that are approved automatically include: Math 30P for Math 30, Phys 70 for Phys 50, and Phys 71 for Phys 51. For lower-division courses, many substitutions are accepted automatically based on articulation with SJSU courses, many have been approved in advance by the CS department, and many are approved after consultation with an advisor.
See the question on SJSU Studies and Advanced General Education for information about subsitutions for CS 100W and Phil 134. See the question on Engineering courses regarding courses taken from the SJSU College of Engineering. See the question on transferring upper-division courses for information on other upper-division courses.
Graduate courses are never approved automatically for BSCS requirements, but they are allowed under certain circumstances. It is possible to use credit by examination to satisfy BSCS requirements. Substitutions based on extension courses or work experience are rarely approved.
very slightly modified, December 2006
Q: Can I take a course without having taken the prerequisite courses?
This is really two questions: (a) Can I take a course ..., and b) Should I take a course ...
In the vast majority of cases, the answer to (b) is "no". The department recognizes that there are rare cases in which a student is prepared for a course without having taken the official prerequisite courses. Thus the department allows instructors to admit such students at their discretion in virtually all of its courses. These courses can be recognized in the catalog by a phrase like "or instructor consent" in the list of prerequisites. So the answer to (a) for most courses is "yes, if you get the consent of the instructor".
modified, October 1995
Q: Is there a way of retaking a course to improve my grade? Is this what academic renewal is? If so, how do I take a course through academic renewal?
Yes, this is what academic renewal is. It may be used only once for a particular course. You cannot use the academic renewal option when preregistering for a class, since you cannot preregister for a course that you have already taken. Academic renewal requires filling out a form, and getting the signature of the instructor of the course, after you have added the course. The instructor need not sign the form, and may give add priority to students who are not repeating the course. The original grade must have been a C- or lower.
If you repeat a course and do not use academic renewal, both grades will be counted in your GPA.
You may use academic renewal even if you have been disqualified from the university (and are therefore not a registered SJSU student). In this case you will need to take the course through Open University.
There are limits on how often academic renewal may be used. For information on these
limits or on other aspects of the academic renewal policy, see the
appropriate section of the university catalog, the appropriate
section of the Academic Advisors Resource Book, or the Schedule of Classes (select
the desired semester's Instructions, Policies, and Procedures,
then follow the Academic Information and Academic
Renewal links).
slightly modified, January 2005
Q: Can I use a graduate course to satisfy a BSCS requirement? Can a graduate course be used to satisfy the "deep course" requirement for CS 116B or 123B or 153 or 157B or 158B or 161?
Current departmental policy is to allow this only if the student has at least a 3.0 GPA in upper division CS courses, and receives written approval of the instructor and from the undergraduate CS coordinator prior to taking the course.
Whether a graduate course may be used in place of the CS 116B/123B/153/157B/158B/161 requirement is determined on a case-by-case basis by the undergraduate CS coordinator.
slightly modified, January 2006
Q: I think I already know the material in a particular course. Can I get credit by examination?
Yes, although you will still need to pay the appropriate fees. The idea is that you first sign up for the course as a regular student and then notify the instructor that you are attempting to challenge the course. In practice, since some courses are hard to add and since instructors are not required to offer credit by examination, it's best to ask the course instructor before the class begins about the possibility of credit by examination.
The examination itself will be roughly comparable to a final exam in the course. If you pass it (with a grade of C- or better) you need not attend the rest of the class. In this case your course grade will be CR (Credit), which does not affect your GPA. If you do not get a grade of C- or better, you may either remain in the course or drop. So you should take the exam in the first week or two of the semester to allow yourself the option of dropping the course without penalty (and to allow another student to add in your place).
Brief descriptions of credit by examination are given in the
university catalog, in the Academic Advisors
Resource Book, and in
the Schedule of Classes (select the appropriate semester's
Instructions, Policies, and Procedures, and follow the Test and
Placement Information link and then the Credit by
Examination link.
Note that (in the words of the catalog) "[c]ourse credit by examination will not be allowed in a course in which the student has received a failing grade, or in which credit by examination was unsuccessfully sought.
The department offers a "challenge exam" for waiving the CS 72 prerequisite for CS 172A. This exam is offered only on demand at the beginning of the semester, and costs $25. This exam has nothing to do with credit by examination, and does not confer credit for CS 72.
somewhat modified, July 2005
Q: Can I use courses taken in the College of Engineering to satisfy BSCS requirements?
In many cases, yes. For example, Engr 100W may be used to replace CS 100W if you took the former course while an engineering major. However note that when it comes to SJSU Studies (formerly called Advanced GE), BSCS students may count Engr 100W toward Area Z only, and not toward Area R.
A number of other courses, from several different Engineering departments, may be counted as equivalent to BSCS requirements or electives. A list of equivalent courses is available online. Note that this list is subject to change from semester to semester.
very slightly modified, July 2005
Q: Does the department offer credit for extension courses taken elsewhere? For work experience?
Since extension courses vary so widely and offerings change so frequently, it is not possible for us to evaluate the vast number of extension courses being offered. Therefore, it is our policy not to accept extension courses as equivalent to SJSU courses, unless the course is offered by a university and accepted in that university's own CS degree program.
Similarly, we are not equipped to give academic credit for work experience, with the exception of CS 180I (Internship Project).
Students who feel that they know the material covered by a particular course are welcome to challenge our existing courses.
somewhat modified, January 2004
Q: How can I get a Unix System Administration certificate?
The CS department's certificate program in Unix Systems Administration provides for two levels of certification. Level I covers the basics of Unix systems administration. Level II covers Perl and shell scripts, security, network systems management, and administration of Web servers, NIS, and e- mail. Students in the Level II program will be eligible to compete for internships at Sun and other local companies.
Any student who completes CS 72, CS 172A, and 172B will receive a Unix System Administration Level I certificate. Currently, the only way to get a Level II certificate is to complete the courses CS 122, CS 173 and CS 174. When you complete all of the courses for a level, you may apply in the CS department office for the certificate. For students using the major requirements in effect before Fall 2002, CS 172A and CS 172B together will satisfy the Unix Systems Administration track.
Lower-division courses from other institutions are not normally accepted in place of the upper-division courses in the program. You may waive CS 72 requirement using a course taken elsewhere; a list of qualifying courses at nearby community colleges is available on the CS department web site. Students who have obtained a significant amount of Unix experience outside of formal coursework may waive the CS 72 prerequisite for CS 172 by taking a "challenge exam". This exam may not be used to get credit for CS 72.
If you are not a Computer Science major, you are still eligible for the program. The only CS prerequisite is a course that is equivalent to our introductory course CS 46A. However you should be aware that CS majors have priority for enrolling in CS courses. So if budgets are tight or demand is high, it may be difficult for nonmajors to enroll in the program courses, even for those who have already successfully completed earlier courses.
Both CS 72A and CS 172A have been restored as electives in the CS program. However,
For more information on the program, see the CS department web site.
somewhat modified, January 2006
Q: Does the department offer any certificate or degree in software engineering?
Together with the department of Computer Engineering, the department now offers a B.S. degree in Software Engineering (BSSE). This is a new program, so its governing policies and procedures, and its relation to the Computer Science major, still need to be worked out. The program is described in the university catalog. Other current information on the program is available on the web site at http://www.se.sjsu.edu/.
Some idea of the difference between the two programs is given in the table below, which compares their course requirements as stated in the 2006-08 catalog. Most of the additional BSSE coursework in CS & Engineering is in a two-year project sequence and other software engineering courses. The table does not include the zero-credit summer co-op experience that is strongly encouraged for BSSE students. It also does not include the 3-unit BSCS "additional science" requirement, which is here assumed to be satisfied within SJSU Studies or with CS 120A. And it does not include the changes to the program made for the Spring 2007 online catalog.
| courses | units in the BSCS |
units in the BSSE |
|---|---|---|
| Mathematics | 19 | 22 |
| Physics | 8 | 8 |
| GE not included above | 45 | 33 |
| CS & Engineering coursework | 47 | 67 |
| Kinesiology | 2 | 2 |
| TOTAL | 121 | 132 |
It should be relatively easy for students to transfer between programs even as late as their junior year, since all of the lower-division courses and several of the upper-division courses that are required in each program are also acceptable for the other program. However BSCS students who haven't ruled out an eventual transfer to Software Engineering should consider deferring the satisfaction of General Education Areas A3, B2, D1, and R, since Software Engineering students are exempt from these requirements.
For Computer Science majors, the department now offers a new undergraduate software project course (CS 161) along with the longstanding undergraduate course in software engineering (CS 160) and the graduate software project course (CS 240).
slightly modified, December 2006
Q: Are there internship or co-op programs for BSCS students?
Yes. There is the university co-op program, the department's internship program, and the Math department's Center for Applied Mathematics and Computer Science (CAMCOS).
The co-op program allows students to work and attend classes at the same time. Many of our graduates have participated in this program. Many have obtained their first job after graduation as a direct result of participation in the co-op program. The program is administered by the SJSU Career Center.
The department's internship program offers students the opportunity to earn academic credit (in CS 180I -- Internship Project) for work done at corporate partners of the department. Students must interview with and be chosen by the corporate partner.
In a CAMCOS project, sponsors from industry and elsewhere present problems to a team consisting of 4 to 8 students working under a faculty supervisor. Students receive 3 units of credit through enrollment in Math 203 each semester they participate. Math 203 can in many cases be counted toward the BSCS degree; check with the undergraduate CS coordinator for information aboaut particular projects. Information about the CAMCOS projects available in a given semester is publicized on Math department bulletin boards and elsewhere at the beginning of each semester.
The CS department web site now
maintains links to lists of job opportunities, including internship
opportunities. Check the under the "Activities/Postings"
heading.
Many students in the department have obtained jobs in industry on their own, and attend class part-time or at night. As can be seen from this semester's schedule of classes, the department makes an effort to schedule many courses, especially graduate and advanced undergraduate courses, in the evening or early in the morning.
somewhat modified, August 2004
Top of DocumentQ: What is the wireless laptop project at SJSU? Do I need to buy a laptop?
The wireless laptop project is a university initiative that the Department of Computer Science has voted to join. For general information about the project, see the document http://www.cs.sjsu.edu/faqs/.
Instructors may require their students to have access to a laptop equipped with wireless web access. So to determine whether you need a laptop for your courses, you will need to consult your course instructors.
Information about purchasing appropriate hardware is given at http://www.sjsu.edu/wireless/equipment/. This site also describes possible financing options and financial aid.
To get a login account for wireless connection, check the document http://www.sjsu.edu/sjsuone/. Relevant news items may be published on the CS department home page, so you might want to monitor this page. You may need to scroll down to find relevant items, or to find the link to old news items.
modified, July 2005
Top of DocumentQ: Are there jobs available through the CS department?
A very few jobs are available. See the question on financial assistance in the FAQ for the MS program (at about question 6 -- there's no direct link). Keep in mind that this discussion refers to aid available through the department, rather than through the university. Also, teaching associate positions are unlikely to be offered to undergraduates.
new, March 2005
Q: Is there any software that is available at special rates to CS students?
Yes, from the CS Club.
somewhat modified, May 2006
Q: The BSCS requirements appear to have changed recently. Which requirements should I use? How can I find the most up-to-date statement of the requirements?
Important changes in the BSCS program went into effect for Fall 2006 and for Spring 2006.
The changes for Fall 2006 were made to improve the interface with community colleges in general, and for LDTP students in particular. Specifically,
The one major change made for Spring 2006 was to add a significant restriction on the BSCS electives: at least 6 units of CS elective courses must now be chosen from a specified list.
Before the changes of Spring and Fall 2006, the last major changes in the program were made in Fall 2002 and Fall 2001. A few new elective courses, new elective tracks, new deep courses, and new prerequisites were introduced at other times. For information on how these sorts of changes are treated, see the question on these topics.
The general principle for determining which requirements to use is that
Since the change that was made for Spring 2006 is a restriction, there is no reason for students in the major in Spring 2006 to use these new requirements. However students already in the major as of Fall 2006 may or may not find it helpful to choose to use the Fall 2006 set of requirements.
The official definition of continuous attendance is given in the university catalog. For most students, maintaining continuous attendance means being enrolled for one semester (or two quarters) in each CALENDAR year.
The conditions determining whether students need to reapply for admission after an absence from SJSU are not the same as for continuous attendance. You may need to reapply even though you have maintained continuous attendance.
The printed university catalog will not always contain the most recent set of major requirements. To see these requirements, you may check the online version of the catalog that is updated each semester. In particular, a current list of CS course descriptions is available, with current prerequisite information. You may also check the department's web site (including these FAQs), and the bulletin boards outside the department office for recent changes.
Announcements regarding experimental courses or "topics courses" (e.g., CS 85, 96, 185, or 196) cannot be made in the catalog -- even the online catalog. Check the department's bulletin boards and web site for information on these courses.
Relying on friends for information on official department policies has gotten students into trouble in the past. The safest thing to do is to check with your advisor.
modified, December 2006
Q: May I count a newly created elective, elective track, or deep course toward the BSCS? Must I follow a newly imposed prerequisite?
First, don't worry if you don't understand all of the terms in the question. Unless you are using a set of major requirements that was in effect before Fall 2002, you don't need to worry about elective tracks. And a "deep course" is just one that can be used as the last required computer science course in the major requirements in effect since then. Currently the deep courses are CS 116B, 123B, 153, 157B, 158B, and 161.
For electives, elective tracks, and deep courses, the answer is yes, subject to any explicit restrictions placed on doing so. That is, if you are following the BSCS requirements as of a certain date, it doesn't matter whether the elective course or track or deep course was permitted on that date. For example, if you were already a CS major when the CS 153 course became a deep course, and you are following the BSCS requirements that were in effect when you became a CS major, you can still use CS 153 as a deep course. The same applies to CS 161, which was another late addition to the list of deep courses.
For Spring 2006, there is a new CS 122 (Advanced Programming with Perl) course that may be used a BSCS elective by any CS major. Other CS courses that were introduced after Fall 2002 that may be used as BSCS electives by any CS major include CS 161 and CS 166 (originally called CS 165). The courses CS 49C (originally called CS 49), CS 72, and CS 172A were at one point not permitted BSCS electives; they are now permitted for all students.
New prerequisites, on the other hand, need to go into effect uniformly for all students, no matter when they entered the major. Enforcing new prerequisites rarely presents a hardship for students, but feel free to consult the undergraduate CS coordinator if this is the case for you.
very slightly modified, May 2006
Q: Who should I see if I am having trouble with department or university rules and regulations?
The Department of Computer Science and the College of Science attempt to maintain the positions of CS Undergraduate Advisor and Undergraduate Coordinator to assist the CS Department chair and the regular faculty advisors in helping students with special circumstances. In semesters where funding is tight, one or both of these positions may be left vacant, with the duties assumed by the department chair. In most cases it is only the department chair who has the authority to waive department rules, although in some cases this authority will have been delegated to the Undergraduate Coordinator.
The primary duty of the CS Undergraduate Advisor is in
assisting new students. However this advisor also assists students who have
been disqualified or are in danger of being disqualified. To find out
whether and how to see the CS Undergraduate Advisor or your regular advisor,
check
the CS advising web page . Currently the CS Undergraduate Advisor is Ms.
Rocío Avila. If you need to see your regular advisor, you can find out who
they are and how to contact them by following the Faculty
Advisors link from this web page.
For 2006-07, the department chair is Prof. Kenneth Louden, the graduate coordinator is Prof. Cay Horstmann, and the intership director is Prof. John Avila. Appointments may be made with the department chair through the CS department office in MH 208.
In some cases, it is possible to petition the university for waiver of university rules. In some cases it is not. A description of which rules are subject to possible waiver, and petition forms for these cases, can be found on a university web site.
Many university facilities, including the Learning Assistance Resource Center (for tutoring), SJSU Counseling Services, the SJSU Career Center, and the Division of Student Affairs also stand ready to assist you.
slightly modified, May 2006
Q: What is a graduating senior? What is a graduation worksheet? What is a graduation checklist? Why are these concepts important?
By university policy, graduating seniors are to be given priority in registration for courses that they need to take in order to graduate on time. In particular, they are to be given priority over other students for adding courses. Proof of graduating senior status can be provided only by a document known as a graduation worksheet (sometimes called a graduation checklist), provided by the records office. A graduation worksheet is only prepared for a student after the student turns in a graduation application. So you should apply for graduation early if there is any chance you will need to document your status as a graduating senior.
For CS students, graduating senior status is no longer an issue only in a student's final semester. There are a couple of important situations in which graduating seniors need to be given priority in the semester before they are scheduled to graduate. Specifically,
A graduation worksheet lists a graduation date, and all of the graduation requirements that the records office evaluator determines that the student still needs to complete in order to graduate by that date. These pending requirements may include both courses in the major and outside the major, and both courses that are being taken in the current semester, and courses to be taken in later semesters.
somewhat modified, January 2006
Q: When should I apply for graduation?
For reasons described below, you should certainly file by the appropriate priority deadline, and it may be important for you to file earlier. The priority deadlines are July 1st for spring graduation, and March 1st for summer or fall graduation.
Unfortunately, some university publications suggest that it is safe to file in the semester before you are planning to graduate. However if you are a spring graduate, filing in the previous fall will not meet the priority deadline of July 1.
The reason for applying by the priority deadline is given in the Academic Advisors Resource Book: "This priority graduation check allows enough time to evaluate all records so that the students will have a chance to clarify, correct, and confirm the fulfillment of their requirements in time to graduate when they want". In other words, the danger in failing to meet the priority deadline is not that you won't get your diploma on time, but that you may not get a graduation worksheet from the records office before the beginning of your final semester. This could delay your graduation -- more precisely, it could result in your being informed about an unsatisfied graduation requirement only after it's too late to add an appropriate course.
If you miss the priority deadline, you can still get your diploma on time
provided that you file your application before the first day of classes in the
semester that you intend to graduate. Of course you will still need to get a
sufficiently high grade in all of the courses that you need to graduate. For
more information, check the Schedule of
Classes (select the appropriate semester's Instructions, Policies,
and Procedures, and follow the Apply for Graduation link and
then the Bachelor's Degree Candidates link.
If you make a change in your plans that requires you to delay graduation, you will have to fill out a Graduation Date Change Form (available on the first floor of the Student Services Center, or on their web site) and pay a small fee as described on the form.
modified, May 2006
Q: I'm trying to fill out my major form. What do I do on the form about courses I still need to take?
You should include these courses on the form. List the semester you intend to take them instead of the grade.
In the case of electives, you should make your best guess about which electives you will be taking, and when you will be taking them, and put these guesses on the form.
If you end up taking different courses than the ones you indicated on the form, you need to go to the department office and fill out a substitution form reflecting the change. This substitution form is much simpler to fill out than the major form.
If you end up taking a course in a different semester than you indicated on the form, you needn't do anything.
slightly modified, March 2005
Q: I've already turned in my major (or minor) form, but I will not be taking one or more of the courses listed on the form. What do I need to do?
This is a fairly common occurrence. Of course you will need to replace the courses you won't be taking with other courses, and the new set of courses still has to satisfy some set of major or minor requirements that you are entitled to use. There is a simple form to do this, called the Major/Minor Course Substitution Form. You can pick this form up at the CS department office, and return it there. You don't need to see an advisor or the undergraduate coordinator.
You need only list on the form (1) those courses which were listed on the major or minor form and will not be taken, and (2) the courses that will be taken instead. If any of these courses are offered by an institution other than SJSU, the name of that institution should be given along with the course prefix and number. If you are replacing a course by a course at another institution that you have not yet taken, make sure that the SJSU records office gets a copy of the appropriate transcript(s).
There is space on the Course Substitution Form for comments. You shouldn't write anything in this space. It's the responsibility of the undergraduate coordinator to determine how and whether you will be satisfying the major or minor requirements after the substitution, and to document for the records office any special circumstances such as changes in elective tracks.
The Course Substitution form is appropriate only for changing courses. If you end up taking a course in a different semester than you indicated on the form, you needn't do anything. If you want to change your date of graduation, there is a separate form to do that.
slightly modified, May 2006
Q: What are the requirements for graduation with honors?
There are two types of graduation with honors, both described in the university catalog. They are University Honors at Graduation and Honors at Graduation.
The second of these is a department-based program. Not all departments have such a program, but the Department of Computer Science does. Its requirements are described in the department's section of the university catalog.
Various other honor designations are described on the university's Honors Program web site.
The Humanities Honors Program in General Education is not related to graduation with honors.
slightly modified, March 2005
Q: Is it difficult for CS majors to get a math minor?
Not particularly. In fact, if you entered the CS major before Fall 2003, you qualify automatically for a math minor, provided that you took an upper-division linear algebra course. You would qualify by taking Math 30, 31, 42, 129A, 161A, and one upper-division CS course. If you took a community college or other lower-division linear algebra course instead of Math 129A, then you would not have the required 9 units of upper-division mathematics courses unless you took an additional upper-division math course. Note that there are several mathematics courses that are permitted to count toward the BSCS, including the crosslisted courses 143C and 143M. But be aware that none of these courses is in the group of electives from which, effective Spring 2006, 6 units must be chosen.
Starting in Fall 2003, CS courses that are not crosslisted as Math courses do not count toward the math minor. So CS majors will have to take one additional upper-division math course to get a CS minor -- or two upper-division math courses if they did not take an upper-division linear algebra course.
somewhat modified, January 2006