Undergraduate Advising

Proper and timely advising has been shown to significantly improve students' success and graduation rate. We summarize here our advising process and mandatory advising checkpoints. Please refer to the advising process described under these undergraduate, graduate and transfer advising section.

Department Advising will resume Fall 2023. Please visit the Undergraduate Advising Center for advising over the Summer: https://advising.sfsu.edu/


Advising Schedules

Computer science students are strongly encouraged to adhere to the following student responsibilities:

  • Following the appropriate advising process to their standing, as described under these Undergraduate and Graduate sections.
  • Reading all emails sent from the computer science office and faculty.
  • Seeking advising for any mandatory advising checkpoints.
  • Seeking advising whenever a need arises, in a timely manner with respect to any deadlines.

It is important and beneficial to take the opportunity to schedule timely advising for assistance and achieving success. Students should plan their program of study in the major with the help of a departmental advisor as soon as possible in order that the correct sequence of courses is taken and a proper set of electives is chosen. Students are advised that CR/NC grades are not acceptable in courses to be counted for the Computer Science major or minor programs. It is also suggested that students consult with an advisor before selecting courses to meet the General Education requirements. The Ongoing Advisors listed below can assist with signing graduation applications.


Department Advising will resume Fall 2023. Please visit the Undergraduate Advising Center for advising over the Summer: https://advising.sfsu.edu/

Transfer students are strongly encouraged to get advising before starting at SF State.

Department Advising will resume Fall 2023. Please visit the Undergraduate Advising Center for advising over the Summer: https://advising.sfsu.edu/


Advising Tips

  1. For your appointment with your advisor, please bring the following documents (if available, online documents are ok): 

    • Transcripts
    • List of all major related courses with course title, semester taken, college taken at, and grades obtained.
    • If possible, please bring course descriptions, syllabus, text book title, and any other related course materials.
  2. For evaluating upper division CS courses, you may have to meet with individual CS instructors.
  3. For evaluating Mathematics, Physics and Biology courses, you may have to meet with faculty in those departments.

Be sure to also be familiar with all Computer Science major's GE Biology Requirement.

Graduation Advising

See the Registrar's Office's web page for details on the graduation process. If your DPR shows something missing, please schedule an appointment with an Advisor. Make sure to complete your Senior Oral Presentation and your Senior Electives.

Good oral and written communication skills are essential for a successful software career today. Objective 4 in our Mission Statement states:

"Students will demonstrate the ability to give presentations and write technical reports."

Students will fulfill the written requirement by passing CSC 300 GWAR, but still need to complete the oral presentation requirement separately. The Senior Oral Presentation requirement ensures that students practice presenting technical material and fulfill this education objective. The Senior Oral Presentation is a short technical talk with supporting materials, on a computing-related topic. Students usually complete their oral presentation requirement in an advanced CSC class that they are taking. This is often one of the advanced requirements (415, 510, 600, 648), or one of the senior electives. A presentation must be supervised and evaluated by a faculty member, usually the instructor of the class hosting the presentation.

You should choose the class and faculty member for your oral presentation, one semester before your proposed graduation date; for example, for May 2020 graduation, you should try to arrange your presentation for the Fall 2019. At the beginning of the semester, talk with a faculty member to make arrangements for an oral presentation. Each faculty member and class has different presentation guidelines; some classes do not accommodate presentations.

You will prepare your presentation and give the talk on the scheduled date. Your supervising faculty will evaluate the presentation and submit their evaluation to the department. The presentation will be graded on the quality of the slides (legibility and correctness), presentation style (e.g., volume and pace, eye contact, response to questions), content (e.g., organization, description of technical details), and time management.

If your presentation is unsatisfactory, you may have to spend more time preparing, and repeat the presentation until it is satisfactory.

Good resources with advice on how to write technical reports:

Good resources for preparing oral presentations: 

All CSC majors must complete four 3-unit senior electives. Students may choose 12 units from among the following courses:

  • CSC 508: Machine Learning and Data Science for Personalized Medicine
  • CSC 520: Theory of Computing 
  • CSC 615: UNIX Programming
  • CSC 620: Natural Language Technologies
  • CSC 621: Biomedical Imaging & Analysis
  • CSC 630: Computer Graphics Systems Design
  • CSC 631: Multiplayer Game Developement
  • CSC 637: Software Techniques for Computer Music
  • CSC 641: Computer Performance Evaluation
  • CSC 642: Human-Computer Interaction
  • CSC 644: Computer Measurements
  • CSC 645: Computer Networks
  • CSC 649: Search Engines
  • CSC 650: Secured Network Systems
  • CSC 651: Systems Administration
  • CSC 652: Introduction to Security and Data Privacy
  • CSC 653: Network Security
  • CSC 656: Computer Organization
  • CSC 657: Bioinformatics Computing
  • CSC 664: Multimedia Systems
  • CSC 665: Artificial Intelligence
  • CSC 667: Internet Application Design and Development
  • CSC 668: Advanced Object Oriented Software Design and Development
  • CSC 675: Introduction to Database Systems
  • CSC 676: Soft Computing and Decision Support Systems
  • CSC 680: Application Development for Mobile Devices
  • CSC 690: Interactive Multimedia Application Development
  • CSC 698: Topics in Computing
  • CSC 699: Independent Study
  • MATH 400: Numerical Analysis
  • MATH 425: Applied and Computational Linear Algebra

*Most graduate CSC courses may also be used as senior electives.
**You may only choose one of the listed MATH courses as a senior elective.

Students are advised to check their university and college regulations regarding academic standing requirements. It is occasionally possible to use a course taken in a different department or at another university to satisfy elective requirements. Any course substitutions must be approved in advance by a Senior Advisor.

Outside of SF State Transfer Students

Our program has been recently revised to streamline the course articulation for transfer, allowing more courses taken at community colleges or other schools to count towards your Computer Science Degree at SF State.

All lower division courses (course numbers below 300) included among the degree requirements are available at many community colleges in California. Students intending to enter the program upon transferring to San Francisco State University from a community college should take as many of those courses there as possible.

The equivalents for the following Computer Science courses may be taken from approved universities and applied to your SF State CS Degree:

  • CSC 210: Introduction to (Java) Programming
  • CSC 220: Data Structures
  • CSC 230: Discrete Mathematics
  • CSC 256: Machine Structures

Additionally, the following non-CS courses, required for completion of the program, may also be transferred from other institutions depending on their respective department's policies:

  • MATH 226: Calculus I
  • MATH 227: Calculus II
  • PHYS 220/222: Physics I
  • PHYS 230/232: Physics II
  • BIOL 100: Introduction to Biology

To verify course equivalencies, please consult assist.org.

If all lower-division major and GE requirements are satisfied, check out the SF State Bulletin's Roadmap for Transfer Students.

Students who transfer to our program should have adequate Java experience. Students can attain adequate Java background by taking a course which should include topics as specified in the resources below:

The main Java tutorials website: Oracle Java Tutorial Documentation web page.

Topics Include:

Academic Bulletin Quick Links