Undergraduate Advisers: Douglas, Hodges, Kroll, Murphy, Wong, C.S.
Graduate Coordinator: B. Levine
Associate Professors—Kroll, Murphy
Assistant Professors—Hodges, Hsu, W., Wong, C.S.
Lecturers—Brandstatter, Johnston, Morse, Osborne, Rotem, Sheehan, Wernick
Adjunct Professors—Haines, Oklobdzija
Minor in Computer Science
M.S. in Computer Science
An Endowed Scholarship Fund, established in the memory of Jules H. Strauss, supports an annual award worth approximately $2,000 to a computer science major who shows scholarly accomplishment and demonstrates a financial need. The Chevron Corporation Achievement Award in Computer Science in the amount of $1,500 is given each semester to a junior or senior who has exhibited exceptional achievement.
Many university students want to acquire enough computer science background to enable them to use computers effectively in their major areas, or to provide an alternative source of income after graduation, but do not want to study computer science in the depth required for the B.S. degree. For such students, a minor consisting of the most central courses in the B.S. program, plus some electives, is ideal.
The primary goal of the M.S. program is to prepare students for employment as computer specialists in the computer manufacturing and software development industries or in industries which depend heavily on computer usage. Secondary goals are to prepare students to transfer to Ph.D. granting institutions and to provide computer science background for those wishing to prepare themselves for high school and junior college teaching.
Central Facilities:
Departmental Facilities:
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.
Students should plan their program of study in the major with the help of a departmental adviser in order that the correct sequence of courses be taken and a proper set of electives be chosen. It is also suggested that students consult with an adviser before selecting courses to meet General Education requirements.
Students are encouraged to participate in the Computer Science Cooperative Education Program at SFSU. Under this program, they may obtain industrial employment related to their academic studies. This combination of on-the-job training and academic experience can greatly enhance the value of an undergraduate degree in computer science.
Students are advised that except for the laboratory courses, CSC 212, CSC 216, and CSC 311, CR/NC grades are not acceptable in courses to be counted for the computer science major program.
Courses for this program are listed in alphabetical sequence (see Computer Science discipline in the "Announcement of Courses" section).
Units MATH 220-222 Calculus and Analytic Geometry I-III (3 each) 9 MATH 246 Introduction to Linear Algebra or MATH 325 Linear Algebra 3 MATH 250 Probability and Statistics with Computing 3 PHYS 220/222 General Physics with Calculus I 4 PHYS 230/232 General Physics with Calculus II 4
CSC 210 Introduction to Computer Programming 3 CSC 212 Software Development Tools with UNIX 2 CSC 301 Fundamentals of Computer Science 3 CSC 310 Assembly Language Programming and Introduction to Computer Organization 3 CSC 311 Assembly Language Programming Laboratory 2 ENGR 356 Basic Computer Architecture 3 CSC 330 Discrete Mathematical Structures for Computer Science 3 CSC 410 Data Structures 3
CSC 415 Principles of Operating Systems 3 CSC 510 Analysis of Algorithms I 3 CSC 600 Programming Language Design 3 Senior Presentation. Each major is required to make an oral presentation on an area of computer science during his/her senior year. Guidelines for the presentation are available in the department office 0 Electives (see requirements below) 12 Total for major 66
The courses listed below constitute a partial list of suitable courses. Each semester the department offers several courses under the title of CSC 690, Undergraduate Seminar, which meet elective requirements. In addition, many students find that by their senior year they are prepared to undertake certain graduate courses in computer science. Any course substitutions must be approved by the major adviser.
Subareas of Specialized Emphasis
Algorithms and Theory of Computing
CSC 520 Theory of Computing
CSC 610 Sorting and Searching
Architecture
ENGR 456 Computer Systems
CSC 656 Computer Organization
Artificial Intelligence
CSC 620 Natural Language Processing
CSC 665 Introduction to Artificial Intelligence
CSC 671 Neural Networks
Database
CSC 675 Introduction to Database Systems
Graphics
CSC 630 Computer Graphics Systems Design
Numerical and Symbolic Computing
MATH 400 Numerical Analysis I
Operating Systems and Distributed Processing
CSC 645 Computer Networks
Programming Languages
CSC 520 Theory of Computing
CSC 668 Object Oriented Programming
Software Engineering
CSC 668 Object Oriented Programming
CSC 640 Software Engineering
MINOR IN COMPUTER SCIENCE
Students are advised that except for the laboratory courses, CSC 212, CSC 216, and CSC 311, CR/NC grades are not acceptable in courses to be counted for the Computer Science Minor Program.
Units CSC 210 Introduction to Computer Programming 3 CSC 212 Software Development Tools with UNIX 2 CSC 301 Fundamentals of Computer Science 3 CSC 310 Assembly Language Programming and Introduction to Computer Organization 3 CSC 311 Assembly Language Programming Laboratory 2 CSC 410 Data Structures 3 ENGR 356 Basic Computer Architecture 3 One upper division computer related elective by approval of the minor adviser 3 Total for minor 22
Candidates who satisfy most but not all requirements for admission may sometimes be admitted on condition that they achieve the requisite grade point average in the courses mentioned above in the minimum possible time. (These courses, however, may not be counted toward the M.S. degree requirements.)
The Master of Science in Computer Science consists of core courses covering advanced topics in software, hardware, and computer science theory with additional elective courses covering the breadth of the discipline. There are two options for the culminating experience for the degree: a master's thesis or the master's comprehensive written examination.
A maximum of nine units of undergraduate courses (numbered below 700) may be applied to the graduate degree.
Courses for this discipline are listed in alphabetical sequence (see Computer Science discipline in the "Announcement of Courses" section).
Units CSC 720 Advanced Operating Systems 3 CSC 810 Analysis of Algorithms II 3 CSC 856 Advanced Computer Architecture 3 Upper division or graduate electives selected on advisement from the areas listed below 18 One of the following: 3 Three additional units of electives and Master's Comprehensive Written Examination or CSC 898 Master's Thesis and Oral Defense of Thesis Minimum total 30NOTE: Details of the Master's Comprehensive Written Examination or Master's Thesis requirement may be obtained at the Computer Science Department office.
Areas of Computer Science
Architecture
Artificial Intelligence
Database Systems
Graphics
Operating Systems
Programming Languages
Theory of Computation and Algorithms
Special Study or Research
last modified June 1, 1995