The minor in Computer Science consists of a minimum of 23 units in Computer Science and Mathematics to include CS150, CS150L, CS160, CS160L. To declare a CS minor, you must first finish these 4 introductory units with acceptable grades (C or better).  Exception: The former SDSU courses CS 107 and CS108 (6 units) are also sufficient to declare the minor.  Introductory courses from the local
community colleges, which might also total only 6 units, also suffice.
In these cases, 21 units (rather than 23) can complete the minor.

Additionally, complete at least 15 more Computer Science units, 12 of which must be upper division. Exception: a student can get by with 20 total CS units and nine upper division CS units if the student completes the Math150 and Math151 Calculus sequence. Courses selected are subject to the approval of a Computer Science advisor.

Upper-division courses in the minor may not be counted toward the major, but may be used to satisfy preparation for the major and general education requirements, if applicable. A minimum of six upper division units must be completed in residence at San Diego State University.

Approved Upper Division Electives for the Minor

  • CS 320 Programming Languages
  • CS 370 Computer Architecture
  • CS 420 Advanced Programming Languages (Formerly CS 520)
  • CS 470 UNIX System Administration
  • CS 496 Data Structures for Scientists and Engineers
  • CS 503 Scientific Database Techniques
  • CS 514 Database Theory and Implementation
  • CS 524 Compiler Construction
  • CS 530 Systems Programming
  • CS 532 Software Engineering
  • CS 535 Object Oriented Programming and Design
  • CS 537 Programming for GIS
  • CS 540 Software Internationalization
  • CS 550 Artificial Intelligence
  • CS 553 Neural Networks
  • CS 556 Robotics: Math Programming and Control
  • CS 558 Computer Simulation
  • CS 559 Computer Vision
  • CS 560 Algorithms and Their Analysis (equivalent to the new CS 460)
  • CS 562 Automata Theory
  • CS 570 Operating Systems (equivalent to the new CS 480)
  • CS 572 Microprocessor Architecture
  • CS 574 Computer Security
  • CS 576 Computer Networks and Distributed Systems
  • CS 580 Client-Server Programming
  • CS 581 Computational Linguistics
  • CS 582 Introduction to Speech Processing
  • CS 583 3D Game Programming
  • CS 596 Advanced Topics in Computer Science (Topics vary each semester)

Any combination of courses on the above list will be approved. Note that CS301, CS499, and CS440 are NOT on that list — avoid them! You should of course review upper division courses for prerequisites, which often require CS240 or CS250.

Students are strongly encouraged to take CS496 Data Structures for Scientists and Engineers immediately after completing CS160. (Doing so satisfies the prerequisite of any course that claims to need CS210, so avoid taking CS210.)

If you are a Computer Engineering major, consult a CS advisor; some of your lower-division work may apply to the CS minor.