CS210 versus CS496: The WebPortal says I am under the older catalog. It also says I have to take CS310, which doesn’t exist any more. Am I forced to change catalogs?

No.  (Older students should NOT sign up for CS210, since that lower-division course would not contribute to your upper-division total.)    In the past we have offered “CS496 Data Structures for Scientists and Engineers”, which is NOT appropriate for CS majors. Going forward, “CS496 Data Structures” (note the shorter title!) is the proper CS310 substitute for students following the older catalogs. [Caution: Students who must follow the new catalog cannot get credit for either of the CS496 Data Structures courses.]

CS210 versus CS496: I have to (or perversely choose to!) follow the new catalog. What Data Structures course must I take?

Those using the 2021 catalog must take CS210, with one (weird) exception: If by some stroke of luck (or planning) you already have credit in CS310, you do NOT have to go back and take CS210, even if that appears to be required by the new catalog. “CS310 Data Structures” definitely satisfies the new CS210 requirement.  (However: If you have credit in CS310 but are following the newer catalog, your CS310 units will NOT contrilbute to your upper-division total in the major. You will have to reach the 36-unit requirement without counting the 3 units from CS310.)    [Caution: Students who must follow the new catalog cannot get credit for either of the CS496 Data Structures courses.]

Which catalog do I follow?

Declared majors complete the courses listed for their catalog year (the same catalog shown in your degree evaluation / audit in the WebPortal).

IF the WebPortal indicates you can follow an older catalog, do so, since you can satisfy the major requirements with a fewer number of units. (You’re still free to choose some of the newly-introduced electives, even if you use the old catalog.)

Can I switch my from my current catalog year and instead conform to the new 2021 catalog requirements?

Yes.  However, students cannot mix and match criteria from the old and new curricula.  You must complete ALL the courses required for your catalog year.   Please note that the new curriculum has additional lower division course requirements that must be met. [Students have a choice between following the CS major requirements outlined in the catalog-year in which they became a CS (pre)major, OR using the catalog requirements in the year in which they graduate.]

I see some perplexing prerequisites listed in the 2021 catalog. Is it completely accurate?

No. There are misprints in the published catalog (which is now set in stone and will not be fixed until next year).  Here is a list of errata:

CS210 Data Structures: disregard Math245 as a listed prerequisite. We recommend that you can take CS210 right after finishing CS160.

CS240 Computer Organization: should have indicated that it can be taken concurrently with CS160 (the catalog erroneously implies you must finish CS160 before starting CS240)

CS370 Computer Architecture: should have listed CS240 as the sole prerequisite (CS250 was a misprint). The old CS237 is also sufficient (since CS240 is CS237, just renumbered).

CS460 Algorithms: lists only CS210 as a prerequisite; Math245 (Discrete Mathematics) is a very important prerequisite to have (if you’re planning to pass the class…)

CS480 Operating Systems: lists only CS210 as a prerequisite; CS370 (Computer Architecture) is a very important prerequisite to have taken first.

CS503 Scientific Database Techniques: should list Math245 (Discrete Mathematics) as a prerequisite (in addition to the stated CS310). The catalog says only majors should get prior approval from an advisor, when in fact CS minors need approval as well. CS503 is too similar to CS514 (the preferred Database course for CS majors/minors), so there should have also been a footnote warning that CS503 is not open to students with credit in CS514.

CS514 Database Theory and Implementation: There should have been a footnote warning that CS514 is not open to students with credit in CS503.

CS546 Human Computer Interfaces: lists CS520 as a prerequisite. Ignore that; CS210 should have been the sole prerequisite listed.

CS549 Machine Learning: should have had Math254 listed as a second prerequisite.

CS550 Artificial Intelligence: should have have given an either/or option. The correct prerequisite should have read CS210 and Math245.

CS553 Neural Networks: should have had Math245 listed as a second prerequisite.

CS556 Robotics: should have listed Math254 (rather than the published CS450).

CS559 Computer Vision: should have had Math254 listed as a second prerequisite.

CS574 Computer Security: should have listed CS480 as the sole prerequisite. (In point of fact, CS470 would be far better preparation for CS574, but the catalog won’t ever be saying this officially. CS480 is adequate, though)

CS577 Principles and Techniques of Data Science: Math254 should not have been listed (CS210 and Stat250 are sufficient).

CS581 Computational Linguistics: CS320 should have been listed as one of the options.

Will CS 490 be available for Fall 2021?

Yes.  But recall that CS490 sections appear without schedule numbers.  The CS department will contact eligible students (graduating within two semesters), to place them in a section at a day and time that does not conflict with the rest of their schedule.  You cannot sign yourself up for CS 490 through Web Portal!  You MUST reply when contacted by the department.  Failure to do so may delay graduation.

What do I do if a class required for graduation is no longer available?

Once an “old” course is no longer being offered, the department will provide substitute courses. Most upper division courses have equivalent courses (think in terms of the courses being
renumbered). Here is a partial list:


Previous Required Courses

New Required Courses

Comment
CS 107 CS 150 + CS 150L Equivalent
CS 108 CS 160 + CS 160L Equivalent
CS 237 CS 240 Equivalent
CS 250 Added in the new curriculum
CS 310 CS 210* or CS 496-Data Structures Equivalent
CS 320 CS 420 Substitute
CS 370 CS 370 Equivalent
CS 440 CS 450 Substitute
CS 490 None Not required in the new curriculum
CS 530 Elective in the new curriculum
CS 560 CS 460 Equivalent
CS 570 CS 480 Equivalent

* but note that CS210 does NOT earn upper-division credit. If you are qualified to use an older catalog, definitely take the CS 496 version.

What is meant by an equivalent  course?

The “old” course requirement is met by the newly-numbered course. For example, CS 570 is a required course for catalog years through 2020, so CS 480 now meets this requirement.

What is meant by that substitute course?

CS 440 and CS 450 are entirely different courses. In the new catalogs, CS 440 is no longer required, but CS 450 will be required.

CS 450 (Introduction to Artificial Intelligence) and CS 550 (Artificial Intelligence) are both listed in the 2021 catalog. Can I take both these courses?

No. CS 550 has been renumbered as CS 450 (since it is no longer available for graduate credit), but the content is essentially unchanged. So no, you can’t get duplicate credit for two versions of the same course. (Similar statements can be made about the CS 560 and CS 460 pair, CS 570 and CS 480, etc.)

I want to take CS532 (Software Engineering) in Fall 2021. But suddenly the 2021 catalog lists CS250 as a prerequisite. Can I preregister for this course without first taking CS250?

Yes, you can preregister. If the newly-advertised prerequisite structure were enforced, CS532 would have zero students this Fall (because CS250 is only being taught for the first time in Fall 2021). All “old” courses will be taught “the old way” for a few semesters, in fairness to students who have a right to follow the older catalog requirements. The registration computer will let you register for CS532, regardless of the stated prerequisites. (This is actually true of EVERY CS course, not just CS532.) Caution: During the first few days of the semester, your CS instructor has the authority to disenroll students who do not meet the prerequisites for their course. Also, this preregistration policy varies by department; most departments have much stricter registration constraints.

CS 530 is not required for the new curriculum. Do I have to take it if my catalog is 2020 or earlier?

Yes.  Students must complete ALL the courses required for their catalog year.  The only way to avoid CS530 is to instead complete ALL the required classes listed in the 2021 catalog (which would likely be much more onerous than sticking with the current curriculum).

What courses should I take to complete a CS minor if my catalog requirement is 2020 or earlier?

For CS minors following catalog requirements for 2020 and earlier, the required courses are CS107, CS108, and 12.0 upper division CS units (3.0 units are waived if you completed the Math150/Math151 sequence).  A data structures course must be taken (CS310 or CS496 Data Structures for Scientists and Engineers).  We recommend CS320, CS470, CS503/CS514 (choose one), and CS583.  If you have met the prerequisites for other courses (many require CS237/CS240 and/or Math245,) those are available as well.

CS310 won’t appear on the fall schedule, but there will be an equivalent “CS496 Data Structures” that serves as a clone of the CS310 course.  Take that, or “CS496 Data Structures for Scientists and Engineers”.  These two CS496 courses, CS310, and CS210 all have similar content; you can only apply one of the four to your degree program. Note that “CS496 Data Structures for Scientists and Engineers” is not appropriate for CS majors (but is preferable for CS minors).

CS440 and CS301 are NOT eligible.  If your major field of study is pre-law or law enforcement, one of these courses may be approved with the consent of a CS advisor.

Can I select courses from each of the old and new curricula?

You cannot mix and match required criteria from the old and new curricula, you must fully complete one or the other.  (There is a lot of flexibility regarding the electives you can use, regardless of whether they are old or new.)

What courses should I take to complete a CS minor if I haven’t yet declared a minor?

Complete the requirements for catalog 2021.  Courses required are CS150/150L (4 units), CS160/160L (4 units), “CS496 Data Structures for Scientists and Engineers”
(3.0 units), and three additional upper division courses selected (9.0 units).  CS301 is NOT eligible for CS minor credit.

Should I wait to declare a CS minor until Fall 2021?

Completing the CS minor will be more difficult if you have to use the 2021 catalog (our degree program about to change), so be sure to file the paperwork for the minor no later than summer,
before the fall 2021 semester officially starts [which happens before classes begin] — that way, you can still use the ‘old’ catalog requirements. It would be best to have your required classes (CS107 and CS108) verified by a CS advisor AND the paperwork submitted to the administration by August 16th, 2021, to ensure it gets processed in time. Students taking one or both of these as summer classes at a community college should talk with a CS advisor as the deadline approaches, as the formal transfer of those units might not be received by SDSU by the deadline.

Should I wait to declare a CS major until Fall 2021?

You have no choice but to wait unless you have completed all the required lower-division CS/Math/Science classes prior to the start of the fall semester. If possible, strive to qualify for the major by the end of the summer session. It would be best to have your lower-division classwork verified by a CS advisor AND the paperwork submitted to the administration by August 16th, 2021, to ensure it gets processed in time. Students finishing up the requirements as summer classes at a community college should talk with a CS advisor as the deadline approaches, as the formal transfer of those units might not be received by SDSU by the deadline.

Can I declare a CS major before I complete the preparatory CS classes?

No (with an exception–see below).  CS is an impacted major, which essentially means “all the seats are taken.”  As such, students wishing to change their major to CS must complete all the required preparatory classes (that is, ALL lower-division CS/Math/Science classes) first.

This means that–for most students who do not already see “Computer Science” listed as their major on the web portal–you will follow the 2021 curriculum.

Student who will complete the prep courses by August 2021 should fill out a Change of Major form, save it as a PDF, and send to Patty Kraft for a signature.

For a short while, students who have all but one or two of the Math or Science prep classes completed might be allowed into the major since they have been following the current 2020 requirements.  Contact advisor Patty Kraft (pkraft@sdsu.edu) for an evaluation.

How can I schedule a Zoom meeting with my advisor?

Patty Kraft has advising hours available for sign up through EAB Navigate.

CS 310 is not available for Fall 2021. What should I do?

 “CS310 Data Structures” won’t appear on the fall schedule
but “CS496 Data Structures” will be available for students qualified to follow the ‘old’ catalog (2020 or earlier).
“CS496 Data Structures”, “CS496 Data Structures for Scientists and Engineers”, CS310, and CS210 all have similar content; you can only apply one of the four to your degree program. Note that “CS496 Data Structures for Scientists and Engineers” is not appropriate for CS majors (but is preferable for CS minors).

Now that there is a new curriculum, will I need more CS units than in my catalog 2020 (or earlier) requires?

No.  By law, you are not required to take more units that your current catalog year specifies — unless you voluntarily choose to use the newer catalog, in which case you would have to follow all the new requirements. If you are a declared CS (pre)major by August 2021, you have the right to follow the older catalog requirements. [But students who are NOT officially admitted to the CS program by the time the catalog for the 2021 year goes into effect, i.e., “Fall 2021”, MUST follow the new curriculum.

I already took CS107 and/or CS108 at SDSU or will later take the equivalent at a community college).  Do I need to take the labs CS150L and CS160L?

If you have 3.0 units of credit for CS107, you don’t have to take CS150L (or CS150), even though those total 4 units.  If you do not have credit, you must take CS150 and CS150L. (A CS107 equivalent satisfies both the CS150 and CS150L requirements for the CS major/minor.)

If you have 3.0 units of credit for CS108, you don’t have to take CS160L (or CS160), even though those total 4 units.  If you do not have credit, you must take CS160 and CS160L. (A CS108 equivalent satisfies both the CS160 and CS160L requirements for the CS major/minor.)

I was a declared CS pre-major prior to the start of the Fall 2021 semester.  Do I follow the old or new curriculum?

You will complete the requirements for your catalog year (2020 or earlier). In this case, you need not follow the new 2021 catalog.

I am a CS major but I took Chemistry (or Biology) for my year-long sequence. Do I need to also take Physics now that it is the one and only sequence required in the new curriculum (2021 catalog)?

No. [If you are already a CS (pre)major, you can ignore all the upcoming changes to the program. Just follow what your own catalog year requires.] 

Can CS250 substitute for CS532 under catalog years 2020 and earlier?

No.  Every Bachelor of Science degree requires at least 36 upper-division units in the major. Therefore, no lower-division (100-200 level) course can substitute for any upper-division (300-500 level) course.

I’m confused about CS440, CS450, and CS550! 

CS440 will be taught in Fall 2021.  We can’t say how long it will remain on the class schedule.

If you haven’t taken CS440 before it is no longer offered, then CS450/550 will substitute for CS440 (in which case CS450/550 cannot used as one of your electives).

If you have taken CS550, then it will be counted as one of your electives — but you must take an additional elective to substitute for the 3 units of CS440 if it is no longer being taught (because every Bachelor of Science degree requires at least 36 upper-division units in the major).

What upper division MATH/STAT courses are required in the new curriculum?

STAT550 is (exclusively) required. Students who are qualified to follow the 2020 catalog requirements (or older catalogs), still have the flexibility outlined for their CS major program, namely any one of Math340, Math579, Stat350A, Stat550, or Stat551A. 

CS majors who are required to (or elect to!) follow the 2021 catalog requirements MUST take Stat550 (as the one and only approved choice).