CS Home Page: FAQ

Frequently Asked Questions About the BSCS

(Last updated June 2010)


Questions relevant to new students:

  1. I'm entering as a freshman. What do I do?
  2. Does the department participate in the Four-Year Graduation Pledge Program?
  3. What is Science 2?
  4. Does the first computer science course (CS 46A) assume any background in computing?

    Questions relevant to transfer students and potential transfer students (including second baccalaureate students):

  5. What is LDTP?
  6. I'm considering entering as a transfer student (or a second baccalaureate student). What do I do?
  7. I'm entering as a transfer student. What do I do?
  8. Can I get credit toward the BSCS degree based on Advanced Placement (AP) exams?
  9. Can lower-division courses I have taken at other institutions count toward the BSCS degree?
  10. Can I use courses taken elsewhere to satisfy upper division BSCS requirements at SJSU?

    Questions about entering the CS major or minor:

  11. How can I change my major to computer science?
  12. How do I go about getting a minor in computer science? Do I need to declare a computer science minor in advance?
  13. What is disqualification from the university? How does it differ from disqualification from the major? Can I get back into the major after I have been disqualified? What is academic probation?

    Questions about particular courses or groups of courses:

  14. Are there any General Education requirements that are satisfied automatically by the major?
  15. What is Phil 134? How does it differ from Phil 110?
  16. What is SJSU Studies? What is Advanced General Education?
  17. What are the physics requirements for the BSCS?
  18. I don't understand the BSCS science requirements.
  19. What is the difference between the calculus courses Math 30 and Math 30P? What are Math 19, Math 19W, Math 30W, Math 31W, and Math 32W?
  20. How do I know whether I have satisfied the language prerequisite for CS 46B (or 49J or 146 or 151)?
  21. Does the department offer short courses on current computing topics? Is that what CS 85 and CS 185 are?
  22. I took CS 116A (or 123A or 157A or 158A or 167A) and I don't want to continue with the corresponding "B" course. How can I complete my graduation requirements?

    Questions about courses in general:

  23. Can I make substitutions for courses in the BSCS program?
  24. Can I take a course without having taken the prerequisite courses?
  25. When and how can I drop classes? When and how can I add classes? grade? If so, how does it work?
  26. Is there a way of retaking a course to improve my grade? If so, how does it work?
  27. 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?
  28. I think I already know the material in a particular course. Can I get credit by examination?
  29. Can I use courses taken in the College of Engineering to satisfy BSCS requirements?
  30. Does the department offer credit for extension courses taken elsewhere? For work experience?

    Questions about certificates, programs, and resources:

  31. How can I get a Unix System Administration certificate?
  32. Does the department offer any certificate or degree in software engineering?
  33. Are there internship or co-op programs for BSCS students?
  34. What is the wireless laptop project at SJSU? Do I need to buy a laptop?
  35. Are there jobs available through the CS department?
  36. Is there any software that is available at special rates to CS students?

    Questions about rules and requirements:

  37. What is an advising hold? What is a probation hold? Why do I have one? How can I get it removed?
  38. 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?
  39. May I count a newly created elective or deep course toward the BSCS? Must I follow a newly imposed prerequisite?
  40. Who should I see if I am having trouble with department or university rules and regulations? Who should I see for other types of assistance?

    Questions about graduation:

  41. What is a graduating senior? What is a graduation worksheet? What is a graduation checklist? Why are these important?
  42. When should I apply for graduation?
  43. I'm trying to fill out my major form. What do I do on the form about courses I still need to take?
  44. 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?
  45. What are the requirements for graduation with honors?
  46. Is it difficult for CS majors to get a minor in another field?
  47. Who should I see if I am having trouble with graduation?


  1. Q: I'm entering as a freshman. What do I do?

    1. Make sure to attend frosh orientation, as described in the material sent to you by the university upon your acceptance.

    2. Strongly consider enrolling for Science 2 in your first semester.

    3. At the beginning of the semester, meet with the first semester advisor who is listed on the CS department web site.

    4. Make sure that you have met the ELM (Entry Level Mathematics) requirement, or are registered to take the ELM exam. If you have questions about the ELM requirement, there is a web site that gives an overview of the ELM and another web site that covers the ELM in more detail.

    5. If you are enrolling in a mathematics course in your first semester, be sure that you are registered to take the Calculus Placement Exam (or are exempt from it). This test is independent of the ELM exam. For more information on the Calculus Placement Exam, see the Math Department's web page on this test or the official Schedule of Classes (select the current semester's Instructions, Policies, and Procedures and then follow the Test and Placement Information and Placement Tests in English and Math (EPT/ELM) links). If you have received AP credit for calculus, physics, or computer science, you should fill out a course equivalency form with the appropriate advisor. You can do this at your meeting with the advisor listed in part 3 above, if you cannot do it earlier.

    6. Make sure that you have taken the English Placement Test. For more information on the EPT, see the Schedule of Classes (using the links given in the previous paragraph). Or check the EPT web site.

    7. Become familiar with the Schedule of Classes, the university catalog (and the web version), and the "blue sheet" (the Computer Science Department handout summarizing the BSCS requirements). There is an online version of the blue sheet. In particular, check the prerequisites for the courses you plan to take. The department web site contains a prerequisite chart. Note that the blue sheet does not give the prerequisites for any courses, although the sample programs on the reverse side are consistent with all prerequisites. This sample program is also available either on the CS department web site, or by following the Sample Programs For B.S. Computer Science Students link from the online version of the blue sheet. Be aware that this program is only a sample, and will not be appropriate for every student.

    8. Also see the answer to the question about the SJSU wireless laptop project.

    slightly modified, May 2010

    Top of Document


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

    Top of Document


  3. Q: What is Science 2?

    Science 2 (Sci 002) is a course designed to improve retention rates in science and engineering and poor student preparation in general. Effective Fall 2007, it is a permitted General Education course under Area E. It is an appropriate course for a substantial proportion of frosh CS majors. Since the course is a General Education course, you can count it toward graduation (if you have not already taken another Area E course).

    See the Science 2 web site for more information.

    modified, August 2008

    Top of Document


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

    If you don't have some computer experience of the sort suggested at the beginning of this answer, you might consider first taking CS 40 (Introduction to Computers). However this course will not count toward the BSCS degree. Another possibility is to take a course similar to CS 40 at a community college. At many schools, an appropriate course is the prerequisite course to the CS 46A equivalent. Such a course, however, is unlikely to count toward the BSCS degree.

    somewhat modified, May 2010

    Top of Document


  5. Q: What is LDTP?

    The Lower-Division Transfer Pattern (LDTP) project is a California State University (CSU) initiative, intended 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.

    You do not need to be an LDTP student to be a computer science major at SJSU.

    For Computer Science at SJSU, the 60 LDTP units are summarized by the table below. If you complete the LDTP coursework at a community college and enter the computer science major at SJSU, you will have already satisfied the BS degree requirements in Computer Science for CS 46A, 46B, and 47; Math 30, 31, and 42; Phys 50 and 51; and all Core General Education 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

    Although transfer students need not have completed the LDTP in CS in order to enter the BS program in CS at SJSU, the CS department's 2-year sample program and other advising documents 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:

    You should not delay taking CS 49J (Programming in Java), CS 146 (Data Structures and Algorithms), and CS 151 (Object-Oriented Design) unless absolutely necessary. If you already know Java (and how to use the Java Collections framework), you will not need CS 49J, and you should consider taking CS 146 and CS 151 as soon as possible.

    slightly modified, May 2010

    Top of Document


  6. Q: I'm considering entering as a transfer student (or a second baccalaureate student). What do I do?

    For general information about transferring to SJSU, see the university web site on transfer admission. Note that lower-division transfers are not currently being accepted, that other transfer students must declare a major on arrival, and that only eligible transfer students from Santa Clara or Santa Cruz Counties are guaranteed admission.

    SJSU will not be admitting second baccalaurate students for the foreseeable future. For the latest information and suggestions for alternative strategies, see the university web site on postbaccalaureate admission (follow the Admission-Postbaccalaureate/Second baccalaureate link).

    If you are reasonably sure that you want to be a CS major, you are a community college student, and you think you will be attending SJSU or another California State University, you should seriously consider following the LDTP program for Computer Science.

    If you are not able to complete all of the coursework that is part of the LDTP program in Computer Science by the time you are ready to transfer, 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 70-unit limit on units transferred from a two-year college, but this limit is irrelevant for determining which requirements in the major you have satisfied.

    Ideally you will be prepared to take the Writing Skills Test (WST) when you arrive at SJSU.

    The question on LDTP describes the ideal preparation for transfer students entering the CS major at SJSU, and what to do if you don't arrive with the ideal preparation.

    Also see the answer to the next question.

    modified, May 2010

    Top of Document


  7. Q: I'm entering as a transfer student. What do I do?

    1. Make sure to attend one of the campus Transfer Orientation sessions, as described in the material sent to you by the university upon your acceptance. A description of this program, along with other useful information for transfers, appears on the SJSU web site.

    2. Ideally, the issues and questions below will be addressed and resolved at your Transfer Orientation session. If not, make an appointment to resolve any unresolved issues with the appropriate advisor, as listed on the CS department web site. This page will also tell you how to contact this advisor. Be aware that this advisor may not be on campus until just before the first day of classes. If you feel that you need to sign up for one or more classes before all of your questions have been answered, choose classes that you know you have never taken before, and for which you are prepared. Lists of courses at other institutions that are guaranteed to be acceptable in place of SJSU courses are available on university web sites.

    3. Determine, preferably in consultation with an advisor, whether you are ready to start upper-division coursework in Computer Science. It's still a good idea to meet with your advisor even if you're an LDTP student.

      • If you have successfully completed equivalents of CS 46A and CS 46B that use the Java language, then you have the computing background needed for CS 146 (Data Structures and Algorithms) and CS 151 (Object-Oriented Design). You should consider taking these courses in your first semester at SJSU if you have met their mathematics prerequisites (which have been liberalized effective Spring 2010). Also, you should take CS 49C (Programming in C) early in your SJSU career unless you have been given transfer credit or a waiver for it.

      • If you have successfully completed equivalents of CS 46A and CS 46B that use a language other than Java, then you should enroll in CS 49J (Programming in Java) as soon as possible. After completing CS 49J successfully, you should take CS 146 and CS 151 as soon as you can.

      • If you have successfully completed a CS 46A equivalent but not a CS 46B equivalent, then if the CS 46A equivalent used Java you may enroll in CS 46B. Otherwise you should consider enrolling in CS 49J and then CS 46B, and then follow the instructions above for students who took equivalents of CS 46A and 46B in Java. Note that CS 49J will satisfy a CS major requirement.

        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 the Computer Science Department's undergraduate coordinator. Note that CS 49C equivalents will satisfy a CS major requirement.

      • If you have not successfully completed a CS 46A equivalent, then you should enroll in CS 46A.

    4. Determine which General Education (GE) requirements apply to you. If you are a second baccalaureate student, then you are only responsible for completing the SJSU Studies requirements, and finishing (if you haven't already) the American Institutions requirements in US and California history and government.

      If you are not a second baccalaureate student, then you are responsible for all of the General Education requirements. The Registrar's 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 academic advising center.

      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.

    5. Take the Writing Skills Test (WST) as early as you can -- unless you have been exempted from the CS 100W and General Education Area Z requirements. This test is a prerequisite for CS 100W. For students beginning continuous attendance Fall 2005 or later, all SJSU studies courses require CS 100W as a prerequisite or corequisite. For other students, successful completion of the WST (or an exemption from 100W) is a prerequisite for all SJSU studies courses.

      Many students transferring into the CS major have satisfied all graduation requirements except for SJSU Studies and coursework in the Math & CS departments. If you are one of these students and you haven't taken the Writing Skills Test, then in your first semester you will either have to take all your classes in Math or CS, or take classes that won't help you graduate. And you may not be able to take very many classes in Math or CS, depending on which prerequisite courses you have taken, and on your knowledge of Java.

      If you need to take CS 100W, it is a good idea to take it as early as possible, since it helps you in all of your other courses. In particular, CS 100W is a prerequisite for the required software engineering course (CS 160), which may not be offered in spring semesters. It's not uncommon for students to have to delay their graduation because they did not take CS 100W early enough.

    6. Become familiar with the Schedule of Classes, the university catalog (and the web version), and the blue sheet (and the web version). In particular, check the prerequisites for the courses you plan to take. The department web site contains a prerequisite chart that shows the mathematics and CS prerequisites for all CS courses that count toward the BS in CS.

    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 mathematics and computer science 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.

    Also see the answers to the next two questions, and the answer to the question about the SJSU wireless laptop project.

    somewhat modified, May 2010

    Top of Document


  8. Q: Can I get credit toward the BSCS degree based on Advanced Placement (AP) exams?

    Current CS Department policy is to give 3 units of credit and a CS 46A waiver to any student scoring 3 or better on the Computer Science A exam. Students scoring 3 or better on the Computer Science AB exams will be given 6 units of credit, and waivers for CS 46A and CS 46B.

    The department currently grants a Math 30 waiver to any student scoring 3 or better on the Calculus AB exam. We give waivers for both Math 30 and Math 31 to any student scoring 3 or better on the Calculus BC exam.

    The department grants a Physics 50 waiver to any student scoring 3 or better on Part 1 of the Physics C exam. We grant a Physics 51 waiver to any student scoring 3 or better on Part 2 of this exam. No waiver is given to students based on their having taken the Physics B exam.

    No waiver of the additional science course BSCS requirement will be given based on the Chemistry AP exam -- it corresponds only to Chem 30A and not to a course for science majors.

    Major requirements that are met by an AP exam should be included on a Course Equivalency Form.

    new, June 2010

    Top of Document


  9. 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 meet with an advisor to make sure that your prior coursework gets recorded properly. You should do this even if you are an LDTP student. The best time to do this is at your Transfer Orientation session. If you cannot do this at your Transfer Orientation session, then you should make an appointment to see the appropriate advisor, preferably before you enroll for courses. In any case, you should bring

    1. transcripts showing all work you are attempting to transfer toward the BSCS (unofficial transcripts are fine, but make sure that each one includes your name or other information that identifies the transcript as yours), and

    2. catalogs (in the English language if at all possible) from the schools and years when and where you took the courses you are trying to transfer. If you do not have such catalogs, then web sites, green sheets, course outlines, or syllabi from those courses MIGHT be good enough.

    If you have transfer courses that count toward the BSCS, you and your advisor will fill out a Course Equivalency Form. It's this form that you can demonstrate to instructors of your first semester's classes that you have the appropriate prerequisites. This form is available from the department office in MH 208, and from the department's web site.

    The Computer Science Department maintains a list of equivalencies that we accept from nearby community colleges. The university maintains a list of articulation agreements for SJSU courses. If an SJSU course is articulated with a course at another institution, then this latter course is automatically accepted in place of the SJSU course with which it is articulated. You may view the university's list of articulated courses either sorted by college or sorted by subject.

    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, August 2008

    Top of Document


  10. Q: Can I use courses taken elsewhere to satisfy upper-division BSCS requirements at SJSU?

    In general

    1. Upper-division courses that were taken before entering the CS major, and that closely match SJSU courses allowable for that major, may be used to waive the corresponding SJSU BSCS requirements.

    2. A lower division linear algebra course is likely to be accepted for waiver of the Math 129A requirement. A combined course in linear algebra and differential equations of at least 5 semester units is likely to be accepted for waiver of the Math 129A requirement.

    3. For current CS majors, waiver of upper-division courses by coursework taken elsewhere while a student is a CS major at SJSU must be approved IN ADVANCE by the department. Check with the CS department office (MH 208) for particulars.

    4. In rare cases, a lower-division course taken at a topnotch institution before a student enters the CS major at SJSU may be used to waive an upper-division BSCS requirement at SJSU.

    5. Otherwise, waivers or substitutions for upper-division BSCS requirements are very unlikely to be approved.

    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.

    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 2010

    Top of Document


  11. Q: How can I change my major to computer science?

    Assuming that you have fewer than 90 units and not been disqualified from the university, you may simply obtain a Change of Major form from the Office of the Registrar (or download this form) and bring it to the Computer Science department office, MH 208, to get the appropriate signature.

    If you are a new student, you may change your major to CS, but only after classes begin.

    If you have not been disqualified but have 90 or more units, you may use the Change of Major form but you will need additional signatures to change majors. These signatures are not granted automatically. Information on changing majors and possible restrictions on doing so is available on the university web site.

    modified, May 2010

    Top of Document


  12. 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. Whether or not you choose to declare a minor, it's wise to see the Computer Science Minor advisor.

    Information on adding or changing minors and possible restrictions on doing so is available on the university web site. Briefly, just download the form from the web site (or get it at the Student Services Center), and bring it to the Computer Science department office, MH 208, to get the appropriate department signature. If you have 90 or more units, you will need additional signatures as described in the previous question.

    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 the Computer Science Minor advisor) 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 some upper-division elective courses for the CS minor have Math 31 (Calculus II) or CS 47 (Introduction to Computer Systems) as a direct or indirect prerequisite -- even though neither course counts toward the CS minor.

    One recent change that has made the minor more attractive is that, effective Spring 2010, CS 146 no longer has Math 31 as a prerequisite. The effect of this change is that students pursuing the CS minor now have a considerably wider choice of upper-division courses -- CS 146 is a prerequisite for many upper-division CS courses.

    If you cannot preregister for a class, 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 2010

    Top of Document


  13. Q: What is disqualification from the university? How does it differ from disqualification from the major? Can I get back into the major after I have been disqualified? What is academic probation?

    An undergraduate student whose SJSU GPA falls too far below 2.0 is subject to disqualification from the university. The university's policy on disqualification is given in the university catalog, under Academic Disqualification. If you are disqualified from SJSU, then you are no longer enrolled at SJSU, although you may petition for reinstatement. Disqualified students are eligible to take courses through Open University.

    Reinstatement petitions are available from the Office of the Registrar, or on its web site. The reinstatement petitions contain instructions on how to petition. The university's policy on reinstatement is given in the university catalog, under Reinstatement and Readmission.

    Reinstatement is not automatic. Petitioners generally need to demonstrate that they are capable of succeeding in university level work. Except for the occasional hardship case, this is done by performing well in additional coursework. For undergraduates, one way of doing so is simply to raise one's SJSU GPA back to 2.0.

    In the past, another way to get reinstated was to take prepare a "program of study", usually of two courses. It's not clear that this option will be available in the future, but you may check with the the Undergraduate CS Advisor about this possibility.

    Note that if you are disqualified from the university, then you are no longer enrolled in any major. If you become eligible for reinstatement, you must reapply to the university. You may reapply in a different major than your original major.

    Academic probation is a first step toward disqualification from the university. The relevant SJSU policy is given in the university catalog, under Academic Probation. Every semester, a registration hold is placed on all students on academic probation. The easiest way for CS majors to remove this hold and register for classes is to attend a CS Department probation workshop.

    Currently the Department of Computer Science is not disqualifying students from the Computer Science major, although it reserves the right to do so in the future. It has done so in the past. The SJSU policy on disqualification from the major is given in the university catalog, under Disqualification in the Major.

    modified, May 2010

    Top of Document


  14. Q: Are there any General Education requirements that are satisfied automatically by the major?

    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 (Technical Writing Workshop) and Phil 134 (Computers, Ethics, and Society). 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 at one time offered a waiver examination for GE requirement A3 (Critical Thinking). This exam was offered by the SJSU Testing Office. Since critical thinking is an important part of the computer science curriculum, you may be interested in inquiring at that office about the current status of this waiver. If you are able to waive the exam, you may still need to make up 3 units of GE. Information about Area A3 is available at another university web site, beginning at page 19.

    somewhat modified, August 2008

    Top of Document


  15. Q: What is Phil 134? How does it differ from Phil 110?

    Phil 134 (Computers, Ethics, and Society) 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

    Top of Document


  16. Q: What is SJSU Studies? What is Advanced General Education?

    SJSU Studies is the advanced portion of General Education. It consists of four requirements -- 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 (Technical Writing Workshop) and the Area V requirement is met by Phil 134 (Computers, Ethics, and Society), as it was for Phil 110. Some courses that satisfy the "additional science requirement" for the BSCS will also satisfy the Area R requirement.

    Advanced General Education is an old name for SJSU Studies.

    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 your degree is from another institution and 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.

    For students beginning continuous attendance Fall 2005 or later, all SJSU studies courses require CS 100W as a prerequisite or corequisite. For other students, successful completion of the Writing Skills Test (WST) (or an exemption from 100W) is a prerequisite for all SJSU studies courses.

    For the BSCS, a sufficiently high score on the WST 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 institutions. 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 and Meterology 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.

    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.

    slightly modified, May 2010

    Top of Document


  17. 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. Very few CS majors take Phys 70 or Phys 71. 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 Department of Physics and Astronomy.

    Either Phys 52 or Phys 72 may be used for the additional science course requirement for the BSCS. Phys 120A may 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, August 2008

    Top of Document


  18. Q: I don't understand the BSCS science requirements.

    The BSCS requirements are for three courses: two physics courses, and an additional science course. This course must either be listed in Note 5 of the blue sheet describing the BSCS requirements, or 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 (Science and Mathematical Concepts), 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 1A or Biol 1 for Area B2. Biol 1 and 1A are acceptable for a science major, but Biol 1 requires high school chemistry and Biol 1A has Chem 1A as a corequisite. Community college courses equivalent to Biol 1B or 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.

    Courses taken elsewhere that are articulated with an acceptable SJSU course 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.

    slightly modified, May 2010

    Top of Document


  19. Q: What is the difference between the calculus courses Math 30 and Math 30P? What are Math 19, Math 19W, Math 30W, Math 31W, and Math 32W?

    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.

    Math 19 is a traditional precalculus course. Math 19W, 30W, 31W, and 32W are new courses that have been developed to help increase student success in precalculus and calculus.

    Check the Mathematics Department web site for details on whether you need to take the Calculus Placement Test, on how to register for precalculus or calculus courses, and on whether you can or should enroll for Math 19W, Math 30W, Math 31W, or Math 32W.

    It is possible to drop any of the "W" courses without dropping the corresponding course (without the "W"). You may need to check with the Mathematics Department office in MH 308 to do so. When deciding whether to do so, you should keep in mind the reasons listed on the web site for remaining enrolled in the course.

    Information about the ELM requirement is also available through the Math Department web site.

    Although Math 30 is acceptable in satisfaction of General Education Area B4, and a C- grade is acceptable when counting Math 30 for the CS 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 in one of those courses.

    modified, May 2010

    Top of Document


  20. Q: How do I know whether I have satisfied the language prerequisite for CS 46B (or 49J or 146 or 151)?

    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 both CS 146 and 151. If you took CS 49J at SJSU, you have satisfied the language prerequisite for both CS 146 and CS 151. If you took CS 46A or CS 49C at SJSU, you should not take CS 49J.

    If you haven't satisfied 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 the undergraduate coordinator.

    The instructor of the course whose prerequisite you are trying to satisfy may be able to assist you, or may refer you to an advisor.

    slightly modified, May 2010

    Top of Document


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

    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, August 2008

    Top of Document


  22. Q: I took CS 116A (or 123A or 157A or 158A or 167A) 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 (Concepts of Compiler Design) or CS 161 (Software Project). 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. But be aware of the limitations on permissible CS electives, as described on Note 9 of the blue sheet.

    Note that CS 167C can be used in place of CS 167B for the final required CS course. CS 167B is not a prerequisite for CS 167C.

    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.

    slightly modified, May 2010

    Top of Document


  23. 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 for information about substitutions 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

    Top of Document


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

    Top of Document


  25. Q: When and how can I drop classes? When and how can I add classes?

    Effective Fall 2009, there is a new university policy on dropping classes. To drop after the first two weeks, there must be serious and compelling reasons. In the last 20% of the semester, exceptions are granted only if these serious and compelling reasons are beyond your control.

    The policy also establishes a limit on the number of course units that can be dropped between the drop deadline and the last 20% of the semester. This limit is 18 units for undergraduate students, 12 units for postbaccalaureate students, and 9 units for graduate students. Units dropped based on the granting of an exception do not count toward these limits.

    More specific information about registration issues, including course adds and drops, is available through the Schedule of Classes (select the current semester's Instructions, Policies and Procedures and then Registration Instructions, Policies and Procedures.

    new, May 2010

    Top of Document


  26. Q: Is there a way of retaking a course to improve my grade? If so, how does it work?

    SJSU has a provision allowing undergraduate students to retake an undergraduate course to improve their grade in the course. Effective Fall 2009, this provision is called "grade forgiveness". Before Fall 2009, it was called "academic renewal", a term that is now used for something rather different. Grade forgiveness can be used for at most 16 units at SJSU, at most 9 SJSU lower-division units, and at most 9 SJSU upper-division units.

    A course may be repeated with grade forgiveness only once. As for any other repeated course (that is not designated as "repeatable for credit"), the original grade must have been less than a C. You need not petition for grade forgiveness -- it is automatic for students and courses that meet the conditions above. You will need to petition not to use grade forgiveness for a given course if you are eligible to use it for the course. In particular, if you got a C- in a course but choose to reenroll in it to improve your understanding, the university will assume that you are seeking grade forgiveness unless you petition otherwise.

    You cannot use grade forgiveness for a class and also preregister for the class, since you cannot preregister for a course that you have already taken. By department policy, instructors of computer science classes must give priority for adds to students who are not repeating the course, except that graduating seniors have highest priority for adds regardless of whether they have taken the course before. Among students wanting to repeat the course, CS instructors must not have a policy of giving lower priority to students using grade forgiveness.

    If you repeat a course and do not use grade forgiveness, both grades will be counted in your GPA (assuming that the earlier grade was C- or below). If you repeat a course for which you have already received a grade of C or better, the new grade will appear on the transcript, but it will not be used in GPA computations, and the new units will not count toward graduation.

    You may use grade forgiveness 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.

    Repeating a course more than once requires special approval and will never be counted as grade forgiveness.

    Effective Fall 2009, the term "academic renewal" is to be used for what was previously called "Disregard of Previous Semesters' Work". This is described in the Policies section of the catalog (follow the Academic Regulations and Academic Renewal links). Petitions for this new sort of academic renewal are available on the Registrar's web site.

    modified, May 2010

    Top of Document


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

    Top of Document


  28. 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 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 Challenge Examinations or Challenge Exam Procedure link.

    Note you cannot get credit by examination for a course in which you have received a failing grade, or in which you have unsuccessfully attempted to get credit by examination.

    The department offers a "challenge exam" for waiving the CS 72 (Unix and Unix Utilities) prerequisite for CS 172A (Fundamentals of Unix System Administration). 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.

    very slightly modified, May 2010

    Top of Document


  29. 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, by students who took these courses while Computer Engineering majors. A list of equivalent courses is available online. Note that this list is subject to change from semester to semester. If you took any of these courses while enrolled in another engineering major, they are likely to be approved, but you will need to consult the undergraduate Computer Science coordinator to be sure.

    somewhat modified, August 2008

    Top of Document


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

    Top of Document


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

    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.

    Lower-division courses from other institutions are not normally accepted in place of the upper-division courses in the program. You may waive the 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 the courses in the program may fill quickly with CS majors.

    CS 72, CS 172A, and CS 172B are all electives in the CS major. However,

    1. neither CS 72 nor CS 172A nor CS 172B is in the group of electives from which, effective Spring 2006, 6 units must be chosen
    2. these courses may be offered less frequently than other CS electives
    3. the courses that you use for "Support for the Major" and "Requirements in the Major" MUST STILL INCLUDE THE RIGHT NUMBER OF UNITS of upper division mathematics and computer science coursework

    For more information on the program, see the CS department web site.

    slightly modified, August 2008

    Top of Document


  32. 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 relatively 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 university 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.

    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 an 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, August 2008

    Top of Document


  33. Q: Are there internship or co-op programs for BSCS students?

    Yes. There is a university internship program, a separate CS department internship program, and the Math department's Center for Applied Mathematics and Computer Science (CAMCOS).

    The university internship 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 about particular projects. Information about the CAMCOS projects available in particular semesters is publicized on the CAMCOS web site.

    The CS department web site now maintains links to lists of job opportunities, including internship opportunities. Check 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.

    slightly modified, May 2010

    Top of Document


  34. Q: 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 SJSUOne web site. You might also want to check their introductory web page.

    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.

    somewhat modified, August 2008

    Top of Document


  35. Q: 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

    Top of Document


  36. Q: Is there any software that is available at special rates to CS students?

    Yes, thanks to arrangments made by the CS Club.

    modified, May 2010

    Top of Document


  37. Q: What is an advising hold? What is a probation hold? Why do I have one? How can I get it removed?

    An advising hold is a mechanism by which students are prevented from registering for classes until they have seen an advisor. For every semester's registration, advising holds are now placed on all Computer Science majors, graduate and undergraduate students alike.

    To remove your advising hold, find the appropriate advisor on the CS department web site, and make an appointment with that advisor. It is important to remove advising holds before the end of each semester, since you cannot count on your advisor being on campus between semesters.

    To the meeting with the appropriate advisor, you should bring copies of your transcripts (unofficial copies are acceptable), a signed course equivalency form if applicable, and a filled-out advising release form. Advising release forms may be obtained through the CS department office in MH 208, or from the department's web site.

    Probation holds (registration holds for students on academic probation) are described in the question on disqualification.

    slightly modified, May 2010

    Top of Document


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

    the changes

    The most recent change is that the math prerequisites for CS 46A, 46B, and 146 have been liberalized, effective Spring 2010. Two important changes were made in the BSCS requirements for Fall 2009. Several other important changes in the BSCS program went into effect for Fall 2006. Other significant changes were made in Spring 2006 and Spring 2007.

    The changes for Fall 2009 reduced the mathematics requirements by 3 units, and added 3 units of CS electives. Starting in Fall 2009, CS majors now effectively have a choice between Math 32 and Math 161A. A few BSCS electives have one or the other of these as prerequisites, so it's worth being careful about which of these you choose.

    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.

    Effective Spring 2007, Phil 134 (Computers, Ethics, and Society) became a required course for the BS in CS. Students who were in the CS major before Spring 2007 should take Phil 134 rather than Phil 110, since Phil 134 is tailored to CS majors.

    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 electives, new deep courses, and new prerequisites were introduced at other times. For example, new courses CS 167A, 167B, and 167C will be offered beginning in Fall 2010. For information on how these sorts of changes are treated, see the question on these topics.

    the effect of the changes

    The general principle for determining which requirements to use is that

    1. you can always use the newest requirements, and
    2. you can use any set of older requirements as long as you have maintained continuous attendance between a time when they were in effect and the time when you graduate, and
    3. you cannot mix old and new requirements.

    The official definition of continuous attendance (sometimes called "continuous enrollment") is given in the university catalog (use the Degree Requirements - Undergraduate and Continuous Attendance and Election of Graduation Requirements links in the online version). 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.

    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. Students using the Fall 2006 requirements must comply with the constraint on electives in Note 9 of the blue sheet, regardless of when they entered the major. This constraint is an inseparable part of those major requirements.

    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.

    somewhat modified, May 2010

    Top of Document


  39. Q: May I count a newly created elective or deep course toward the BSCS? Must I follow a newly imposed prerequisite?

    A "deep course" is just one that can be used as the last required computer science course in the major requirements in effect since Fall 2002. For Fall 2010 the deep courses are CS 116B, 123B, 153, 157B, 158B, 161, 167B, and 167C.

    The answer to the first question 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 course was an elective or a deep course was permitted on that date. For example, if you were already a CS major when CS 153 (Concepts of Compiler Design) 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 (Software Project), which was another late addition to the list of deep courses. And the same applies to newly created elective courses such as CS 122 (Advanced Programming With Perl). However CS 49C (once known as CS 49) (Programming in C) may be used as an elective only by those students using requirements in effect before Fall 2006 -- this is not a newly created course.

    In every case, the use of electives is subject to the constraint on electives stated in Note 9 of the blue sheet, and the constraint on upper-division units in Math & CS courses.

    New prerequisites, on the other hand, need to go into effect uniformly for all students, no matter when they entered the major. Enforcement of new prerequisites rarely presents a hardship for students, but feel free to consult the undergraduate CS coordinator if this is the case for you.

    somewhat modified, May 2010

    Top of Document


  40. Q: Who should I see if I am having trouble with department or university rules and regulations? Who should I see for other types of assistance?

    for assistance with Computer Science issues

    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 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. In particular, this advisor holds probation workshops for students on academic probation. Currently the CS Undergraduate Advisor is Ms. Rocío Avila.

    To determine whether to see one of these advisors or your regular advisor, check the CS advising web page. If you need to see your faculty advisor, you can find out who they are by following the appropriate link from the top of that page.

    The Undergraduate Coordinator has the authority to approve modifications to the major requirements in special cases, and to make rulings on curriculum-related matters in cases where the rules are unclear. If you have problems with your graduation, you should see the undergraduate coordinator. The undergraduate coordinator for 2010-11 is Prof. Jeffrey Smith.

    For 2010-11, the department chair is Prof. Jon Pearce and the graduate coordinator is Prof. Chris Pollett, The internship director is Prof. Pearce for the fall and Prof. Chris Tseng for the spring. Appointments may be made with the department chair through the CS department office in MH 208.

    for other assistance

    In some cases, it is possible to petition the university for waiver of university rules. In some cases it is not. The Office of the Registrar on the first floor of the Student Services Center and its web site provide petition forms for many of the most common cases.

    Many university facilities, including

    also stand ready to assist you.

    somewhat modified, May 2010

    Top of Document


  41. Q: What is a graduating senior? What is a graduation worksheet? What is a graduation checklist? Why are these 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 Registrar's 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 to ensure that you can 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.

    slightly modified, August 2008

    Top of Document


  42. 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, in the recent past some university publications have suggested 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 has been stated as follows: "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. And you will need to be taking the classes that the records office thinks that you need to take. For more information, check the Schedule of Classes (select the current semester's Instructions, policies, and procedures and then follow the Apply for Graduation , Graduation - Application and Bachelor's Degree Candidates links).

    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 from the Office of the Registrar or on its web site) and pay a small fee as described on the form.

    slightly modified, August 2008

    Top of Document


  43. 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 fill out a course substitution form reflecting the change. This substitution form is available from the CS department office, or from the department web site. It 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, August 2008

    Top of Document


  44. 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. A simple form called the Major/Minor Course Substitution Form is used to amend a major (or minor) form. You can pick this form up at the CS department office, and return it there. You can also download the form from the the department web site. 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 Registrar's 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 Registrar's office any special circumstances.

    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, August 2008

    Top of Document


  45. Q: What are the requirements for graduation with honors?

    There are two types of graduation with honors, both described in the university catalog (follow the Graduation - Undergraduate Degree link in the online version). 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, August 2008

    Top of Document


  46. Q: Is it difficult for CS majors to get a minor in another field?

    With one exception, minors for CS majors require considerable extra coursework, since the BS program in CS has no room for free electives. This exception is the minor in mathematics. The math minor requires 18 units, including Calculus 1, Calculus 2, and 9 upper-division units in mathematics courses.

    CS majors automatically satisfy the Calculus 1 and Calculus 2 requirement, and have 9 qualifying lower-division units (from calculus and discrete math). Qualifying upper-division courses are Math 129A, Math 161A, and any of several math courses that are BSCS electives (including the crosslisted courses 143C and 143M in numerical analysis and scientific computing). All of these may count toward the BSCS, although none is technically required (lower-division equivalents of Math 129A do not count toward the math minor, and effective Fall 2009, Math 161A may be replaced by Math 32).

    So it's possible to get a math minor without taking any extra courses at all, if you choose your major courses carefully. In any case, the cost of a math minor is a relatively small number of additional courses.

    Do be aware that when deciding which electives to take, there is a group of electives from which, effective Spring 2006, 6 units must be chosen . None of the math courses that count as BSCS electives are in this group.

    Also be aware that adding and changing minors are no longer automatically allowed.

    Students who entered the CS major before Fall 2003, have maintained continuous attendance since then, and have taken an upper-division linear algebra course, automatically qualify for a math minor, based on the minor requirements in effect at that time.

    somewhat modified, May 2010

    Top of Document


Return to SJSU CS Home Page