Course Descriptions

Image: Photos of SF State students and scenes from around campus

Computer Science Discipline Courses Details

Hide details

CSC 101 : Computers for Everyone

Prerequisites: None
Description: Comprehensive and basic overview of computers and their use for everyday tasks such as information retrieval, Internet, writing, presentations, communication, Web publishing, e-commerce, entertainment, computation. No prior knowledge required.
Units: 3
Latest Offering: Fall 2012

CSC 203 : JAVA Programming

Prerequisites: CSC 210 or consent of instructor.
Description: JAVA language and object oriented programming. Use of inheritance, polymorphism, exception handling and libraries; JAVA applets and GUI development using Swing.
Units: 3
Latest Offering: Spring 2010

CSC 206 : Python Programming

Prerequisites: CSC 210 or consent of instructor.
Description: Python language programming, with basic principles of interpretative languages. The use of basic Python constructs and standard libraries (e.g. networking, regular expressions, GUI). Simple apps such as WWW, games.
Units: 3
Latest Offering: Fall 2012

CSC 208 : C++ for Java Programmers

Prerequisites: Completed Java programming courses or consent of instructor. (May take CSC 313 concurrently.)
Description: Hands-on exercises in C++ programming. Emphasize features common to C++ and Java and features unique to C++. (CR/NC grading only.)
Units: 1

CSC 210 : Introduction to Computer Programming

Prerequisites: MATH 199 [formerly MATH 109] with grade of C or better; MATH 226 may be taken concurrently.
Description: Design, implementation, testing, debugging, maintenance, and documentation of programs. Algorithms, programming concepts, and data types. Concepts of object-oriented programming; numerical and non-numerical problems. Required of computer science majors and minors. Concurrent enrollment in CSC 211 recommended.
Units: 3
Latest Offering: Spring 2014

CSC 211 : Introduction to Software Lab

Prerequisites: None
Description: Hands on exercises in programming, and use of basic SW development tools. Covers procedural, object oriented, C++, and JAVA programming. Strongly recommended for CSC 210 students, and others needing hands on experience; concurrent enrollment in CSC 210 recommended. Students are encouraged to bring their own laptops. CR/NC grading only. May be repeated for 3 units for degree credit.
Units: 1
Latest Offering: Spring 2014

CSC 220 : Data Structures

Prerequisites: CSC 210 and MATH 226, each with grade of C or better; MATH 227 may be taken concurrently.
Description: Linear and non-linear data structures, including lists, stacks, queues, trees, tables and graphs. Recursion, iteration over collections, sorting, searching, Big O notation and hash table.
Units: 3
Latest Offering: Spring 2014

CSC 230 : Discrete Mathematical Structures for Computer Science

Prerequisites: CSC 210 and MATH 226, each with grade of C or better; MATH 227 may be taken concurrently.
Description: Review of set algebra, relations and functions; permutations; propositional logic; proof techniques; introduction to graph theory; infinite sets; applications to computer science.
Units: 3
Latest Offering: Spring 2014

CSC 256 : Machine Structures

Prerequisites: CSC 230 or CSC 330 with grade of C or better.
Description: Digital logic circuits; data representation; assembly language programming; subroutine linkage; machine language encoding; interrupt/exception handling; memory system concepts; CPU organization and performance.
Units: 3
Latest Offering: Spring 2014

CSC 300 GW : Ethics, Communication and Tools for Software Development - GWAR

Prerequisites: CSC 210; ENG 214 or equivalent with grade of C or better; computer science majors only.
Description: Privacy, security, legal and ethical issues in Software development. Communication relevant to SW development (reports, contracts, requirements, documentation, collaboration, e-mail, presentations). Study and use of basic tools for SW development and collaboration. (ABC/NC grading only.)
Units: 3
Latest Offering: Spring 2014

CSC 306 : Computing for Biologists

Prerequisites: Upper division standing or consent of instructor.
Description: Basics of using computers in the biological sciences. Covers networking, file systems, UNIX, basics of programming, Perl, Python.
Units: 3

CSC 307 : Web and Database for Biologists

Prerequisites: Upper division standing or consent of instructor.
Description: Basics of computer and WWW engineering relevant to studies of biological sciences; basics of developing web and database applications. HTML, XML, CGI, database queries, MySQL database.
Units: 3
Latest Offering: Fall 2009

CSC 309 : Computer Programming for Scientists and Engineers

Prerequisites: MATH 226 or consent of instructor.
Description: Procedural programming in C for scientific applications. Good programming practices and basic numerical and nonnumerical algorithms for scientists and engineers.
Units: 3
Latest Offering: Spring 2014

CSC 340 : Programming Methodology

Prerequisites: CSC 220, CSC 230, and MATH 227, each with grade of C or better.
Description: Advanced data structures and algorithms for manipulation in C++; emphasis on design and implementation; practical applications; algorithms for sorting, searching, and graphs.
Units: 3
Latest Offering: Spring 2014

CSC 412 : Advanced Software Lab

Prerequisites: CSC 220; concurrent enrollment in CSC 415 recommended.
Description: Hands on exercises in advanced programming, software development tools and web technologies. Students are encouraged to bring their own laptops. May be repeated for 2 units.
Units: 1
Latest Offering: Spring 2014

CSC 413 : Software Development

Prerequisites: CSC 313 or CSC 340, with grade of C or better.
Description: Modern software applications. Object-oriented techniques: encapsulation, inheritance, and poly-morphism as mechanism for data design and problem solution. Software design, debugging, testing, and UI design. Software maintenance. Software development tools. Extra fee required. Plus-minus letter grade only.
Units: 3
Latest Offering: Spring 2014

CSC 415 : Operating System Principles

Prerequisites: MATH 324, PHYS 230, CSC 310 or CSC 256, and CSC 313 or CSC 340, with grades of C or better.
Description: Operating system concepts: concurrent processes, basic synchronization techniques, deadlock, memory management, file systems, security, networks, distributed processing. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 510 : Analysis of Algorithms I

Prerequisites: CSC 313 or CSC 340, and MATH 324, with grades of C or better.
Description: Notions of main algorithm design method. Measures of algorithm complexity in space and time. Algorithms of classic problems: sorting and scheduling and complexity analysis of such algorithms.
Units: 3
Latest Offering: Spring 2014

CSC 520 : Theory of Computing

Prerequisites: CSC 213 or CSC 220, CSC 230 or CSC 330, and MATH 325 with grades of C or better.
Description: Automata, formal languages, and the notion of computability. Sequential machines as language acceptors. Context free and context sensitive grammars. Recursive functions, universal turing machines. Unsolvable problems.
Units: 3
Latest Offering: Spring 2014

CSC 600 : Programming Language Design

Prerequisites: CSC 413 with a grade of C or better.
Description: Design concepts for high-level programming languages. Comparative study of several languages and an introduction to grammars and parsing techniques. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 615 : UNIX Programming

Prerequisites: CSC 415 with grade of C or better, or consent of instructor.
Description: Programming in a UNIX environment. Topics include regular expressions; utilities such as awk, sed, grep, csh, sh, ksh; system calls such as signals, sockets, POSIX IPC, and POSIX threads; kernel internal structures. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2013

CSC 620 : Natural Language Technologies

Prerequisites: CSC 413 with grade of C or better.
Description: Natural language parsing technology and grammars. Elements of computational semantics, discourse structure and generation. Survey of related topics such as information retrieval, question-answering, machine translation, speech processing. Paired with CSC 820. Students who have completed CSC 620 may not take CSC 820 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3

CSC 621 : Biomedical Imaging & Analysis

Prerequisites: Grade of C or better in CSC 510 and Math 325.
Description: Introduction to medical and biological imaging, imaging physics, 3D, image formats, visualization. Basic digital image processing and analysis, filtering, registration, segmentation, quantification, performance evaluation. (Paired with CSC 821. Students who have completed CSC 821 may not take CSC 621 for credit.) (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2013

CSC 630 : Computer Graphics Systems Design

Prerequisites: CSC 313 or CSC 340 and MATH 325 with grades of C or better.
Description: Graphics system design and display hardware architecture. Overview of device-independent graphic systems, 2 & 3 dimentional viewing pipelines, hidden line and surface removal algorithms, raster graphics techniques, and color space models. Web page design and Flash exercises for introduction to animation and multimedia. Course fee required. (Plus-minus letter grade only.)
Units: 3

CSC 631 : Multiplayer Game Develop

Prerequisites: CSC 413 or consent of instructor.
Description: Computer graphics and network characteristics of multiplayer games. Design and development of a game as a team project. Paired with CSC 831. Students who have completed 831 may not take 631 for credit.
Units: 3
Latest Offering: Spring 2014

CSC 637 : Software Techniques for Computer Music

Prerequisites: CSC 413 with grade of C or better, or consent of instructor.
Description: Algorithms and software design for digital audio and computer music. Analysis and synthesis techniques. Real-time control and interaction. (Paired with CSC 737. Students who have completed CSC 737 may not take CSC 637 for credit.) Extra fee required.
Units: 3

CSC 640 : Software Engineering

Prerequisites: CSC 413 with grade of C or better, or consent of instructor.
Description: Practical methods and tools for SW engineering, including organizational teamwork. Paired with CSC 848. Students who have completed CSC 848 may not take CSC 640 for credit. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 641 : Computer Performance Evaluation

Prerequisites: CSC 415 or consent of instructor.
Description: Computer performance analysis problems related to system design, selection, and tuning. Modeling using stochastic and operational queuing models. Workload characterization, design, and performance measurement methods. Design of simulation models for computer systems. Paired with CSC 841. Students who have completed CSC 641 may not take CSC 841 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2013

CSC 642 : Human-Computer Interaction

Prerequisites: CSC 413 with grade of C or better or consent of instructor.
Description: The design, implementation, and evaluation of human/computer interfaces. Topics include interface devices, interface metaphors, interaction styles, User Centered Design, testing, and quality assessment. Extra fee required.
Units: 3

CSC 644 : Computer Measurements

Prerequisites: CSC 413, CSC 415.
Description: Software measurement and experimentation tools. Data collection and analysis. Web measurements. Benchmarking and design of benchmarks. Use of software monitors. Extra fee required. (Plus-minus letter grade only.)
Units: 3

CSC 645 : Computer Networks

Prerequisites: CSC 415 with grade of C or better.
Description: Computer network design, evaluation, and testing. Computer network standards and implementation. Hardware/software design and compatibility issues. Paired with CSC 745. Students who have completed CSC 645 may not take CSC 745 later for credit. Extra fee required.
Units: 3

CSC 650 : Secure Networked Systems

Prerequisites: CSC 415 with grade of C or better, or consent of instructor.
Description: Analysis, planning, construction, and operation of secure networked computing systems: security for environments within Internet, encryption, assets, risk, authentication, trust, controls, defense, routers, firewalls, law, ethics. Extra fee required.
Units: 3

CSC 651 : System Administration

Prerequisites: CSC 413 and CSC 415 with grades of C or better.
Description: User administration. Operating system installation, tuning, and control. Network administration. Security management. Performance tuning and management. Extra fee required. (ABC/NC grading only)
Units: 3

CSC 656 : Computer Organization

Prerequisites: CSC 415 (may be taken concurrently) or consent of instructor.
Description: Instruction set design. Pipelined datapath and control. Cache and memory system design. Input/output subsystems. Parallel processing. Software/hardware interactions. Extra fee required.
Units: 3
Latest Offering: Spring 2012

CSC 658 : Programming Cafe

Prerequisites: CSC 413 with grade C or better or consent of instructor.
Description: Extensive programming practice to advance programming skills and processes; pair programming exercises; code review techniques and practice.
Units: 3
Latest Offering: Fall 2009

CSC 664 : Multimedia Systems

Prerequisites: CSC 413 with a grade of C or better.
Description: Comprehensive topics in multimedia such as basics of image and video processing, compression, multimedia databases, standard, synchronization, formats in perspective of systems and algorithms. Paired with CSC 864. Students who have completed CSC 664 may not take CSC 864 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2009

CSC 665 : Artificial Intelligence

Prerequisites: CSC 413 with grade of C or better.
Description: Computational methods for studying intelligence. Automated problem solving, heuristic search, planning, inference, natural language processing, and machine learning. Paired with CSC 865. Students who have completed CSC 665 may not take CSC 865 later for credit. Extra fee required.
Units: 3

CSC 667 : Internet Application Design and Development

Prerequisites: CSC 413 with grade of C or better or consent of instructor.
Description: Fundamental technologies on which WWW is based. Paired with CSC 867. Students who have completed 867 may not take 667 for credit. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 668 : Advanced Object Oriented Software Design and Development

Prerequisites: CSC 413 with grade of C or better; senior or graduate standing; or consent of instructor.
Description: Object oriented analysis and design utilizing UML, design patterns, frameworks and toolkits; Agile software design processes. Development of a mid-size programming project working in teams. Paired with CSC 868. Students who have completed CSC 668 may not take CSC 868 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2014

CSC 671 : Neural Networks

Prerequisites: CSC 510 with grade of C or better.
Description: Artificial neural networks: associative memories, learning, search, databases, fuzzy set techniques, pattern recognition, and adaptive processing. Paired with CSC 871. Students who have completed CSC 671 may not take CSC 871 later for credit. Extra fee required.
Units: 3

CSC 675 : Introduction to Database Systems

Prerequisites: CSC 413 with grade of C or better.
Description: Relational query languages. Semantic data models. Logical and physical database design. Privacy issues. Implementation techniques (catalogs, query optimization, concurrency control, security and integrity enforcement). Paired with CSC 775. Students who have completed CSC 775 may not take CSC 675 for credit. Extra fee required.
Units: 3
Latest Offering: Fall 2013

CSC 690 : Interactive Multimedia Application Development

Prerequisites: CSC 340 with grade of C or better; or consent of instructor.
Description: Basics of multimedia data formats and algorithms to build applications using non-standard interfaces such as game controllers and multi-touch surfaces. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2012

CSC 693 : Cooperative Education Program

Prerequisites: A U 293 or consent of instructor.
Description: Units do not count toward the major. May be repeated for a total of 24 units. Contact the Cooperative Education office for information. CR/NC grading only.
Units: 6-12

CSC 694 : Cooperative Education: Computer Science

Prerequisites: Consent of instructor.
Description: Projects undertaken in a business, government, or industrial position of at least one semester's duration. CR/NC grading only.
Units: 1-3

CSC 695 : Computing in the Community

Prerequisites: Junior or senior standing, computer experience, and consent of instructor.
Description: Extensive fieldwork training Bay Area non-profit agencies in the use of computer tools such as conferencing and database systems. Development of user documentation. CR/NC grading only.
Units: 2
Latest Offering: Spring 2014

CSC 697 : Senior Project in Computer Science

Prerequisites: CSC 415 and 510, or CSC 640, or consent of instructor.
Description: Culminating experience in individual design, implementation, and professional documentation of a software product under close supervision of a faculty member.
Units: 3
Latest Offering: Fall 2013

CSC 699 : Independent Study

Prerequisites: Departmental permission and consent of instructor.
Description: An approved study proposal must be on file by the time of registration. Library and laboratory research projects. Final report must be approved by the instructor and filed with the department.
Units: 1-3

CSC 720 : Advanced Operating Systems

Prerequisites: Satisfaction of Written English Proficiency Level I or concurrent enrollment in SCI 614; CSC 415 with a grade of B or better, or consent of instructor.
Description: Analysis of scheduling and memory management algorithms, use of concurrent languages for systems development and distributed systems. Design and implementation of major components of an operating system. Extra fee required.
Units: 3
Latest Offering: Fall 2013

CSC 730 : Advanced Database Systems

Prerequisites: CSC 413 and CSC 675 with grades of C or better.
Description: Standard SQL, query optimization, concurrency control, crash recovery, authorization and integrity enforcement; object-oriented, extensible, deductive, and/or distributed database systems. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 745 : Computer Networks

Prerequisites: CSC 415 with grade of C or better.
Description: For course description, see CSC 645. Paired with CSC 645. Students who have completed CSC 745 may not take CSC 645 for credit. Extra fee required.
Units: 3

CSC 746 : High-Performance Computing

Prerequisites: CSC 656 with grade of B or better; or consent of instructor.
Description: Principles and current practices in High-performance Computing. Basics of multiprocessor systems such as clusters and graphics processors. Message-passing and shared memory-based software development. Cloud computing.
Units: 3
Latest Offering: Spring 2014

CSC 775 : Introduction to Database Systems

Prerequisites: CSC 413 with grade of C or better.
Description: For course description, see CSC 675. Paired with CSC 675. Students who have completed CSC 775 may not take CSC 675 for credit. Extra fee required.
Units: 3
Latest Offering: Fall 2013

CSC 780 : Application Development for Mobile Devices

Prerequisites: CSC 415 with grade of B or better or consent of instructor.
Description: Introduction to and comparison of different popular mobile application frameworks; conceptual and hands-on experience in writing mobile applications using native and cross-platform tools. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2014

CSC 810 : Analysis of Algorithms II

Prerequisites: Passing score on GET or concurrent enrollment in SCI 614; CSC 510 with grade of B or better.
Description: Review major design strategies. Theory of NP Completeness. Approximation algorithms. On line algorithms. Parallel and distributed algorithms. Algorithms for specific areas of interest. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 820 : Natural Language Technologies

Prerequisites: CSC 413 with grade of C or better or consent of instructor.
Description: For course description, see CSC 620. Requires additional meetings and work. Paired with CSC 620. Students who completed CSC 820 may not take CSC 620 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3

CSC 821 : Biomedical Imaging & Analysis

Prerequisites: graduate standing; grade of C or better in CSC 510 and Math 325, or consent of instructor.
Description: Paired with CSC 621. Students who have completed CSC 621 may not take CSC 821 for credit. See CSC 621 for course description. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2013

CSC 825 : Advanced Automata Theory

Prerequisites: CSC 520 or equivalent.
Description: Advanced topics in theoretical computer science and their application to a broad range of areas including bioinformatics, compilers, data and image compression, natural language processing, networking and Web applications. Extra fee required. (Plus-minus letter grade only.)
Units: 3

CSC 830 : Advanced Computer Graphics

Prerequisites: CSC 630 or consent of instructor.
Description: Roster graphics principles and scanning algorithms, pixel fill algorithms, anti-aliasing, clipping, hidden line, and surface display, rendering of surfaces and fractal techniques. Extra fee required.
Units: 3

CSC 831 : Multiplayer Game Development

Prerequisites: CSC 413 or consent of instructor.
Description: For description, see CSC 631. Paired with CSC 631. Students who have completed 631 may not take 831 for credit.
Units: 3
Latest Offering: Spring 2014

CSC 835 : Distributed Systems

Prerequisites: B or better in CSC 415 or consent of instructor.
Description: Introduction to the concepts and design of distributed systems. Includes term project in using current middleware technologies. Extra fee required.
Units: 3
Latest Offering: Fall 2010

CSC 837 : Advanced Sound Synthesis

Prerequisites: CSC 635 or 637 with grade of B or better, or consent of instructor.
Description: Current algorithms and practices in sound synthesis and timbral control for music, sound effects, and interactive environments. Design of real-time software synthesis systems. Extra fee required.
Units: 3

CSC 840 : Software Metrics and Quality Assurance

Prerequisites: CSC 640 or consent of instructor.
Description: Measurement and modeling in software engineering. Software performance evaluation methods. Techniques and tools for software quality assurance. Software quality standards. Design and use of software metrics tools. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2014

CSC 841 : Computer Performance Evaluation

Prerequisites: CSC 415 or consent of instructor.
Description: For course description, see CSC 641. Paired with CSC 641. Students who have completed CSC 841 may not take CSC 641 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2013

CSC 842 : Advanced Human-Computer Interaction

Prerequisites: Classified standing in graduate program.
Description: Design, implementation, evaluation of human/computer interfaces. Topics include those covered in CSC 642; however, emphasis is placed on HCI with respect to culminating experience work. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2010

CSC 845 : Advanced Computer Networks

Prerequisites: CSC 645 and 720, or consent of instructor. MATH 250 strongly recommended.
Description: Current design and implementation techniques for development and analysis of high performance network protocols. Strategies appropriate for Internet use (i.e., TCP/IP based). Extra fee required.
Units: 3
Latest Offering: Spring 2010

CSC 846 : Systems Architecture

Prerequisites: CSC 656 with grade of B or better or consent of instructor.
Description: Principles of computer systems architecture with emphasis on hardware/software interactions for large applications and design for performance. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2011

CSC 848 : Software Engineering

Prerequisites: CSC 413 with grade of C or better; or consent of instructor.
Description: Paired with CSC 640. For course description, see CSC 640. Students who have completed CSC 640 may not take CSC 848 for credit. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 849 : Information Retrieval

Prerequisites: CSC 848 or consent of instructor.
Description: Software engineering methods and tools for representation, storage, organization of, and access to information items. Retrieval modeling and evaluation. Query languages. Searching Web and digital libraries. Extra fee required. (Plus-minus letter grade only.)
Units: 3

CSC 850 : Compiler Design

Prerequisites: B or better in CSC 413 and consent of instructor.
Description: Design and implementation of compilers including lexical scanners, top down and bottom up parsers, precedence grammars, symbol table manipulation, LR (k) grammars, semantics routines, and code generators. Extra fee required.
Units: 3

CSC 856 : Advanced Computer Architecture

Prerequisites: satisfaction of Written English Proficiency Level I or concurrent enrollment in SCI 614; CSC 656 with a grade of B or better or consent of instructor.
Description: Advanced pipelining. Instruction level parallelism. Advanced memory system design. Compiler techniques for performance. New technologies/applications. Extra fee required.
Units: 3

CSC 857 : Bioinformatics Computing

Prerequisites: Graduate standing in science program, CSC 858, or consent of instructor.
Description: Broad range of topics in computational biology as practiced in the life science industry and leading research organizations. Provides computational background required to participate in R&D. Extra fee required.
Units: 3
Latest Offering: Fall 2013

CSC 858 : Foundations of Biotechnology and Life Sciences

Prerequisites: Graduate standing in science program in the College of Science and Engineering.
Description: Covers foundations in biotechnology and life sciences. Prepare for further study and careers in biotechnology and computational life sciences R&D and industry. Students do not need background in life sciences or biology.
Units: 3
Latest Offering: Fall 2012

CSC 864 : Multimedia Systems

Prerequisites: CSC 413 with a grade of C or better.
Description: For course description, see CSC 664. Paired with CSC 664. Students who have completed CSC 664 may not take 864 for credit. Extra fee required. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2009

CSC 867 : Advanced Internet Application Design and Development

Prerequisites: CSC 413 with a grade of C or better or consent of instructor.
Description: For course description, see CSC 667. Paired with CSC 667. Students who have completed 667 may not take CSC 867 for credit.
Units: 3
Latest Offering: Spring 2014

CSC 868 : Advanced Object Oriented Software Design and Development

Prerequisites: CSC 413 or consent of instructor.
Description: For course description, see CSC 668. Paired with CSC 668. Students who have completed CSC 668 may not take CSC 868 for credit. Extra fee required.
Units: 3
Latest Offering: Spring 2014

CSC 869 : Data Mining

Prerequisites: Grade of C or better in CSC 510, CSC 675, or consent of instructor.
Description: Knowledge discovery process; basic data mining concepts; key mining algorithms, data mining in practical domains such as bioinformatics. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2014

CSC 870 : Computational Discrete Geometry

Prerequisites: CSC 210, CSC 330, MATH 325, or consent of instructor.
Description: Cross listed with MATH 870. For course description, see MATH 870. (May not be repeated under alternate prefix.) Extra fee required.
Units: 3

CSC 871 : Neural Networks

Prerequisites: CSC 410 with grade of C or better.
Description: For course description, see CSC 671. Paired with CSC 671. Students who have completed CSC 671 may not take CSC 871 for credit. Extra fee required.
Units: 3

CSC 872 : Pattern Analysis and Machine Intelligence

Prerequisites: CSC 510 and CSC 520 with grades of C or better or consent of instructor.
Description: Foundation of pattern analysis and machine intelligence. Artificial intelligence: agent, logic, search. Machine learning: Bayesian classification. Neural network: simulated annealing. Imaging: image segmentation, object recognition. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2012

CSC 875 : Advanced Topics in Database Systems

Prerequisites: CSC 675 with grade of C or better.
Description: Advanced aspects of selected topics in database systems. Topics depend on availability of staff and facilities. May be repeated for a total of 6 units when topics vary.
Units: 3
Latest Offering: Fall 2013

CSC 890 : Graduate Seminar

Prerequisites: Consent of graduate adviser. Topic to be specified in Class Schedule.
Description: May be repeated when topics vary. The 1 unit version is offered each semester as a graduate research seminar that students must complete prior to CSC 895/CSC 898. (Plus-minus letter grade only.)
Units: 1-3

CSC 890 : Cloud and Distributed Computing

Prerequisites: Graduate standing; CSC 415 with grade of C or better; or consent of instructor.
Description: Introduction to important concepts including public/private/community cloud, infrastructure as a service, platform as a service, and software as a service; introduction to virtualization at the level of server, network, storage and operating system. Hands-on experience with public clouds and open source platforms for cloud computing. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Fall 2013

CSC 890 : Selected Topics in Computing for Life Science

Prerequisites: Consent of instructor.
Description: Basics of biology and genetics for computer science; techniques, tools, and applications of computer science for life sciences; student presentations. (Plus-minus letter grade only.)
Units: 3
Latest Offering: Spring 2014

CSC 893 : Supervised Industrial Research

Prerequisites: Consent of instructor.
Description: Supervised computer science employment in software research and development area. Objectives are career development and occupational experience. May be repeated for a total of 3 units. Subsequently, may be repeated on CR/NC basis. Must be approved by graduate adviser.
Units: 1
Latest Offering: Spring 2014

CSC 895 : Applied Research Project

Prerequisites: Consent of instructor and approval of Advancement to Candidacy (ATC) for the MS in CS and Culminating Experience (CE) forms by Graduate Studies.
Description: Advancement to candidacy and Proposal for Culminating Experience Requirement forms must be approved by the Graduate Division before registration. (CR/NC grading only.)
Units: 3
Latest Offering: Spring 2014

CSC 897 : Research

Prerequisites: consent of Computer Science Department.
Description: Independent and original investigation under supervision of a faculty member. May be repeated for a total of six units.
Units: 3-6

CSC 898 : Master's Thesis

Prerequisites: Consent of instructor and graduate adviser and approval of Advancement to Candidacy (ATC) for the Master of Science in Computer Scienceand Culminating Experience (CE) forms by Graduate Studies.
Description: Advancement to Candidacy (ATC) and Proposal for Culminating Experience Requirement forms must be approved by the Graduate Division before registration. (CR/NC grading only.)
Units: 3
Latest Offering: Spring 2014

CSC 899 : Independent Study

Prerequisites: Approval of department and instructor.
Description: Special study of a particular problem under the direction of a faculty member. The student must present a written, detailed report of the work accomplished to the staff of the department.
Units: 1-3
SF State Home